Stubby и синхронизация времени на OpenWrt
Что-то давно я не писал про костыли, исправим это.
После вчерашнего в комментарии здесь и в чате пишут люди, у которых сломался Stubby. Если DNS настроен через него, то не рабочий DNS на роутере выглядит так: "не открываются все сайты, работает только телеграм".
В чём проблема?
Stubby использует DoT - шифрование DNS с помощью TLS. Прикольная штука, но с одним минусом. Чтоб ему установить связь с DNS-сервером, поддерживающим DoT, нужно иметь правильное время. Этого требует как раз протокол TLS, у которого многое завязано на времени.
Таким образом, время не правильное -> Stubby не может установить соединение с DNS-сервером -> нет соединения с вышестоящим DNS -> не работает DNS на клиентах.
Что делать?
Для быстрой починки нужно синхронизировать время на роутере и перезапустить Stubby.
Инструкция для консоли
Смотрим текущее время и выполняем синхронизацию времени с NTP-сервером
date
ntpd -q -p ptbtime1.ptb.de
Проверяем время и перезапускаем stubby
date
service stubby restart
Проверяем, что stubby работает
nslookup itdog.info 127.0.0.1:5453
Вернул IP-адрес - работает, ошибку - не заработал.
Инструкция для браузера через LuCi
Идём в System - System
Рядом с Local Time жмёте кнопку либо синхронизировать с браузером, либо с NTP-сервером. С браузером удобно синхронизировать, когда есть проблемы и с NTP.
После этого System - Startup и в списке ищите stubby. Справа кнопка Restart.
Делаем костыль
Я с таким сталкиваюсь обычно после того, как роутер был выключен какое-то время и при старте OpenWrt не смогла синхронизировать время. Разработчикам OpenWrt надо брать пример с разработчиков Алисы 😅. Поэтому в /etc/rc.local перед exit 0 добавляем:
ntpd -q -p ptbtime1.ptb.de
При старте роутера принудительно будет синхронизироваться время. Пока меня этот костыль не подводил.
---
Не всегда проблемы связаны с неправильным временем, и если это не помогает, то смотрите логи Stubby.
Что-то давно я не писал про костыли, исправим это.
После вчерашнего в комментарии здесь и в чате пишут люди, у которых сломался Stubby. Если DNS настроен через него, то не рабочий DNS на роутере выглядит так: "не открываются все сайты, работает только телеграм".
В чём проблема?
Stubby использует DoT - шифрование DNS с помощью TLS. Прикольная штука, но с одним минусом. Чтоб ему установить связь с DNS-сервером, поддерживающим DoT, нужно иметь правильное время. Этого требует как раз протокол TLS, у которого многое завязано на времени.
Таким образом, время не правильное -> Stubby не может установить соединение с DNS-сервером -> нет соединения с вышестоящим DNS -> не работает DNS на клиентах.
Что делать?
Для быстрой починки нужно синхронизировать время на роутере и перезапустить Stubby.
Инструкция для консоли
Смотрим текущее время и выполняем синхронизацию времени с NTP-сервером
date
ntpd -q -p ptbtime1.ptb.de
Проверяем время и перезапускаем stubby
date
service stubby restart
Проверяем, что stubby работает
nslookup itdog.info 127.0.0.1:5453
Вернул IP-адрес - работает, ошибку - не заработал.
Инструкция для браузера через LuCi
Идём в System - System
Рядом с Local Time жмёте кнопку либо синхронизировать с браузером, либо с NTP-сервером. С браузером удобно синхронизировать, когда есть проблемы и с NTP.
После этого System - Startup и в списке ищите stubby. Справа кнопка Restart.
Делаем костыль
Я с таким сталкиваюсь обычно после того, как роутер был выключен какое-то время и при старте OpenWrt не смогла синхронизировать время. Разработчикам OpenWrt надо брать пример с разработчиков Алисы 😅. Поэтому в /etc/rc.local перед exit 0 добавляем:
ntpd -q -p ptbtime1.ptb.de
При старте роутера принудительно будет синхронизироваться время. Пока меня этот костыль не подводил.
---
Не всегда проблемы связаны с неправильным временем, и если это не помогает, то смотрите логи Stubby.