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