Версии: KeeneticOS 5.1.5, 5.1.8, 5.2 Beta 2
Модели: Keenetic Speedster (KN-3013), Keenetic Viva (KN-1913), Netcraze Air, Netcraze Speedster, Netcraze Speedster DSL
Настройка:
WireGuard-подключение Wireguard0 до нашего сервера, на удалённой стороне туннеля DNS-сервер 10.9.2.1 (статический маршрут до 10.9.2.1 через туннель есть). Для 54 доменов задан DNS через туннель:
ip name-server 10.9.2.1 youtube.com on Wireguard0
ip name-server 10.9.2.1 googlevideo.com on Wireguard0
… (всего 54 строки)
После настройки show ip name-server показывает все 54 — работает правильно.
Как воспроизвести:
1. interface Wireguard0 down
2. через 6 секунд interface Wireguard0 up
3. show ip name-server
Ожидается: снова действуют все 54 привязанных DNS-сервера.
Фактически: действует только один — для первого домена (youtube.com). В running-config все 54 строки на месте.
Воспроизведено 11.11 в 12:33 (МСК) на Speedster KN-3013, KeeneticOS 5.1.8: до переподключения действовали 54 из 54, после — 1 из 54. В журнале после поднятия туннеля одна запись про DNS-серверы:
12:33:39 Dns::Manager: name server 10.9.2.1 added, domain youtube.com.
12:33:39 Dns::InterfaceSpecific: "Wireguard0": host route for name server 10.9.2.1 added. (×3)
Для остальных 53 доменов «name server … added» нет, они резолвятся через DNS провайдера, пока строки не применить заново. Self-test снят сразу после воспроизведения — в следующем сообщении (скрыто).
То же самое происходит само, когда туннель переподключается (пропал пир, рукопожатие), а иногда и без видимого переподключения туннеля — вероятно, при переподключении WAN или другого VPN. Видим на пяти разных роутерах, в том числе на 5.2 Beta 2.
Обходные пути, которые работают:
- для каждой строки выполнить «no ip name-server 10.9.2.1 <домен> on Wireguard0» и добавить её снова — опять действуют все 54;
- строки без привязки к интерфейсу (ip name-server 10.9.2.1 <домен>) переподключение переживают: 54 из 54 до и после.