Evitar contornar o OpenDNS com iptables em um servidor gateway

1

Estou tentando configurar as regras do iptables no meu servidor de gateway para forçar meus filhos a usarem o opendns (descobri recentemente que um deles tem manualmente o uso do google DNS em seu computador local).

Aqui está o meu conf em /etc/dhcp/dhcpd.conf:

option domain-name-servers 208.67.222.222, 208.67.220.220;

Está funcionando bem porque, quando um IP é atribuído a um computador local, o servidor DNS padrão é a primeira entrada do OpenDNS:

$ nslookup 
> serverfault.com
Server:     208.67.222.222
Address:    208.67.222.222#53

Non-authoritative answer:
Name:   serverfault.com
Address: 151.101.65.69
Name:   serverfault.com
Address: 151.101.129.69
Name:   serverfault.com
Address: 151.101.193.69
Name:   serverfault.com
Address: 151.101.1.69

Agora, se eu colocar as seguintes regras no meu servidor:

#allow dns requests to opendns
sudo iptables -A OUTPUT -p udp --dport 53 -d 208.67.220.220 -j ACCEPT
sudo iptables -A OUTPUT -p udp --dport 53 -d 208.67.222.222 -j ACCEPT

#block all other dns requests to other servers
sudo iptables -A OUTPUT -p udp --dport 53 -j DROP
sudo ip6tables -A OUTPUT -p udp --dport 53 -j DROP

... está funcionando bem, mas apenas no próprio servidor, não nos clientes. De fato, os clientes ainda podem usar qualquer outro servidor DNS que não seja o do OpenDNS.

Eu suspeito que, como estou realizando NAT (roteador de gateway), há algo errado com a tabela que estou alcançando no iptables.

Você pode por favor ajudar? Muito obrigado antecipadamente pelo seu apoio.

    
por Sebastien Damaye 02.06.2017 / 07:30

0 respostas