Добрый день. Wireguard не отрабатывает смену IP адреса сервера (при переключении между основным и резервным провайдерами), хотя должен, исходя из описания (см. ниже).
Конфигурация: два провайдера, один основной, второй резервный, оба дают белые публичные IP адреса. К обоим можно подключиться через Wireguard, используя IP или привязанное к нему KeenDNS имя.
Тестирование смены IP адресов у клиентов (переход с мобильного Интернет на другой Wi-Fi другого провайдера и обратно) отрабатывает без проблем, Wireguard клиент моментально переподключается вообще без видимой задержки.
Тестирование смены IP адресов у сервера (роутера Кинетик) посредством смены провайдера не проходит - пакеты по туннелю перестают идти, пока не разорвешь соединение вручную, и не подключишь заново - тогда восстанавливается, и пакеты идут, как раньше. Но автоматического переключения, по аналогии с клиентами, не происходит.
Читаем описание с сайта Wireguard:
Built-in Roaming: The client configuration contains an initial endpoint of its single peer (the server), so that it knows where to send encrypted data before it has received encrypted data. The server configuration doesn't have any initial endpoints of its peers (the clients). This is because the server discovers the endpoint of its peers by examining from where correctly authenticated data originates. If the server itself changes its own endpoint, and sends data to the clients, the clients will discover the new server endpoint and update the configuration just the same. Both client and server send encrypted data to the most recent IP endpoint for which they authentically decrypted data. Thus, there is full IP roaming on both ends.
Предполагаем, что смена IP сервера должна отрабатываться так же незаметно, как и смена IP клиента. Но этого не происходит.
Нагуглил вот это обсуждение, относящееся к идентичной, кажется, проблеме с DD-WRT: https://forum.dd-wrt.com/forum/viewtopic.php?p=1221446 . Если я правильно понял, там проблема решилась только после того, как насильно соединение разрывалось и переподключалось (скрипт https://forum.dd-wrt.com/phpBB2/viewtopic.php?p=1202631#1202631 ). Но это так себе решение по ряду причин.
Почему не работает IP роуминг для сервера, и куда копать?
3.6.10