WG

Материал из wolfram
Версия от 17:15, 27 апреля 2022; Владимир (обсуждение | вклад) (Новая страница: «Казалось бы куда проще, но нет. НАДА! apt install wireguard создам папку в корне пользователя: mkdir wi...»)
(разн.) ← Предыдущая версия | Текущая версия (разн.) | Следующая версия → (разн.)
Перейти к навигации Перейти к поиску

Казалось бы куда проще, но нет. НАДА!

apt install wireguard

создам папку в корне пользователя:

mkdir wireguard
cd wireguard

Генерим приватный ключ:

wg genkey > server-private.key

Генерим публичный ключ:

wg pubkey < server-private.key > server-public.key

Создаем ключи для клиентов клиента

wg genkey | tee client-01-private.key | wg pubkey > client-01-public.key

Файл конфигурации сервера

nano /etc/wireguard/wg0.conf

мой конфиг:

[Interface]
# ip-адрес сервера в виртуальной сети
Address = 10.8.0.1/24
# порт, на котором ожидать подключения
ListenPort = 51820
# приватный ключ сервера
PrivateKey = ##
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -s 10.8.0.0/24 -o eth0 -j MASQUERADE


[Peer]
# публичный ключ первого клиента
PublicKey = ##
# принимать пакеты с такими ip-адресами источника от этого клиента,
# отправлять пакеты с такими ip-адресами назначения этому клиенту
AllowedIPs = 10.8.0.2/32

[Peer]
# публичный ключ первого клиента
PublicKey = ##
# принимать пакеты с такими ip-адресами источника от этого клиента,
# отправлять пакеты с такими ip-адресами назначения этому клиенту
AllowedIPs = 10.8.0.3/32

[Peer]
# публичный ключ первого клиента
PublicKey = ##
# принимать пакеты с такими ip-адресами источника от этого клиента,
# отправлять пакеты с такими ip-адресами назначения этому клиенту
AllowedIPs = 10.8.0.4/32

Запуск службы сервера

Теперь все готово к запуску службы сервера, для этого можно использовать команду wg-quick или systemctl:

wg-quick up wg0
systemctl start wg-quick@wg0.service
systemctl enable wg-quick@wg0.service

Файлы конфигурации клиентов

пример конфига моего клиента:

[Interface]
# ip-адрес первого клиента в виртуальной сети
Address = 10.8.0.2/24
# приватный ключ первого клиента
PrivateKey = ##

[Peer]
# публичный ключ сервера
PublicKey = ##
# принимать пакеты с такими ip-адресами источника от сервера,
# отправлять пакеты с такими ip-адресами назначения серверу
AllowedIPs = 192.168.1.0/24, 192.168.3.0/24
# ip-адрес и порт сервера
Endpoint = ##:51820
# поддерживать соединение в активном состоянии,
# каждые 25 секунд отправлять пакет на сервер
PersistentKeepalive = 25