ZeroTier
ZeroTier Inc. is a software company with a freemium business model based in Irvine, California. ZeroTier provides open-source software, SDKs[1] and commercial products and services to create and manage virtual software defined networks. The company's flagship end-user product ZeroTier One[2] is a client application that enables devices such as PCs, phones, servers and embedded devices to securely connect to peer-to-peer virtual networks.[3][4][5]
Developer(s) | ZeroTier Inc. |
---|---|
Stable release | 1.4.2[6]
/ August 12, 2019 |
Operating system | Microsoft Windows, macOS, Linux, Linux on ARM |
Type | SD-WAN, P2P, VPN |
License | Business Source License (Free for personal use. Enterprise pricing available); formerly GPLv3 |
Website | https://www.zerotier.com |
Private | |
Industry |
|
Founded | 2011 |
Founder | Adam Ierymenko |
Headquarters | , United States |
Area served | Worldwide |
Key people | Adam Ierymenko (CEO) |
Products |
|
Website | zerotier |
Open-source tools
ZeroTier provides a suite of open-source tools licensed under BSL intended to support development and deployment of virtual data centers:
The main product line consists of these following tools:
- ZeroTier One, first released in 2014[7], a portable client application that provides connectivity to public or private virtual networks.
- Central, a web-based UI portal for managing virtual networks.
- libzt (SDK), a linkable library that provides the functionality of ZeroTier One but that can be embedded in applications or services.
- LF (pronounced "aleph"), a fully decentralized fully replicated key/value store.
Client operation
ZeroTier One client is used to connect to virtual networks previously created in ZeroTier Central web-based UI. Endpoint connections are peer-to-peer and end-to-end encrypted. STUN and hole punching are used to establish direct connections between peers behind NAT. Direct connection route discovery is made with the help of a global network of root servers via a mechanism similar to ICE in WebRTC.
Virtual networks are managed via API or centralized proprietary web-based UI (ZeroTier Central), although open-source web-based[8][9] and CLI[10] alternatives exist. By default, root servers hosted by ZeroTier Inc. are used, but being open-source, can be also self-hosted.
Security
The following considerations apply to ZeroTier's use as an SDWAN or VPN application:
- Asymmetric public key encryption is Curve25519, a 256-bit elliptic curve variant.
- Every VL1 packet is encrypted end to end using (as of the current version) 256-bit Salsa20 and authenticated using the Poly1305 message authentication (MAC) algorithm. MAC is computed after encryption (encrypt-then-MAC) and the cipher/MAC composition used is identical to the NaCl reference implementation.[11]
Packages
ZeroTier One is available on multiple platforms and in multiple forms:
- Microsoft Windows installer (.msi)
- Apple Macintosh (.pkg)
- iOS for iPhone/iPad/iPod
- Docker[12]
- Source code on GitHub[2]
- Linux binaries (DEB & RPM)
- Linux library
- Android App on Google Play[13]
- Qnap (.qpkg)
- Synology packages (.spk)
- Western Digital MyCloud NAS EX2, EX4, EX2 Ultra (.bin)
- FreeBSD has a port and a package
- OpenWRT has a community maintained port on GitHub
Similar projects
References
- Source code repositories
- ZeroTier One
- ""ZeroTier" that allows you to connect Windows, Mac, Linux, Android, iOS with VPN without difficult setting". GIGAZINE.net.
- "Peer-to-peer-based VPN alternatives". Linux-Magazine.com.
- Goethals, Tom; Kerkhove, Dwight; Volckaert, Bruno; De Turck, Filip (October 21–25, 2019). Scalability evaluation of VPN technologies for secure container networking (PDF). 15th International Conference on Network and Service Management, CNSM 2019. Halifax, Canada.
- "ZeroTier One 1.4.2 Release Notes"
- https://github.com/zerotier/ZeroTierOne/releases/tag/0.9.2
- zt-panel — ZeroTier controller panel built with vue.js
- ZeroTier controller GUI
- ZeroTier Network Controller in Python
- ZeroTier Manual: Cryptography
- ZeroTier Docker container page
- ZeroTier One Google Play Store page