Итак, у меня есть 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? Мы не можем сказать, потому что вы пропустили сетевую маску клиента в своем вопросе.