Skip to content

[FEATURE] Sing-box DNS monitoring #111

Description

@FiyeroT

Иногда после кратковременных обрывов связи DoH DNS-клиент sing-box перестаёт возвращать IP-адреса
Симптомы выглядят так:

  • Статус DNS в диагностике: DOH (8.8.8.8) available (зеленый)
  • Статус FakeIP в диагностике: ! не работает в браузере (оранжевый)
  • Проверка туннеля: ! Проверка первой конечной точки не удалась (оранжевый)
  • В logread -f ошибки dns: exchange failed for FQDN IN A: context deadline exceeded
  • Ошибка пропадает через 5-15 минут в зависимости от настроек conntrack роутера

Суть идеи:

  1. В Дополнительные настройки Podkop добавить вариант мониторинга работоспособности DNS sing-box:
  • не мониторить
  • при ошибках перезапускать sing-box
  • при ошибках исключать sing-box из DNS (несовместимо с Don't touch my DHCP)
  1. Принцип мониторинга:
  • периодически (раз в минуту?) запрашивать A-запись с коротким TTL у sing-box (nslookup -type=a testdns.podkop.fyi 127.0.0.42)
  • если sing-box возвращает ошибку, а эталонный UDP DNS сервер возвращает корректный IP - выполнять выбранное пользователем действие (рестарт sing-box или запись в dnsmasq Forwards эталонного сервера)
  • в случае, если сработал вариант с исключением sing-box из Forwards dnsmasq и sing-box восстановил работу - возвращать настройку обратно

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions