Невозможно подключиться к локальному одноранговому узлу через Wireguard

Невозможно подключиться к локальному одноранговому узлу через Wireguard

У меня есть онлайн-сервер с IP-адресом 1.2.3.4 и два локальных компьютера в разных местах. Компьютер A и компьютер B.

Я следовал инструкциям по настройке Wireguard здесь:https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/

Но компьютер A не может выполнить ping или подключиться к компьютеру B.

Я думаю, что мне это нужно, но я не знаю, как настроить онлайн-сервер для осуществления такого взаимодействия между локальными узлами.

Как это сделать?

Локальными пирами являются Mac и Ubuntu Desktop.

Моя установка: Сервер:

[Interface]
Address = 192.168.6.1/24
ListenPort = 41194
PrivateKey = <key>


[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

Локальный узел A:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.3/32
PersistentKeepalive = 15

Локальный узел B:

[Interface]
PrivateKey = <key>
Address = 192.168.6.3/32

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.1/32
Endpoint = 65.21.63.31:41194
PersistentKeepalive = 21

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
PersistentKeepalive = 15

Сервер может взаимодействовать с Peer A и Peer B, но Peer A не может взаимодействовать с Peer B.

решение1

Похоже, что руководство, на которое вы ссылаетесь, направляет вас к топологии «hub and spoke», где Peer A и Peer B не подключаются друг к другу напрямую — вместо этого их соединение маршрутизируется через ваш сервер. Если это то, что вы хотите сделать, вам следует удалить вторую [Peer]запись из файлов конфигурации Peer A и Peer B и изменить AllowedIPsнастройку их первой [Peer]записи на следующее:

AllowedIPs = 192.168.6.0/24

Вам также нужно будет убедиться, что вы включили пересылку пакетов на сервере. Есть несколько способов сделать это, но самый простой с WireGuard — просто добавить следующую PreUpкоманду в [Interface]раздел файла конфигурации сервера:

PreUp = sysctl -w net.ipv4.ip_forward=1

Однако, если вы хотите подключить Peer A к Peer B напрямую (т. е. «точка-точка»), вам нужно иметь статический публичный IP-адрес для одного из Peer. Если это так, вы бы сохранили эту вторую [Peer]запись в файлах конфигурации Peer A и Peer B; и добавили бы Endpointнастройку во вторую [Peer]запись одного из их файлов и ListenPortнастройку в [Interface]запись другого.

Например, если узел A доступен узлу B через Интернет (или некоторую внутреннюю сеть) по адресу 198.51.100.123 и имеет UDP-порт 51820, доступный для новых подключений от узла B, измените вторую [Peer]запись в файле конфигурации узла B следующим образом:

[Peer]
PublicKey = <key>
AllowedIPs = 192.168.6.2/32
Endpoint = 198.51.100.123:51820
PersistentKeepalive = 15

И измените [Interface]запись в конфигурации Peer A на следующую:

[Interface]
PrivateKey = <key>
Address = 192.168.6.2/32
ListenPort = 51820

Связанный контент