Network Controller
Guides Self-Hosting Network Controller On this page info Network Controller Reference Documentation Tutorial First, skim the README. We're going to use curl to set up an example ZeroTier network. An easy way to get curl in Windows is to install the latest version of Git, whichPopularRoute between ZeroTier and Physical Networks
Guides Advanced Networking Route between ZeroTier and Physical Networks On this page This seems to be the simplest pattern for getting remote access to your LAN. It doesn't require access to the LAN's router or have some of the pitfalls of bridging. This requires a Linux PC or VM, something that runs iptables, on your LAN. A Raspberry Pi works. This is a NAT/Masquerade setup. If you have a router that can run zerotier, you should use that instead of this articSome readersVPN Exit Node
Guides VPN Exit Node On this page Full Tunnel Mode or, Overriding Default Route Route all your Internet traffic through a ZeroTier node. In this tutorial Create a ZeroTier Network Set up an exit node that handles all your internet traffic Join the exit node and a personal node to your ZeroTier networkSome readersLayer 2 Bridge
Guides Advanced Networking Layer 2 Bridge On this page Do you have devices that can't run ZeroTier that you want to access remotely? You can use a small Linux PC as a bridge between ZeroTier and physical networks. Note This topic is related to but different from using ZeroTier as a Layer 5 Service Proxy. Assumptions You're doing this on your home network and can log in to your router and find tFew readersDNS
Guides DNS On this page BETA The configuration described below uses a beta release of our dedicated DNS service, ZeroNSD. You are not required to use ZeroNSD to provide DNS resolution for devices on your ZeroTier networks; any DNS server can be provided with the assigned IPs and names of your networks' members using the Central API. Conceptual Prerequisites (conceptual-prerequisites "Direct link to ConcFew readersIntegrating with Physical Networks
Guides Advanced Networking Integrating with Physical Networks On this page ZeroTier creates networks interfaces, IP addresses, and routes on your computers. Because of this, you can use all the standard networking tools and techniques with your ZeroTier networks. There are 2 main ways to connect your ZeroTier networks to your Physical networks: Routing and Bridging. Yes, they are technically different things. Bridging has its downsides, including that it's triFew readersPrivate Root Servers
Guides Self-Hosting Private Root Servers On this page Creating Your Own Roots (a.k.a. Moons) All ZeroTier nodes on a planet effectively inhabit a single data center. This makes it easy to directly connect devices anywhere, but it has the disadvantage of not working without an Internet connection. Network connections are far from perfectly reliable, aFew readersNetwork Microsegmentation
Guides Advanced Networking Network Microsegmentation On this page Create a network for each role Devices can join multiple networks at once. Networks are free on my.zerotier.com. Each network can have its own Network Flow Rules. "Network A allows only RDP traffic." for example. Pros Easy Automatic authorizationFew readersTerraform
Guides Cloud Deployments Terraform On this page Advanced For the multi-cloud edition of this guide, click here Welcome Managing large numbers of settings in a webUI can be a total bummer. It'd be much nicer if we could describe our ZeroTier networks and membership settings as code. That would let us keep them in version control, and integrate them into our software delivery pipelines. Now weFew readersMultipath
Guides Advanced Networking Multipath On this page Multipath allows the simultaneous (or conditional) aggregation of multiple physical links into a bond for increased total throughput, load balancing, redundancy, and fault tolerance. There is a set of standard bonding policies available that can be used right out of the box with no configuration. These policies are inspired by the policies offered by the Linux kernel (https://www.kernel.org/doc/Documentation/Few readersDocker
Guides Docker Simple example using an interactive shell. ZeroTier One makes ZeroTier virtual networks available as 'tap' virtual network ports. To do this inside a Docker container requires a few elevated permissions and access to the /dev/net/tun device. Fortunately this is easy: docker run -it --rm --cap-add=NETADMIN --cap-add=SYSADMIN --device=/dev/net/tun centos:7 ... command ... Where ... command ... is an optional command, in the examplFew readersLayer 5 Proxy (Pylon)
Guides Advanced Networking Layer 5 Proxy (Pylon) zerotier/pylon is a tool built using libzt that allows you to run a SOCKS5 Proxy that connects services and apps to and from your secure ZeroTier network without installing ZeroTier and without bringing up any new network interfaces. Pylon can be run as one of two personalities that can work alone or together depending on your needs: In a nFew readers📄️ Network Controller📄️ Private Root Servers
📄️ Network Controller Host your own network controllers (/controller)Few readerscode-server + ZeroTier
Guides Advanced Networking code-server + ZeroTier On this page What code-server allows you to run an instance of VSCode in the browser and edit code on remote machines. Combining this with ZeroTier lets you do this securely across your virtual network. See their project page: github.com/coder/code-server (htFew readersNAT
Guides Advanced Networking NAT On this page How to characterize NAT When debugging it is often nice to be able to gather information about NAT type and behavior. ZeroTier does not use STUN (for various reasons), but many STUN implementations contain some helpful code for doing this. It's helpful to use an external utility since it's "out of band" and therefore independent of ZeroTier.Few readers📄️ Docker📄️ DNS📄️ VPN Exit Node🗃️ Cloud Deployments🗃️ Advanced Networking🗃️ Self-Hosting
📄️ Docker Running ZeroTier in a Docker Container (/docker)Few readerscloud-init
Guides Cloud Deployments cloud-init On this page Set up ZeroTier using cloud-init What is cloud-init? cloud-init is a convenient and cross-platform way to initialize cloud instances. It is supported by all major cloud providers. You can use it to configure OS settings, install packages, or even start up specific instancesFew readers