O ping 8.8.8.8 funciona, mas o ping www.google.com não

11

Estou executando o ubuntu server 16.04.2 e apt-get updateretorna uma falha temporária resolvendo "tudo na lista".

  • Quando eu sigo o site www.google.com, ele responde com um host desconhecido.
  • Quando faço ping no 8.8.8.8, recebo pacotes enviados sem erros, etc.

Eu tentei todas as "correções" que posso encontrar nos fóruns do Ubuntu e em todo o mundo da Internet e nada funciona. O resolv.confestá vazio, se o config mostra que o nic está funcionando, o firewall está desligado e eu joguei fora o martelo por precaução. Infelizmente, estou digitando isso em outro computador na mesma rede, mas não consigo anexar texto das várias saídas para mostrar o que está acontecendo. Precisa de ajuda sobre isso, por favor.

O arquivo resolv.conf contém estas linhas:

# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) # DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
search 8.8.8.8 8.8.4.4

A última linha é colocada pelo arquivo de interfaces quando você reinicia o sistema. Isso é novo para 16.04LTS. Estou pensando que o Windows NT4 não era tão ruim e nem o Ubuntu Server 12.

Gary Mercer
fonte
2
Como o seu sistema está obtendo seu endereço IP? É proveniente de um servidor DHCP? É um IP estático? Ser capaz de executar ping no endereço IP funcionará sem uma configuração de IP do servidor DNS. Mas parece que você não tem uma configuração de endereço DNS ou seu DHCP não está fornecendo.
Terrance
IP é estático. Nunca configurei o servidor DNS quando instalei o software do servidor.
Gary Mercer
Veja em askubuntu.com/questions/143819/… e adicione sua entrada DNS como os servidores DNS do Google em 8.8.8.8 e 8.8.4.4
Terrance
Eu fiz tudo isso. Meu ip estático é proveniente de at & t vdsl box. Estou usando seus servidores de nomes de DNS e IP de pesquisa de DNS. A única coisa que posso deduzir é que a at & t está bloqueando as consultas DNS.
Gary Mercer
Interessante. Talvez você queira entrar em contato com a AT&T e verificar se eles a estão bloqueando. Acho que você pode tentar substituir os servidores DNS pelos servidores DNS do Google e ver se isso funciona.
Terrance

Respostas:

16

Você precisa de um servidor de nomes no seu /etc/resolv.confarquivo. Edite seu /etc/resolv.confe adicione um servidor de nomes que funcione. O Google fornece um grátis 8.8.8.8.

Faça isso:

$ nano /etc/resolv.conf

Coloque isso como a primeira linha não comentada:

nameserver 8.8.8.8

Você pode verificar esta funcionalidade com:

$ ping -c10 www.google.com

Você pode tornar essa alteração permanente adicionando a linha a esse arquivo no seu /etc/resolvconf/resolv.conf.d/headarquivo.

LD James
fonte
Whoopie! Sucesso! com licença, 36 horas seguidas batendo nessa caixa ... Funcionou. Eu até coloquei nos at & t ip's e funcionou. Obrigado a todos por sua ajuda e rapidez. (Sr. Moderador, esses caras precisavam de um tapinha nas costas de modo a aliviar-se sobre todo o lixo sem emoção)
Gary Mercer
resolv.conf não está dando permissão para editar
Syam Kumar KK
em contraste com a resposta @Ragy Morkos', ele trabalhou para mim também no Ubuntu 18.04 LTS
Gwang-Jin Kim
Muito obrigado! Não consegui executar ping no www.google.com depois de fazer o chroot no ubuntu. Graças à sua solução, agora eu posso fazer instalações etc na partição chroot-ed.
Gwang-Jin Kim #
3

A resposta marcada realmente não funciona no Ubuntu 18.04.01. Para corrigir esse problema, aqui está o que eu fiz:

  • Executar sudo gedit /usr/lib/systemd/resolv.conf
  • Cole nameserver 8.8.8.8(e / ou qualquer outro servidor de nomes que você deseja) e salve e saia.
  • Adicione um link simbólico executando sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

Créditos para https://askubuntu.com/a/1050280/899241

Ragy Morkos
fonte
2

Você poderia postar um link para a página que informava que o arquivo resolv.conf deveria estar vazio? Meu palpite é que isso é enganoso, na melhor das hipóteses.

Edite esse arquivo com o comando sudo nano /etc/resolv.confe coloque uma única linha:

nameserver 8.8.8.8

Isso deve corrigir sua resolução de nomes e os vários programas que a utilizam - ping, apt-get, etc.

Você também deve investigar por que o resolv.conf está vazio. Talvez o seu servidor DHCP não esteja configurado corretamente.

surf
fonte
Isto é o que o arquivo contém: # Arquivo dinâmico resolv.conf (5) para o glibc resolvedor (3) gerado pelo resolvconf (8) # NÃO EDITAR ESTE ARQUIVO À MÃO - SUAS ALTERAÇÕES SERÃO SUBSTITUÍDAS search 8.8.8.8 8.8.4.4 A última linha é colocada pelo arquivo de interfaces quando você reinicia o sistema.
23417 Gary Mercer
@ GaryMercer, adicione isso à sua pergunta. É difícil ler em um comentário.
Wjandrea
0

