Configurar
Em algumas redes, posso usar nslookup
para resolver um nome de domínio que aponta para um endereço IP privado:
@work> nslookup my192.ddns.net
Server: 10.1.2.3
Address: 10.1.2.3#53
Non-authoritative answer:
Name: my192.ddns.net
Address: 192.168.20.20
No entanto, na minha rede doméstica, essa mesma consulta falha:
@home> nslookup my192.ddns.net
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
*** Can't find my192.ddns.net: No answer
O que funciona
Descobri que, se eu alterar o registro A para my192.ddns.net
que aponte para um intervalo de IP público, funcionará bem:
@home> nslookup my192.ddns.net
Server: 192.168.0.1
Address: 192.168.0.1#53
Non-authoritative answer:
Name: my192.ddns.net
Address: 172.217.12.238
Em casa, se eu especificar o servidor DNS para nslookup ou definir os servidores DNS do meu laptop para os nslookup
trabalhos do Google conforme o esperado:
@home> nslookup my192.ddns.net 8.8.8.8
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
Name: my192.ddns.net
Address: 192.168.20.20
Mas gostaria de continuar a usar meu roteador doméstico como meu DNS primário para que ele possa resolver nomes de redes locais. Eu só gostaria que não falhasse ao tentar fazer pesquisas de registros DNS que apontam para endereços de intervalo privado (por exemplo: 192.168.20.20
)
Rede doméstica
Eu executo o LEDE (anteriormente OpenWRT ) no meu roteador doméstico, que executa dnsmasq
. Examinei a documentação do DNS e até configurei o sistema para que o servidor DNS usado para resolver o endereço seja do Google ( 8.8.8.8
) - mas ainda falha e não consigo descobrir o porquê.
Pergunta
O que está acontecendo aqui e como posso corrigir isso?
Esta é uma característica do
dnsmasq
. Asdnsmasq
pessoas chamam isso de "proteção de religação", e você pode vê-lo nodnsmasq
manual como--stop-dns-rebind
opção de linha de comando e no LEDE doco comorebind_protection
opção.O padrão é estar ligado. Desative-o ou adicione o domínio que deseja trabalhar ao conjunto de
rebind_domain
domínios da lista de permissões.O ataque que ele pretende impedir é aquele em que um invasor, que se aproveitou do fato de que seu navegador WWW baixará e executará automaticamente programas fornecidos por invasores do mundo em geral, faz com que o nome de domínio xyr pareça alternar rapidamente entre um domínio externo endereço IP e um interno para sua LAN, permitindo que sua máquina se torne um canal entre outra máquina em sua LAN com esse endereço IP e alguns servidores de conteúdo executados por invasores.
É uma medida de segurança de alguns softwares de DNS para não resolver endereços IP privados. Acho que a justificativa para isso é impedir o acesso a roteadores não seguros.
Esse problema pode ser resolvido não usando um DNS que resolve tudo para você, mas configurando seu resolvedor para se conectar ao NS desse domínio.