
У меня есть онлайн-сервер с 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