Я хочу настроить резолв доменов из geosite-ru через системный DNS, но почему-то DNS сервер типа local не резолвит домены.
В настройках сетевого подключения в системе указан DNS сервер моего роутера 192.168.1.1.
Почему-то у меня при использовании tun inbound не резолвятся домены через local DNS сервер, таймаут соединения.
Тестовый конфиг:
Если заменить “address”: “local” на “address”: “8.8.8.8”, то всё работает.
Если вместо tun использовать socks, то тоже всё работает.
Windows 10, sing-box 1.11.8.
В чем может быть проблема?
Или может я неправильно понимаю, как работает local DNS сервер?
"strict_route": false частично решил проблему.
С "strict_route": true в wireshark на роутере я не видел запросы к локальному ДНСу от винды.
С "strict_route": false я вижу запросы к локальному ДНСу от винды и сразу же sing-box получает ответ, но вот в сам он этот зарезолвенный IP процессу в системе передает только после того, как зафейлится по таймауту у себя:
dns: exchange failed for example.com. IN A: lookup example.com: i/o timeout
Т.е. я пытаюсь резолвить в винде:
nslookup
set timeout=1
set retry=15
example.com
И после 12 неудачных попыток, на 13 попытку sing-box выплевывает зарезолвенный IP, как я понимаю, из кеша.
Я могу и просто указать "address": "192.168.1.1" и оно работает, но хочется, чтобы всё из коробки работало без того, чтобы еще отдельно локальный ДНС сервер запускать.
Попробовал версии 1.11.6, 1.11.5 - проблема та же.
Но вот на бета-версии 1.12.0 - всё работает без проблем и со "strict_route": true!
Похоже, что нашли и починили баги в последней версии.