WG
Перейти к навигации
Перейти к поиску
Казалось бы куда проще, но нет. НАДА!
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