на моем маршрутизаторе с OpenWRT я использую dnsmasq для отравления DNS для блокировки рекламы. Если хост находится в списке, маршрутизатор отвечает на запрос DNS с 192.168.99.99, который только и всегда служит 1x1 прозрачный gif (метод pixelserv).
однако локальные устройства могут обойти это, непосредственно используя свой собственный DNS-сервер. как я могу перенаправить эти DNS-запросы, чтобы объявления были заблокированы?.
Я пробовал такие команды (8.8.8.8 и 8.8.4.4 являются DNS сервера, 192.168.1.102 исходное устройство, 192.168.1.1 IP моего роутера):
iptables -t nat -A PREROUTING -d 8.8.8.8 -j DNAT --to-destination 192.168.1.1
iptables -t nat -A PREROUTING -d 8.8.4.4 -j DNAT --to-destination 192.168.1.1
# or:
iptables -t nat -A PREROUTING -i wlan0 -s 192.168.1.102 -p udp --dport 53 -j REDIRECT --to-port 53
iptables -t nat -A PREROUTING -i wlan0 -s 192.168.1.102 -p tcp --dport 53 -j REDIRECT --to-post 53
Я пробовал добавлять добавление трафика правило через OpenWRT в админ панель -> источник НЭТ, соответствующие "любой TCP или UDP с IP 192.168.1.102 в локальной сети на любой хост, порт 53 в локальной сети", и с "переписать исходный IP-адрес 192.168.1.1, порт 53". Я считаю, что это осуществляется в iptables, а также в любом случае.
но я считаю, что запросы DNS по-прежнему разрешаются:
root@OpenWrt:~# tcpdump -vvv -i wlan0 port 53
Chromecast.lan.42591 > google-public-dns-a.google.com.domain: [udp sum ok] 57897+ A? pubads.g.doubleclick.net. (42)
google-public-dns-a.google.com.domain > Chromecast.lan.42591: [udp sum ok] 57897 q: A? pubads.g.doubleclick.net. 5/0/0 pubads.g.doubleclick.net. [5h59m59s] CNAME partnerad.l.doubleclick.net., partnerad.l.doubleclick.net. [4m59s] A 74.125.136.157, partnerad.l.doubleclick.net. [4m59s] A 74.125.136.156, partnerad.l.doubleclick.net. [4m59s] A 74.125.136.155, partnerad.l.doubleclick.net. [4m59s] A 74.125.136.154 (132)
возможно вполне другой метод, например через dnsmasq, будет работать? Однако я не мог найти этого.
(Я нашел некоторое объяснение о том, как перенаправить на другой удаленный DNS-сервер, но это не поможет мне здесь. Это в основном для разблокируют регионов или для помидоров или DD-WRT. Кроме того, это тесно связано с моей предыдущий вопрос)