documentation: improve networking section
This commit is contained in:
@@ -8,14 +8,13 @@ include a new machine into the VPN.
|
|||||||
## 1. Setting Up the VPN Controller
|
## 1. Setting Up the VPN Controller
|
||||||
|
|
||||||
The VPN controller is initially essential for providing configuration to new
|
The VPN controller is initially essential for providing configuration to new
|
||||||
peers. Post the address allocation, the controller's continuous operation is not
|
peers. Once addresses are allocated, the controller's continuous operation is not essential.
|
||||||
crucial.
|
|
||||||
|
|
||||||
### Instructions:
|
### Instructions:
|
||||||
|
|
||||||
1. **Designate a Machine**: Label a machine as the VPN controller in the clan,
|
1. **Designate a Machine**: Label a machine as the VPN controller in the clan,
|
||||||
referred to as `<CONTROLLER>` henceforth in this guide.
|
referred to as `<CONTROLLER>` henceforth in this guide.
|
||||||
2. **Add Configuration**: Input the below configuration to the NixOS
|
1. **Add Configuration**: Input the following configuration to the NixOS
|
||||||
configuration of the controller machine:
|
configuration of the controller machine:
|
||||||
```nix
|
```nix
|
||||||
clan.networking.zerotier.controller = {
|
clan.networking.zerotier.controller = {
|
||||||
@@ -23,7 +22,7 @@ crucial.
|
|||||||
public = true;
|
public = true;
|
||||||
};
|
};
|
||||||
```
|
```
|
||||||
3. **Update the Controller Machine**: Execute the following:
|
1. **Update the Controller Machine**: Execute the following:
|
||||||
```bash
|
```bash
|
||||||
$ clan machines update <CONTROLLER>
|
$ clan machines update <CONTROLLER>
|
||||||
```
|
```
|
||||||
@@ -35,35 +34,43 @@ To introduce a new machine to the VPN, adhere to the following steps:
|
|||||||
|
|
||||||
### Instructions:
|
### Instructions:
|
||||||
|
|
||||||
1. **Update Configuration**: On the new machine, incorporate the below to its
|
1. **Update Configuration**: On the new machine, incorporate the following to its
|
||||||
configuration, substituting `<CONTROLLER>` with the controller machine name:
|
configuration, substituting `<CONTROLLER>` with the controller machine name:
|
||||||
```nix
|
```nix
|
||||||
{ config, ... }: {
|
{ config, ... }: {
|
||||||
clan.networking.zerotier.networkId = builtins.readFile (config.clanCore.clanDir + "/machines/<CONTROLLER>/facts/zerotier-network-id");
|
clan.networking.zerotier.networkId = builtins.readFile (config.clanCore.clanDir + "/machines/<CONTROLLER>/facts/zerotier-network-id");
|
||||||
}
|
}
|
||||||
```
|
```
|
||||||
2. **Update the New Machine**: Execute:
|
1. **Update the New Machine**: Execute:
|
||||||
```bash
|
```bash
|
||||||
$ clan machines update <NEW_MACHINE>
|
$ clan machines update <NEW_MACHINE>
|
||||||
```
|
```
|
||||||
Replace `<NEW_MACHINE>` with the designated new machine name.
|
Replace `<NEW_MACHINE>` with the designated new machine name.
|
||||||
3. **Retrieve the ZeroTier ID**: On the `new_machine`, execute:
|
1. **Retrieve the ZeroTier ID**: On the `new_machine`, execute:
|
||||||
```bash
|
```bash
|
||||||
$ sudo zerotier-cli info
|
$ sudo zerotier-cli info
|
||||||
```
|
```
|
||||||
Example Output: `200 info d2c71971db 1.12.1 OFFLINE`, where `d2c71971db` is
|
Example Output:
|
||||||
the ZeroTier ID.
|
```{.console, .no-copy}
|
||||||
4. **Authorize the New Machine on Controller**: On the controller machine,
|
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:
|
execute:
|
||||||
```bash
|
```bash
|
||||||
$ sudo zerotier-members allow <ID>
|
$ sudo zerotier-members allow <ID>
|
||||||
```
|
```
|
||||||
Substitute `<ID>` with the ZeroTier ID obtained previously.
|
Substitute `<ID>` with the ZeroTier ID obtained previously.
|
||||||
5. **Verify Connection**: On the `new_machine`, re-execute:
|
1. **Verify Connection**: On the `new_machine`, re-execute:
|
||||||
```bash
|
```bash
|
||||||
$ sudo zerotier-cli info
|
$ sudo zerotier-cli info
|
||||||
```
|
```
|
||||||
The status should now be "ONLINE" e.g., `200 info 47303517ef 1.12.1 ONLINE`.
|
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.
|
||||||
|
|
||||||
Congratulations! The new machine is now part of the VPN, and the ZeroTier
|
|
||||||
configuration on NixOS within the Clan project is complete.
|
|
||||||
|
|||||||
Reference in New Issue
Block a user