resolv.conf não é configurado na reinicialização quando a rede está configurada para ip estático

17

Estou experimentando o que parece ser um problema de resolução de nomes na edição do Ubuntu 12.04 Server ao configurar meu computador para usar ip estático.

Em / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

A execução de $ sudo apt-get upgrade resulta em um "Falha ao buscar ...":

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

Quando eu mudo meu / etc / network / interfaces para:

auto eth0
iface eth0 inet dhcp

Tudo funciona bem.

Examinar o /etc/resolv.conf fornece mais algumas dicas.

Nos casos em que eu estava recebendo o problema de resolução, o resolv.conf estava vazio; nenhum servidor de nomes foi especificado. Então eu mudei para DHCP de redes estáticas e reiniciadas; /etc/resolv.conf foi alterado para: 'nameserver 192.168.1.1'.

Mudar do DHCP para estático e reiniciar não remove a entrada do servidor de nomes. Mas quando reiniciei o sistema com o conjunto estático, o resolv.conf estava vazio. Quando eu reiniciar o sistema com o DHCP configurado, o resolv.conf tem o servidor de nomes 192.168.1.1. Então, parece que o problema é que resolve.conf não está sendo escrito corretamente? Qual pacote / código é responsável por gravar no resolv.conf? Existe algum pacote específico que eu possa dar uma olhada em questões abertas?

ATUALIZAÇÃO: O istream postou um bom artigo discutindo mudanças no resolve.conf em 12.04. link

    
por kenneth koontz 29.04.2012 / 06:46

4 respostas

16

De acordo com a página de manual do resolvconf (exemplo fornecido na man page), adicione o seguinte para o seu / etc / network / interfaces sob sua configuração estática:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]
    
por ukjola 29.04.2012 / 09:52
1

Tem certeza de que você forneceu 192.168.1.1 como o valor do DNS quando configurou o IP estático?

Eu não sei como fazer isso a partir da linha de comando, mas usar o System Settings -> Network GUI deve funcionar também, não? Tudo o que eu estou pensando é que você quer algo como a captura de tela abaixo? Ou não estou entendendo o que você está tentando fazer?

Nota: Ignore os valores na janela da esquerda. Esses são apenas meus valores do DHCP. Eu não me preocupei em salvar a configuração estática, já que eu estava apenas tentando ilustrar o que eu estava pensando.

By the way, eu usei 192.168.1.1 porque é isso que você estava usando. Mas você também pode usar os IPs para qualquer servidor DNS válido. Por exemplo, 8.8.8.8 e / ou 208.67.222.222 também devem funcionar.

    
por irrational John 29.04.2012 / 08:26
0

Se você não quiser (ou não puder) usar o applet Network Manager para configurar suas configurações de rede, eu acho a maneira correta de configurar uma configuração IP "estática" , para quando você não tem um servidor DHCP disponível, é ter uma concessão estática no dhclient.conf . Lá você deve especificar o servidor de nomes que será gravado no arquivo resolv.conf quando o dhclient retornar a estática.

No entanto, se você não quiser sujar as mãos, eu ainda recomendo usar a GUI para especificar um endereço de servidor DNS nas configurações de IP da sua conexão, como em link .

    
por Simón 29.04.2012 / 09:24
0

O OP está usando o servidor ed. O NetworkManager não se aplica .. embora quem sabe talvez ele seja adicionado apenas para adicionar complexidade ao servidor.

Para esse assunto, por que, no mundo, o resolvconf foi adicionado ao servidor ed ... WHY !! ??!?

De qualquer forma, para responder à sua pergunta, adicione:

/ etc / network / interfaces

algo como isto:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

A opção importante é "dns-nameservers".

    
por jbowen7 14.06.2013 / 09:22