Depois de atualizar minha instalação 16.04 para 16.10, tenho problemas com o DNS.
Primeiro, tive problemas algumas vezes quando conectado ao WiFi, enquanto ele trabalhava na Ethernet. Agora parece que também funciona com WiFi. Não sei por que e se está relacionado ao problema que enfrento agora:
Ao conectar-se a um host VPN com o Cisco Anyconnect VPN , ele adiciona uma linha em '/etc/resolv.conf' . Eu entendo que o Ubuntu agora está usando systemd-resolve , e a página de manual diz que existem três modos diferentes para lidar com o /etc/resolv.conf. Meu /etc/resolv.conf não é um link simbólico e não lista 127.0.0.53 como um servidor DNS, pelo que entendi que systemd-resolved deveria "lê-lo para obter dados de configuração de DNS". No entanto, parece não se importar com isso.
escavação
O estranho (para mim) é que dig host.customer.tld
, retorna uma boa resposta com uma seção de resposta mostrando o ip do host solicitado e refere-se ao servidor DNS adicionado ao /etc/resolv.conf pelo cliente vpn como servidor. Quando a conexão VPN está desativada, não recebo resposta. Ou seja, dig lê /etc/resolv.conf .
ping
O navegador, por outro lado, não acessa o /etc/resolv.conf e não consegue resolver o nome do host. Nem é ping / curl, a propósito.
nmcli
Encontrei uma postagem relacionada e tentei executar
nmcli device show <interfacename> | grep IP4.DNS
mas não lista nenhum DNS para o dispositivo cscotun0. (Também não está no 16.04.) Além disso, o nmcli lista meu servidor dhcp (meu roteador) como host IP4.DNS para minhas conexões eth / wlan. Usar dig @192.168.0.1 xxx
para qualquer domínio público funciona bem.
configuração
Existem alguns outros servidores DNS listados em meu /run/systemd/resolve/resolv.conf:
nameserver 8.8.8.8
nameserver 8.8.4.4
nameserver 2001:4860:4860::8888
# Too many DNS servers configured, the following entries may be ignored.
nameserver 2001:4860:4860::8844
Estes não são servidos pelo meu servidor DHCP. o arquivo /etc/systemd/resolved.conf contém apenas linhas comentadas, exceto o cabeçalho da seção:
[Resolve]
#DNS=
#FallbackDNS=8.8.8.8 8.8.4.4 2001:4860:4860::8888 2001:4860:4860::8844
A página de manual do resolved.conf diz que
DNS = Uma lista separada por espaços de endereços IPv4 e IPv6 para usar como servidores DNS do sistema. ... Por motivos de compatibilidade, se essa configuração não for especificada, os servidores DNS listados em /etc/resolv.conf serão utilizados, se esse arquivo existir e se houver algum servidor nele configurado. Essa configuração é padronizada para a lista vazia.
FallbackDNS = Uma lista separada por espaços de endereços IPv4 e IPv6 a serem usados como servidores DNS de fallback. Qualquer servidor DNS por link obtido no systemd-networkd.service (8) tem precedência sobre essa configuração, assim como qualquer servidor configurado via DNS = acima ou /etc/resolv.conf. Essa configuração é usada apenas se nenhuma outra informação do servidor DNS for conhecida. Se essa opção não for fornecida, uma lista compilada de servidores DNS será usada.
Parece que o fallback acaba em /run/systemd/resolve/resolv.conf no meu caso.
EDIT: Eu não tinha certeza de qual era o problema e, para ser sincero, ainda não sei exatamente como isso funciona, mas pelo menos aconteceu que a solução no meu caso era desativar o systemd-resolved
serviço. Eu pensei que esse serviço era necessário, que era o componente que fornecia o serviço DNS para todos os aplicativos locais, mas aparentemente há algo mais lá fazendo esse trabalho.
fonte
Respostas:
Eu tive problemas semelhantes, por exemplo, com a adição de um dongle USB USB extra. Primeiro, desativei o dnsmasq no networkmanager, conforme descrito acima, e parei o dnsmasq (service dnsmasq stop)
Percebi que, ao resolver quebras durante a conexão da VPN, a tabela de roteamento parece um pouco diferente (comando output of route). O nome do gateway é DD-WRT no caso de não funcionar e simplesmente 'gateway' quando funciona. A saída disso não mudou:
Ele continuava mostrando o IP do meu roteador. Uma solução alternativa para fazê-lo funcionar por um tempo é reiniciar o systemd-resolvd:
Como o dnsmasq está fora da equação, é systemd-resolvd a causa do problema ou qualquer coisa que altere a tabela de roteamento.
Portanto, esta é a única diferença que vejo:
que funciona E isso quando não funciona:
E a mesma diferença de nome na linha de VPN:
Quem sabe o que pode influenciar a tabela de roteamento? Seria ótimo se pudéssemos identificar isso para que um relatório de bug possa ser arquivado. Estou ficando muito doente e cansado de procurar todos esses bugs, mas gostaria de corrigi-los para que futuros usuários e nós fiquemos felizes :).
[atualização] Parece que parar o systemd-resolved pode corrigir isso e não afetar negativamente outras coisas. Você pode tentar isso e informar se quebra alguma coisa. Eu vi ao executar systemd-resolvd na depuração quando ele quebrou:
Desabilitar:
Eu atualizei o relatório do Ubuntu com sugestões. [/ update] Add: Note: o relatório de bug: https://bugs.launchpad.net/ubuntu/+source/systemd/+bug/1624317 possui um patch para 17.04 para alguns problemas. Por favor, verifique o relatório de erros e, se possível, teste o patch. Obrigado!
[atualizar]
Por favor, verifique o relatório de bug mencionado acima, o problema parece ter sido resolvido para 17.10 e com um comando simples, o vazamento de DNS também pode ser desativado.
[/atualizar]
fonte
sudo systemctl disable systemd-resolved.service
e configurando o DNS a 8.8.8.8 em /etc/resolv.confO comportamento do DNS durante a conexão OpenVPN melhorou imediatamente quando segui uma sugestão no ubuntuforums:
/etc/NetworkManager/NetworkManager.conf
em um editor com direitos de root.#
) a linha que lêdns=dnsmasq
sudo service NetworkManager restart
fonte
Ocorreu o mesmo problema. De alguma forma, eu devo ter instalado o DNSmasq com algum aplicativo. A simples remoção do dnsmasq resolveu o problema para mim.
Desde então, não há mais desconexões ou alguns sites não conseguem mais carregar (eu tive um problema ao carregar o gmail, ou seja, de repente ele não conseguia se conectar ao gmail, embora outros sites funcionassem).
fonte
apt remove dnsmasq-base
...The following packages will be REMOVED: account-plugin-ubuntuone checkbox-converged checkbox-gui dnsmasq-base indicator-network network-manager network-manager-gnome network-manager-openconnect network-manager-openconnect-gnome network-manager-openvpn network-manager-openvpn-gnome network-manager-pptp network-manager-pptp-gnome network-manager-vpnc pay-service plainbox-provider-checkbox plainbox-provider-resource-generic ubuntu-desktop ubuntu-fan ubuntu-push-client ....
Editar
/etc/nsswitch.conf
e alterarpara
Editar:
Eu tenho os mesmos problemas há algum tempo. Consegui resolver nomes de domínio da VPN, mas não consegui fazer ping ou curvar esses nomes ou usá-los em outros aplicativos. A alteração descrita acima resolveu isso para mim.
fonte