У меня есть онлайн-сервер с IP 1.2.3.4 и два локальных компьютеры в разных местах. компьютер A и компьютер B.
Я выполнил инструкции по установке Wireguard здесь: https://www.cyberciti.biz/faq/ubuntu-20-04-set-up-wireguard-vpn-server/
Но компьютер A не удается выполнить эхо-запрос или подключиться к компьютеру B.
Я думаю, что мне нужно, но я не знаю, как настроить на онлайн-сервере связь между локальными узлами.
Как это сделать?
Локальные узлы - это рабочий стол Mac и Ubuntu.
Мои настройки: Сервер:
[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
Сервер может связываться с одноранговым узлом A и одноранговым узлом B, но одноранговый узел A не может связываться с одноранговым узлом B.
Учебник, на который вы ссылаетесь, выглядит так, как будто он направляет вас к топологии «звезда-звезда», где узел A и узел B не подключаются напрямую друг к другу — вместо этого их соединение маршрутизируется через ваш сервер. Если это то, что вы хотите сделать, вы должны удалить вторую запись [Peer]
из конфигурационных файлов узла A и узла B и изменить параметр AllowedIPs
их первого . [Peer]
запись к этому:
AllowedIPs = 192.168.6.0/24
Вам также необходимо убедиться, что вы включили пересылку пакетов на сервере. Есть несколько разных способов сделать это, но самый простой с WireGuard — просто добавить следующую команду PreUp
в раздел [Interface]
конфигурационного файла сервера:
PreUp = sysctl -w net.ipv4.ip_forward=1
Однако, если вы хотите соединить узел A с узлом B напрямую (т. е. «точка-точка»), вам необходимо иметь статический общедоступный IP-адрес для одного из узлов. Если это так, вы должны сохранить эту вторую запись [Peer]
в конфигурационных файлах узла A и узла B; и добавьте параметр Endpoint
во вторую запись [Peer]
одного из своих файлов и параметр ListenPort
в [Interface]
. ] запись другой.
Например, если узел А доступен узлу Б через Интернет (или некоторую внутреннюю сеть) по адресу 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