Gemini/public/posts/2021/04-wineguard-server.gmi

106 lines
2.9 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Настраиваем 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
```
Перезагружаемся
-----
=> ../ 🔝 К статьям