Ubuntu 12.04 - Não Consegue Resolver o Nome do Host

5

Eu tenho um pequeno servidor dedicado no qual eu instalei o Ubuntu 12.04. Eu acesso via x2go desde que eu tenha um desktop instalado.

Tudo funcionou bem até 2 dias atrás, quando, após uma reinicialização, perdi qualquer acesso à Internet e comecei a receber os erros "Não é possível resolver o nome do host".

Se eu tentar pingar no google, recebo:

ping: unknown host google.com

Para acessar alguns sites, adicionei-os ao arquivo de hosts e ele funciona para a maioria deles, mas não para todos. Claro que isso é apenas uma solução temporária.

Se eu olhar em "Configurações do sistema - Rede", recebo o seguinte:

Eu não sou muito competente, então não sei quais outras informações postar, mas por favor, pergunte qualquer coisa que você queira que eu descubra.

Obrigado.

    
por Threshold 08.12.2014 / 20:13

1 resposta

6

O problema está puramente relacionado ao DNS. Como não havia entradas de servidor de nomes DNS no arquivo /etc/resolv.conf , a resolução de nomes estava falhando enquanto pingava por nome de host para hosts fora de suas entradas / etc / hosts .

No Ubuntu 12.04, o pacote Network Manager fornece a funcionalidade relacionada à rede (em vez do antigo programa networking ), com o resolvconf (e dnsmasq até certo ponto) programa fornecendo a funcionalidade de DNS em massa. Mas, surpreendentemente, no seu caso, o resolvconf não está instalado, por isso temos que atualizar manualmente o arquivo /etc/resolv.conf .

Então, executando o comando

  

echo "nameserver 8.8.8.8" | sudo tee /etc/resolv.conf

basicamente, definimos o servidor DNS gratuito do Google (8.8.8.8) como o servidor de nomes.

Este comando irá inserir o texto "nameserver 8.8.8.8" no arquivo "/etc/resolv.conf" e exibir o texto na tela também. Desta forma, temos um resolvedor de nome de trabalho que resolverá os nomes de host que fornecemos nos endereços IP.

Uma coisa muito importante a notar aqui, estamos usando o DNS do Google, que não é o ideal, você deve usar o DNS do seu ISP aqui. Peça ao seu ISP para fornecer seu endereço DNS (pode ser múltiplo) e adicione o endereço como o servidor de nomes. Embora você possa manter o DNS do Google como backup, caso o seu ISP falhe por algum motivo. Vamos supor que o DNS do seu ISP seja vv.xx.yy.zz , portanto, você precisa executar os seguintes comandos para torná-lo o DNS principal e manter o DNS do Google como backup.

echo "nameserver vv.xx.yy.zz" | sudo tee /etc/resolv.conf && echo -e "nameserver 8.8.8.8" "\nnameserver 8.8.4.4" | sudo tee -a /etc/resolv.conf

Veja o comando -a no comando tee , que é usado para acrescentar, em vez de sobrescrever. Aqui 8.8.4.4 é também o DNS do Google.

Você pode adicionar quantos servidores de nomes desejar em /etc/resolv.conf , mas isso seria um exagero. Apenas mantenha-o simples, mas compacto.

    
por heemayl 09.12.2014 / 02:48