# Настраиваем WireGuard сервер ## Предисловие Я буду устанавливать WireGuard на машину под управлением ArchLinux. Вероятнее всего, названия пакетов в твоём дистрибутиве будут отличаться. ## Установка 1. Накатываем пакет WireGuard: ``` pacman -S wireguard-tools ``` 2. Загружаем модули ядра: ``` modprobe wireguard && lsmod | grep wireguard ``` > До версии Linux 5.6 нужно было устанавливать пакет *wireguard-arch*. 3. Генерация ключей: ``` umask 077 wg genkey | tee serverprivatekey | wg pubkey > serverpublickey wg genkey | tee clientprivatekey | wg pubkey > clientpublickey ``` 4. Настройка сервера Включаем форвардинг в sysctl ``` sysctl -w net.ipv4.ip_forward=1 echo 'net.ipv4.ip_forward = 1' > /etc/sysctl.d/99-sysctl.conf ``` Настраиваем конфиг сервера ``` nano /etc/wireguard/wg0.conf ``` ``` [Interface] Address = 10.0.0.1/24 ListenPort = 51820 PrivateKey = SERVERPRIVATEKEY PostUp = iptables -A FORWARD -i %i -j ACCEPT; iptables -A FORWARD -o %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE PostDown = iptables -D FORWARD -i %i -j ACCEPT; iptables -D FORWARD -o %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE [Peer] PublicKey = CLIENTPUBLICKEY AllowedIPs = 10.0.0.2/32 ``` SERVERPRIVATEKEY и CLIENTPUBLICKEY заменяем на cat /etc/wireguard/*key 5. Настройка клиента ``` nano /etc/wireguard/wg0-client.conf ``` ``` [Interface] Address = 10.0.0.2/32 PrivateKey = CLIENTPRIVATEKEY DNS = 10.0.0.1 [Peer] PublicKey = SERVERPUBLICKEY Endpoint = SERVER_IP:51820 AllowedIPs = 0.0.0.0/0, ::/0 PersistentKeepalive = 21 ``` 6. Уря!!1 Подключение/отключение в Linux ``` wg-quick up wg0-client wg-quick down wg0-client ``` Подключение/отключение в Windows ``` "c:\Program Files\WireGuard\wireguard.exe" /installtunnelservice d:\wg.conf "c:\Program Files\WireGuard\wireguard.exe" /uninstalltunnelservice wg ``` ## Ошибка запуска на WireGuard 3.1+ не от администратора > WireGuard is running, but the UI is only accessible from desktops of the Builtin Administrators group 1. Необходимо добавить пользователя в группу Network Configuration Operators ``` "My Computer" > "Manage" > "Users/Groups" > Network Configuration Operators ``` 2. Добавить в реестр записи ``` reg add HKLM\Software\WireGuard /v LimitedOperatorUI /t REG_DWORD /d 1 /f ``` Можно ещё разрешить запуск небезопасных скриптов ``` reg add HKLM\Software\WireGuard /v DangerousScriptExecution /t REG_DWORD /d 1 /f ``` Перезагружаемся ----- => ../ 🔝 К статьям