Que servidores de nomes upstream do dnsmasq / NetworkManager realmente usam?

2

Estou tentando solucionar problemas e instalar o dnscrypt (-proxy) no meu laptop. Eu quero descobrir quais servidores DNS efetivamente são usados pela minha instalação padrão do Ubuntu (com NetworkManager e dnsmasq, é claro). No entanto achei a configuração do dnsmasq um labirinto. Não consegui descobrir quais servidores DNS estão configurados para consultar.

Primeiro, eu verifiquei o /etc/resolv.conf , que, claro, está configurado para consultar 127.0.1.1 onde o dnsmasq-base está escutando. Ok, então é hora de verificar a configuração do dnsmasq para quais servidores está configurado para consulta. /etc/dnsmasq.d/ está vazio, exceto por network-manager com uma única entrada: bind-interfaces . Não há muita ajuda lá. Então eu verifico como o NetworkManager chama o dnsmasq:

$ pgrep -a dnsmasq
1786 /usr/sbin/dnsmasq --no-resolv --keep-in-foreground --no-hosts --bind-interfaces --pid-file=/var/run/NetworkManager/dnsmasq.pid --listen-address=127.0.1.1 --cache-size=0 --conf-file=/dev/null --proxy-dnssec --enable-dbus=org.freedesktop.NetworkManager.dnsmasq --conf-dir=/etc/NetworkManager/dnsmasq.d

Ok, portanto, não está usando /etc/resolv.conf , está ignorando /etc/hosts/ , seu arquivo de configuração está definido como /dev/null e /etc/NetworkManager/dnsmasq.d está vazio também. Então não há pistas também. Deve cair para alguns padrões ou algo assim?

Outros arquivos que encontrei:

  • /run/NetworkManager/resolv.conf diz nameserver 127.0.1.1
  • /run/resolvconf/resolv.conf diz nameserver 127.0.1.1
  • /etc/resolv.conf diz nameserver 127.0.1.1
  • /etc/resolvconf/base está vazio, ./head só tem comentários
  • /var/ e /run/ não possuem mais arquivos com o nome resolv.conf

Executando wireshark , posso ver que ele está pedindo ao meu roteador doméstico por respostas de DNS (como esperado). Mas onde é que obtém esse IP e onde o altero, sem utilizar todas as outras funcionalidades do dnsmasq e do NetworkManager (por exemplo, DNS dividido para VPN)?

    
por Florian Heinle 10.06.2017 / 14:52

2 respostas

1

Descobri onde essa informação, depois de receber ben via DHCP, é mantida:

/var/lib/NetworkManager/*lease

Para alterar essas configurações, consulte a documentação do NetworkManager :

nmcli con modify my-office my-office ipv4.ignore-auto-dns yes ipv6.ignore-auto-dns yes
nmcli con mod test-lab ipv4.dns "8.8.8.8 8.8.4.4"
nmcli con mod test-lab ipv6.dns "2001:4860:4860::8888 2001:4860:4860::8844"
    
por Florian Heinle 27.07.2017 / 20:48
0

Sabemos que você obtém seu endereço IP, servidores de nomes DNS etc. de uma transação DHCP com seu roteador, comutador ou outro ponto de acesso. Se o seu era um endereço estático, você teria que especificar os servidores de nomes DNS e, portanto, você já saberia que os servidores DNS estão sendo usados efetivamente.

Em uma transação DHCP, os servidores de nomes DNS no roteador são transferidos para sua conexão. Na verdade, eles podem vir, por sua vez, do modem ou do dispositivo de internet fornecido pelo seu provedor de serviços de Internet.

Provavelmente, você pode especificar os servidores de nomes de sua preferência acessando as páginas de administração do roteador como esta.

Além disso, você pode direcionar o Network Manager para usar os servidores de nomes preferidos, como este: remove dns fornecidos pelo isp

Como os servidores de nomes DNS variam por conexão; ou seja, você receberá um servidor de nomes DNS diferente conectado no trabalho a partir do servidor de nomes conectado em casa, os números fornecidos serão mostrados em / etc / NetworkManager / system-connections / foo em que foo é o nome da conexão. Por exemplo, uma das minhas conexões é Conexão com fio 1 e relata, entre outras entradas:

[ipv4]
dns=8.8.8.8;8.8.4.4;
dns-search=
ignore-auto-dns=true
method=auto
    
por chili555 10.06.2017 / 15:29