Часть моих dns-записей доступна только внутри VPN (WireGuard), при этом я не хочу пускать все DNS-запросы в сервер внутри VPN сети. Развернул локальный dnsmasq и настроил его таким образом:
server=/example.com/1.2.3.4
server=8.8.8.8
cache-size=0
no-negcache
То есть все запросы для своего домена пускаю на приватный DNS-сервер, а все остальные - на 8.8.8.8. Приватный DNS-сервер доступен только внутри VPN сети, снаружи он не светится. Также установил отсутствие кеширования запросов.
Наблюдаю странное поведение браузера (проверял на Firefox и Chrome): периодически браузер не может разрезолвить какой-нибудь домен, типа google.com. Сначала думал, что поведение возникает в момент включения/выключения VPN, но позже обнаружил такое же поведение и в рандомные моменты. При этом если дернуть dig google.com
из консоли, то адрес возвращается корректно, при этом используется мой локальный dns-сервер прописанный в системе.
Чтобы браузер «отпустило» — перезапускаю dnsmasq. После этого все работает корректно.
В логах иногда наблюдаю такое: «Oct 16 12:30:09 ubuntu dnsmasq: Maximum number of concurrent DNS queries reached (max: 150)». Неужели браузер делает 150 запросов? dnsmasq слушает только 127.0.0.1, никто снаружи не может его дернуть.
Поведение воспроизводится на Ubuntu 20.04 и Kubuntu 22.04.
Подскажите, почему может наблюдаться такое поведение?