Como sobrescrever o servidor dns no nat gateway (iptables)

5

Eu tenho um servidor Ubuntu rodando openvpn, e o iptables é usado para enviar todo o tráfego de entrada através do servidor vpn. A configuração das tabelas IP é muito básica e gerada com a seguinte série de comandos:

sudo iptables --flush
sudo iptables --table nat --flush
sudo iptables --delete-chain
sudo iptables --table nat --delete-chain
sudo iptables --table nat --append POSTROUTING --out-interface tun0 -j MASQUERADE
sudo iptables --append FORWARD --in-interface eth0 -j ACCEPT

Eu tenho tentado reescrever o tráfego para forçar o uso de um servidor de DNS específico adicionando as duas linhas a seguir:

sudo iptables --table nat --append PREROUTING -i eth0 -p tcp --sport 53 -j DNAT --to-destination 146.148.119.121:53
sudo iptables --table nat --append PREROUTING -i eth0 -p udp --sport 53 -j DNAT --to-destination 146.148.119.121:53

mas não está funcionando como eu esperava (a saída de nslookup www.netflix.com e nslookup www.netflix.com 8.8.8.8 é diferente).

Algum conselho de como conseguir isso?

    
por Johan 19.09.2016 / 10:26

2 respostas

4

não --sport 53 , use --dport 53

    
por 19.09.2016 / 10:30
1

Ambos estão dizendo que são respostas autoritativas?

O Netflix usaria o balanceamento de carga, então você seria direcionado para qualquer servidor mais próximo e não ocupado. Mas as regras de firewall não têm nada a ver com qual serviço DNS é usado, apenas no bloqueio ou permissão de portas para eles conversarem.

Seu serviço de DNS usado para procurar nomes está no arquivo /etc/resolve.conf . Não importa o tipo de rede em que você pedir um endereço, ele irá navegar pela Internet para chegar ao host para procurar o nome. O arquivo é atualizado quando você usa dhcpc, o servidor dns é enviado junto com seu número de ip e endereço de gateway. Você precisará editar os scripts para impedir que ele use o que foi enviado para você. Se você souber o que deseja usar, coloque-o no arquivo e desative o bit de gravação para que ele não possa ser alterado se você não conseguir encontrar o script atualizando-o. Logs do sistema podem mostrar que script está falhando ao gravar no arquivo. Não se esqueça de limpar as tabelas para limpar os endereços antigos.

Eu sempre corro meus próprios serviços nomeados para facilitar a conversa com minhas máquinas. Meu dhcpd dá ip, e meu servidor dns e caixa de gateway.

    
por 24.09.2016 / 22:49