Назад | Перейти на главную страницу

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

Итак, у меня есть 1 компьютер, настроенный как сервер, а все остальные - как равноправные. Вот конфигурация сервера:

[Interface]
Address = 10.0.0.1/16
SaveConfig = false
PostUp = iptables -A FORWARD -i wg0 -j ACCEPT; iptables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE; ip6tables -A FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -A POSTROUTING -o enp6s0 -j MASQUERADE
PostDown = iptables -D FORWARD -i wg0 -j ACCEPT; iptables -t nat -D POSTROUTING -o enp6s0 -j MASQUERADE; ip6tables -D FORWARD -i wg0 -j ACCEPT; ip6tables -t nat -D POSTROUTING -o enp6s0 -j MASQUERADE
ListenPort = 51820
PrivateKey = <key>

# ... more peers that work fine ...

[Peer]
PublicKey = <key>
AllowedIPs = 10.0.55.2

А вот конфигурация нового однорангового узла, вызывающего проблемы:

[Interface]
Address = 10.0.55.2
SaveConfig = false
ListenPort = 51820
PrivateKey = <key>

[Peer]
PublicKey = <key>
AllowedIPs = 10.0.0.0/16
Endpoint = my.endpoint.com:51820

Я могу подключиться только к этому новому узлу ПОСЛЕ Я отправил эхо-запрос на сервер от этого нового узла. До тех пор я получаю только Destination Host Unreachable Сообщения.

Я также пробовал использовать только адреса / 24, но это ничего не меняло.

Кто-нибудь знает, что не так?

Думаю, я мог бы добавить команду ping как PostUp команда, но это кажется плохим исправлением.

В конечном итоге пакеты отправляются на MAC-адрес целевого хоста. Для этого требуется, чтобы MAC-адрес хоста назначения был в таблице ARP хоста-отправителя или чтобы MAC-адрес хоста-отправителя Шлюз по умолчанию был в таблице ARP хостов-отправителей (для нелокальной связи). Если хост-отправитель и хост-получатель находятся в одной сети уровня 3, то хост-отправитель будет транслировать MAC-адрес хоста-получателя в локальной сети. Если хост-отправитель и хост-получатель находятся в разных сетях уровня 3, то хост-отправитель будет транслировать для MAC-адреса настроенного им шлюза по умолчанию в локальной сети. Когда он получит ответ, он добавит этот MAC-адрес в свою таблицу ARP.

Пока вы не инициируете связь с сервером от клиента, у клиента нет ни MAC-адреса сервера в его таблице ARP, ни MAC-адреса его шлюза по умолчанию в таблице ARP ... если клиент уже не связался с нелокальным хостом .

Я предполагаю, что это причина проблемы. Находятся ли клиент и сервер в одной сети уровня 3? Мы не можем сказать, потому что вы пропустили сетевую маску клиента в своем вопросе.