Não é uma boa idéia no Ubuntu 16.04.x ​​apenas substituindo /etc/resolv.conf. O sistema operacional o substituirá por conta própria, provavelmente.

O arquivo /etc/resolv.confgeralmente é um link simbólico para outro arquivo:

ls -lisa /etc/resolv.conf
1310924 0 lrwxrwxrwx 1 root root 29 Jul 13  2016 /etc/resolv.conf -> ../run/resolvconf/resolv.conf

o que significa que está correto e você pode editá-lo, mas provavelmente outro programa o substituirá. Acho que você tem o NetworkManager instalado. Que eu saiba, este serviço gerencia o conteúdo da sua resolução. Então você realmente deve tentar configurar esse. (Por outro lado, o NetworkManager pode estar desativado no seu sistema. Você pode precisar me avisar.)

Tente nmtuiadicionar lá o servidor DNS correto. Eu também usaria 8.8.8.8apenas como DNS secundário. Seu DNS primário deve ser uma máquina ou roteador próximo à sua rede local ou o que você tiver lá ...

Gerhard Stein
fonte
Nenhum gerenciador de rede. É um servidor sem interface gráfica. Eu instalei o dnsutils antes de sair da conexão com os repositórios.
Gary Mercer
@ Gary Mercer: como você traz a interface de rede então? (ifup e ifdown?) A GUI do Network Managers é um componente opcional. nmtuié o texto desse.
Gerhard Stein
Eu trago o nic, reiniciando o sistema. Por ser um servidor, ele nunca é desativado. Descobri que o uso de serviços de reinicialização nem sempre funciona por causa dos outros componentes inter-relacionados que compõem todos os serviços que usam a interface. É apenas mais fácil e eficiente reiniciar todos os serviços com um simples comando de reinicialização.
22817 Gary Mercer
Ao reiniciar o sistema, algo "um gerente" precisa trazer seus dispositivos. Em qual você configurou os endereços IP estáticos?
Gerhard Stein
0

Eu tive o mesmo problema, até editar com os seguintes valores o arquivo 50-cloud-init.yaml

 network:
    ethernets:
        eno2:
            addresses:
            - 192.168.0.50/24 (my static ip address)
            dhcp4: false
            gateway4: 192.168.0.42
            nameservers:
                addresses: [208.67.222.222,208.67.220.220]
                search: [208.67.222.222]

Espero que funcione para você também

Sal-Sanchez
fonte
Se estiver usando o netplan, os servidores DNS do Google estariam addresses: [8.8.8.8,8.8.4.4] (talvez use melhor o 1.1.1.1 do Cloudflare ) /etc/netplan/50-cloud-init.yamle depois sudo netplan --debug apply.
Pablo Bianchi
0

Você está enfrentando um problema relacionado ao servidor DNS especificado para o seu sistema. Verifique sua entrada do servidor de nomes em /etc/resolv.conf.

O problema é que o comando ping não consegue identificar o que é "www.google.com" porque o servidor DNS não pode resolvê-lo e fornecer o endereço IP real do Google (todos os servidores podem ser acessados ​​apenas pelo seu endereço IP)

Solução

Edite a entrada em /etc/resolv.conf. Forneça um servidor DNS correto, /etc/resolve.confque possa resolver "www.google.com"

ou yVocê pode especificar o resolvedor do sistema local cujo endereço IP é 127.0.0.53 adicionando uma linha

nameserver 127.0.0.53

ou forneça o IP do servidor DNS do Google (qualquer um deles): 8.8.8.8 ou 8.8.4.4

nameserver 8.8.8.8**

PS Você pode entender melhor como o DNS funciona aqui

Shubham gosain
fonte
-2

O problema abordado aqui é aquele que se resume a resolver nomes de domínio para um endereço IP internamente. Desde a versão 15 do servidor Ubuntu, acredito, usa um sistema de arquivos de configuração dinâmica que mudam toda vez que o serviço ou sistema é reiniciado ou reiniciado. Se o administrador fizer uma alteração no arquivo resolv.conf, essas alterações serão excluídas quando o serviço do resolvedor for reiniciado.

Para tornar as alterações permanentes, o Ubuntu criou uma maneira de tornar as alterações permanentes dos usuários sem afetar a configuração dinâmica dos arquivos de configuração. A sugestão do LD James (acima) foi adicionar as alterações que eu precisava fazer no /etc/resolvconf/resolv.conf.d/headarquivo.

Isso tornou as alterações permanentes e resolveu o problema de resolver a mensagem de erro de nomes de domínio host not found. É a solução para definir o servidor de nomes dns no arquivo de interfaces e depois transferi-lo para o resolvedor. Obrigado a todos por seus esforços supremos na solução deste quebra-cabeça.

Gary Mercer
fonte