# Overlay Networks This guide provides detailed instructions for configuring [ZeroTier VPN](https://zerotier.com) within Clan. Follow the outlined steps to set up a machine as a VPN controller (``) and to include a new machine into the VPN. ## 1. Setting Up the VPN Controller The VPN controller is initially essential for providing configuration to new peers. Once addresses are allocated, the controller's continuous operation is not essential. ### Instructions: 1. **Designate a Machine**: Label a machine as the VPN controller in the clan, referred to as `` henceforth in this guide. 1. **Add Configuration**: Input the following configuration to the NixOS configuration of the controller machine: ```nix clan.networking.zerotier.controller = { enable = true; public = true; }; ``` 1. **Update the Controller Machine**: Execute the following: ```bash $ clan machines update ``` Your machine is now operational as the VPN controller. ## 2. Integrating a New Machine to the VPN To introduce a new machine to the VPN, adhere to the following steps: ### Instructions: 1. **Update Configuration**: On the new machine, incorporate the following to its configuration, substituting `` with the controller machine name: ```nix { config, ... }: { clan.networking.zerotier.networkId = builtins.readFile (config.clanCore.clanDir + "/machines//facts/zerotier-network-id"); } ``` 1. **Update the New Machine**: Execute: ```bash $ clan machines update ``` Replace `` with the designated new machine name. 1. **Retrieve the ZeroTier ID**: On the `new_machine`, execute: ```bash $ sudo zerotier-cli info ``` Example Output: ```{.console, .no-copy} 200 info d2c71971db 1.12.1 OFFLINE ``` , where `d2c71971db` is the ZeroTier ID. 1. **Authorize the New Machine on the Controller**: On the controller machine, execute: ```bash $ sudo zerotier-members allow ``` Substitute `` with the ZeroTier ID obtained previously. 1. **Verify Connection**: On the `new_machine`, re-execute: ```bash $ sudo zerotier-cli info ``` The status should now be "ONLINE": ```{.console, .no-copy} 200 info d2c71971db 1.12.1 ONLINE ``` !!! success "Congratulations!" The new machine is now part of the VPN, and the ZeroTier configuration on NixOS within the Clan project is complete.