Це стара версія документу!
sudo apt update && sudo apt install wireguard wireguard-tools qrencode
sudo sh -c 'umask 077 && cd /etc/wireguard && wg genkey | tee server_private.key | wg pubkey > server_public.key'
Після цього в /etc/wireguard будуть лежати публічний та приватний ключі server_public.key та server_private.key
Обрати мережу, яка не маршрутизується в Інтернет, із відомих діапазонів:
10.0.0.0/8 172.16.0.0/12 92.168.0.0/16
Для нашого прикладу оберемо 172.31.255.0/24
Необхідно увімкнути маршрутизацію на сервері
sudo sysctl -w net.ipv4.ip_forward=1
Потім на постійній основі записати в /etc/sysctl.d/
І налаштувати фаєрвол. Для iptables:
iptables -A INPUT -p udp --dport 51821 -m comment --comment "WireGuard" -j ACCEPT iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT iptables -A FORWARD -i wg0 -o wg0 -m comment --comment "VPN clients can talk" -j ACCEPT
[Interface] Address = 172.31.255.1/24 ListenPort = 51821 PrivateKey = SERVER_PRIVATE_KEY # --- Peers added below as clients connect --- [Peer] PublicKey = CLIENT_PUBLIC_KEY AllowedIPs = 172.16.6.2/32
Секцію Peer можна спочатку прибрати, додавати коли буде відомий публічний ключ хоч одного клієнта
sudo systemctl enable --now wg-quick@wg0 sudo systemctl status wg-quick@wg0 sudo wg show
додати preshared key