Como permitir a pesquisa de DNS com iptables no servidor Ubuntu 18.04

2

Estou usando o Ubuntu 18.04 Server e tentando fazer um roteador. Quando executo o seguinte script iptables (que funcionou perfeitamente no Ubuntu 16.04), a pesquisa de DNS da linha de comando para de funcionar. Eu tenho ping para endereços IP, mas não há nomes DNS. Algo é obviamente alterado de 16.04, mas não sei o quê.

EDIT: Eu comecei a executar linhas uma a uma e defini o culpado é este:

iptables -t nat -A POSTROUTING -j MASQUERADE

Mas ainda não sei porque (funcionou em versões anteriores do Ubuntu - 16.04, 14.04, 12.04)

A saída do ping é:

# ping google.com
ping: google.com: Temporary failure in name resolution

Se eu reiniciar sem este script, funciona:

# ping google.com
PING google.com (172.217.169.142) 56(84) bytes of data.
64 bytes from sof02s32-in-f14.1e100.net (172.217.169.142): icmp_seq=1 ttl=57 time=2.92 ms
    
por Todor Andreev 28.05.2018 / 18:28

1 resposta

0

OK, responderei minha própria pergunta. A cura foi adicionar uma interface externa na linha do iptables, então agora se parece com isso:

ExtIF=eno1 ##Change this to the name of your external (Internet) interface    
iptables -t nat -A POSTROUTING -o $ExtIF -j MASQUERADE

Talvez algum guru do iptables seja capaz de responder nos comentários por que a pesquisa de DNS está falhando apenas no localhost, apenas no Ubuntu 18.04.

    
por Todor Andreev 29.05.2018 / 09:58