As of interim release version 1.0.2, ZeroTier One now experimentally supports FreeBSD!
There are no binary releases for FreeBSD yet, and this support has only been tested on FreeBSD 10 for Intel 64-bit. Earlier versions might work but this isn’t guaranteed.
To try it out, clone the GitHub repository and then type “gmake” to compile. Be sure to use “gmake” and not “make” as the Makefile contains rules and conditionals in the GNU style and won’t work with BSD’s stock make.
Once you’ve built, you can run the service with “sudo ./zerotier-one -d” and then use “sudo ./zerotier-cli” to control it with the command line.
Overall the FreeBSD port wasn’t too hard. Since FreeBSD supports interface renaming, the interfaces are given deterministic names based on the base32-encoded ZeroTier One network ID (zt######…). Didn’t use the standard hex representation since it resulted in device names that exceed what seems to be the name length limit. The important thing is to have interface names that stay constant for a given virtual network so they don’t change out from under firewall rules.
Have fun, and if you encounter problems you can report them by entering GitHub issues or using the support forum at the main site. Once this has been out there for a bit, there will be officially supported and auto-updating binaries available. It’ll probably happen by 1.0.3 or 1.0.4.
Next up is further fixes to Windows, and then Android and iOS. Officially supported Docker integration is also planned, though there is a user-contributed Docker repository that works and is being used in the wild.
The ZeroTier mission is to connect all the things, so other platforms like Windows Phone, OpenBSD, NetBSD, Solaris, and embedded OSes are by no means out of the question.