Странная работа Wireguard

Обсуждение ПО и его настройки
Ответить
karton
Сообщения: 42
Зарегистрирован: 21 мар 2025, 06:34

Добрый день.
Есть один интерфейс Wireguard и несколько пиров. Подключение пиров происходит исправно (происходит хендшейк), но пир не может пинговать адрес интерфейса Wireguard ну и следовательно дальше тоже. НО: данная проблема возникает не постоянно, а в случае её возникновения её лечит просто нажатие кнопки Apply в winbox (без каких-либо изменений). Думал скриптом с интервалом просто бегать по пирам и как-бы "тыкать apply", но там из похожего был только disabled, который результата не даёт. Также пробовал задавать Keeplive, но тоже ничего. Чаще всего проблема возникает когда на одном устройстве переключаю пиры, один из них работает нормально, второй нет, но если после подключения ко второму просто тыкнуть Apply в winbox, то пир начинает работать.
Все пиры созданы одинаково, вот пример конфига:

Код: Выделить всё

[Interface]
ListenPort = 51820
PrivateKey = *auto*
Address = 20.0.0.2/32 //у каждого пира тут разные адреса
DNS = 20.0.0.1 //адрес назначенный на интерфейс wireguard1, Remote Requests включены

[Peer]
PublicKey = *установился сам, совпадает с PublicKey у интерфейса wireguard1*
AllowedIPs = 0.0.0.0/0, ::/0
Endpoint = *public_ip*:13231
PresharedKey = *auto*
PersistentKeepalive = 5
Версия ROS: 7.18.2


-13-
Сообщения: 140
Зарегистрирован: 18 мар 2021, 12:45

в интерфейсе у клиента попробуйте убрать порт


karton
Сообщения: 42
Зарегистрирован: 21 мар 2025, 06:34

Я это тоже пробовал, всё тоже самое, методом проб понял что ситуация возникает только когда на одном клиенте перетыкаюсь с одного конфига на другой, и кстати дополнительный фокус в том что "ремонт" при помощи кнопки Apply срабатывает только в случае винбокса 4.0 beta18... в 3.41 тоже самое результата не приносит.
Конечно сама ситуация когда ошибка возникает специфична, редко когда к одному интерфейсу есть несколько конфигов и приходится переключаться, но просто странно


Biggy
Сообщения: 2
Зарегистрирован: 01 апр 2025, 17:46
Откуда: Baku

есть ли у всех пиров в поле Allowed Address указана одна и та же сеть
Настроить Allowed Address так, чтобы у каждого клиента был только его IP например:
/interface wireguard peers set [find where name="User1"] allowed-address=10.0.0.3/32
/interface wireguard peers set [find where name="User2"] allowed-address=10.0.0.4/32
/interface wireguard peers set [find where name="User3"] allowed-address=10.0.0.5/32
/interface wireguard peers set [find where name="User4"] allowed-address=10.0.0.6/32

а настройки на клиенте должны быть примерно такие
PrivateKey = ***************************************
Address = 10.0.0.3/32
DNS = 192.168.70.1, 8.8.8.8

[Peer]
PublicKey = ***************************************
AllowedIPs = 0.0.0.0/0
Endpoint = *******:13231
PersistentKeepalive = 8


нули это если клиент должен выходить в интернет через WireGuard (Full-Tunnel)
По-желанию, можно основной подсеть прописать чтобы получить доступ к определённым IP-адресам в подсети

например если подсеть будет 192.168.70.0/24

PrivateKey = ***************************************
Address = 10.0.0.3/32
DNS = 192.168.70.1, 8.8.8.8

[Peer]
PublicKey = ***************************************
AllowedIPs = 0.0.0.0/0, 192.168.70.0
Endpoint = *******:13231
PersistentKeepalive = 8

и еще отключите fastrack


Ответить