Prevenir a evasão de OpenDNS com iptables em um server de gateway

Estou tentando configurair as regras do iptables no meu server de gateway paira forçair meus filhos a usair opendns (descobri recentemente que 1 deles manualmente está usando o Google DNS em vez disso no computador local).

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

option domain-name-serviews 208.67.222.222, 208.67.220.220; 

Está funcionando bem, porque quando um IP é atribuído a um computador local, o server DNS padrão é a 1ª input OpenDNS:

 $ nslookup > serviewfault.com Serview: 208.67.222.222 Address: 208.67.222.222#53 Non-authoritative answer: Name: serviewfault.com Address: 151.101.65.69 Name: serviewfault.com Address: 151.101.129.69 Name: serviewfault.com Address: 151.101.193.69 Name: serviewfault.com Address: 151.101.1.69 

Agora, se eu colocair as seguintes regras no meu server:

 #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 serviews 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 server, e não nos clientes. Na viewdade, os clientes ainda podem usair outros serveres de DNS do que aqueles do OpenDNS.

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

Você pode ajudair? Muito obrigado antecipadamente pelo seu apoio.