1.3 KiB
1.3 KiB
WireGuard VPN Server
Configures Talos as a WireGuard VPN server providing access to home network (192.168.178.0/24).
Configuration
Clients are defined in vault/wireguard.yml:
wireguard_server:
private_key: "..."
public_key: "..."
wireguard_clients:
- name: masser
private_key: "..."
public_key: "..."
ip_address: "10.8.0.2/24"
description: "Masser phone"
Adding a Client
-
Generate vanity key:
timeout 120 wireguard-vanity-address --in 4 newc 2>&1 | grep "^private" | head -1 -
Edit vault:
ansible-vault edit vault/wireguard.yml -
Add to
wireguard_clientslist:- name: newclient private_key: "paste_from_step_1" public_key: "paste_from_step_1" ip_address: "10.8.0.X/24" description: "Description" -
Deploy:
ansible-playbook -i inventory.yml playbook.yml --limit talos --tags leaf -
Get client config from server:
ssh nerevar@192.168.178.64 'sudo cat /etc/wireguard/clients/newclient.qr.txt'
Network Details
- WireGuard network: 10.8.0.0/24
- Server IP: 10.8.0.1
- Server endpoint: home.hoekveen.net:51820
- Server public key stored in vault
- Port forwarding required: UDP 51820 -> 192.168.178.64