-
Notifications
You must be signed in to change notification settings - Fork 21
Перехват стороннего DNS трафика
При использовании DNS-шифрования (dnscrypt-proxy, https-dns-proxy и пр.), а также в режимах обхода блокировок *-fqdn
, необходимо чтобы все хосты в локальной сети всегда использовали DNS-сервер роутера для разрешения DNS-запросов. Некоторые мобильные устройства могут делать DNS-запросы в обход роутера, даже при наличии корректной конфигурации (например, Android устройства могут обращаться к DNS-серверам Google). Решить проблему можно принудительным перенаправлением всего локального DNS-трафика на DNS-сервер роутера. Следующие команды добавят правило dnsproxy-dns-leaks
в конфигурацию межсетевого экрана:
uci add firewall redirect
uci set firewall.@redirect[-1].src="lan"
uci set firewall.@redirect[-1].src_dport="53"
uci set firewall.@redirect[-1].target="DNAT"
uci set firewall.@redirect[-1].dest_ip="`uci get network.lan.ipaddr|sed 's-/.*$--'`"
uci set firewall.@redirect[-1].name="dnsproxy-dns-leaks"
uci commit firewall
В актуальных сейчас версиях пакета https-dns-proxy правила перехвата DNS трафика добавляются автоматически при включении соответствующей опции, поэтому описанные выше операции являются избыточными. Нужно учитавать ещё один важный момент касательно стороннего DNS-трафика. Все современные боаузеры и мобильные устройства имеют встроенную функцию шифрования DNS (она может называться "DNS через HTTPS" и т.п. ), её необходимо отключить, чтобы все устройства и приложения в сети использовали исключительно DNS-сервер роутера.