Como faço para adicionar um servidor DNS via resolv.conf?

E /etc/resolv.conf inútil em Ubuntu 12.04 LTS (Pangolim Preciso)?

Vejo que as informações do servidor DNS estão armazenadas em NetworkManager agora. O nmcli ferramenta de linha de comando pode listar isso para você.

Se eu quiser adicionar mais um DOMINIO servidor, irá adicioná-lo a /etc/resolv.conf usando o resolvconf ajuda do pacote?

Se /etc/resolv.conf conteudo nameserver 127.0.0.1 em seguida, adicionando entradas para /etc/resolvconf/resolv.conf.d/tail não vai realmente fazer nada de útil.

Se você estiver usando NetworkManager, em vez disso, você deve adicionar estaticamente endereços de servidor de nomes via indicador de rede: Editar Conexões... | Editar... / Configurações IPv4 / servidores DNS adicionais.

Se você realmente deseja adicionar mais entradas a /etc/resolv.conf, crie um /etc/resolvconf/resolv.conf.d/tail e adicione-os lá.

Como em todas as versões do Ubuntu, é recomendável ler as notas de versão do Ubuntu, disponíveis aqui:

As seções desktop e Common Infrastructure contêm um link para

Encontrei outra abordagem aqui isso envolve adicionar uma linha como a abaixo para /etc/dhcp/dhclient.conf:

prepend domain-name-servers x.x.x.x, y.y.y.y;

Da mesma forma, encontrei uma terceira abordagem aqui isso envolve adicionar linhas a /etc/network/interfaces:

auto eth0iface eth0 inet static    . . .    dns-nameservers 8.8.8.8 8.8.4.4

Atualização: aqui está o documentação oficial para a terceira abordagem.

Parece que você está falando sobre o pacote resolvconf.

Instalar o resolvconf pacote.

Executar

cd /etc/resolvconf/resolv.conf.dsudo cp -p head head.orig  #backup copy, always do thissudo nano head

O topo do arquivo é um aviso assustador. O arquivo / etc / resolv.conf é gerado automaticamente a partir do conteúdo deste arquivo; o aviso está lá para que ele seja colocado em / etc / resolv.conf quando / etc / resolv.conf é gerado. Ao final do arquivo, adicione

nameserver <ip_of_nameserver>

Premir Ctrl x e responda Sim para salvar o arquivo. Para terminar, regenere /etc / resolv.conf então as mudanças são aplicadas agora:

sudo resolvconf -u

Em seguida, verifique o conteúdo de / etc / resolv.conf para ver a linha que você adicionou está agora lá. Além disso, ele ainda estará lá na próxima vez que sua máquina inicializar ou seu serviço de rede for reiniciado, o que ocorrer primeiro.

Abaixo, mostrarei a melhor maneira que encontrei desde que executei o Ubuntu Server edition e uso o ifup em vez do NetworkManager.

Na verdade, para mim, eles tornaram isso mais fácil :) colocando tudo no arquivo /etc/network/interfaces. As mesmas configurações que você teria escrito para resolver.o conf agora pode estar no mesmo arquivo que as configurações do adaptador de rede, como no exemplo abaixo:

# The loopback network interfaceauto loiface lo inet loopback# The Primary Network Interfaceauto eth0iface eth0 inet static        address 192.168.1.2        netmask 255.255.255.0        network 192.168.0.0        broadcast 192.168.1.255        gateway 192.168.1.1        dns-nameserver 75.75.75.75         dns-nameserver 75.75.76.76        dns-search local        wildcard mask 0.0.0.255        cidr prefix size /24        cidr notation 192.168.1.0/24        first host 192.168.1.255        last host 192.168.1.254        mac address J7:836:737:727:gsgd837:g645

Espero que isso ajude e torne mais fácil para mim, agora podemos criar endereços IP estáticos e adicionar servidores de nomes e domínio dns em um arquivo :)

O meu está executando o Ubuntu Server 12.04. Eu fiz as seguintes alterações e reiniciei o servidor (normalmente isso pode ser feito apenas derrubando a interface de rede, ou seja, ifdown eth0 ou ifup eth0).

Em arquivo /etc/resolvconf/resolv.conf.d/base Eu adicionei as seguintes entradas:

nameserver 8.8.8.8nameserver 8.8.4.4

Espero que o acima ajude!

Você pode usar o NetworkManager conforme declarado na resposta de Frank, mas se preferir editar manualmente /etc/resolv.conf, você pode fazer isso excluindo-o (na verdade é um link simbólico) e, em seguida, criando um novo arquivo simples com o conteúdo desejado. O resolvconf utilitário só grava no arquivo /run/resolvconf/resolv.conf.

Nota: esta resposta foi para uma versão pré-mesclagem bastante diferente da pergunta, com foco apenas na pré-pendência de um servidor de nome desejado.

Isso funciona pré-12.04:

Editar /etc/dhcp3/dhclient.conf e adicionar :
prepend domain-name-servers 127.0.0.1;

(Na verdade, esta linha já está presente ; tudo o que você precisa fazer é não comentar.)

resolvconf é inútil. Estou em um servidor Linux e meu Endereço IP é estático e meu DOMINIO os servidores são estáticos. Eu não preciso resolvconf ou NetworkManager.

Mantê-lo simples é minha Política ao trabalhar em um servidor. Quanto menos complexidade, mais fácil será Gerenciar/corrigir quando as coisas quebrarem.

Então eu fiz aptitude purge resolvconf e manualmente certificou-se /etc/resolv.conf não é um simbolica e apenas criou um arquivo estático. Apenas no caso de um programa tentar alterar o arquivo, eu fiz chattr +i (imutável) para /etc/resolv.conf como precaução.

A maioria dos itens acima assume que você tem um sistema intocado, mas a realidade geralmente é tal que você está instalando diferentes clientes dhcp, desativou o Gerenciador de rede em determinada versão anterior do Ubuntu, etc. Pode valer a pena saber o seguinte. Eu tenho usado o dnsmasq por um tempo, mas o desinstalei. Atualmente, meu sistema tinha o seguinte conteúdo de /etc/resolv.conf (que é um link simbólico para /run/resolvconf/resolv.conf no meu sistema):

cat /etc/resolv.conf# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTENnameserver 127.0.0.1

Não importa quantas vezes Eu corro sudo resolvconf -u ou sudo dpkg-reconfigure resolvconf, não atualizou o servidor de nomes para aqueles que defini no NetworkManager. A informação que resolvconf usa do NetworkManager estava presente:

cat /run/resolvconf/interface/NetworkManager  nameserver 8.8.4.4nameserver 8.8.8.8

No entanto, acontece que, se houver vários arquivos neste diretório, esse arquivo pode não ser usado. O culpado foi um arquivo não removido com a desinstalação do dnsmasq:

cat /run/resolvconf/interface/lo.dnsmasq                        nameserver 127.0.0.1

Apenas removendo este arquivo (e executando sudo resolvconf -u depois) resolveu meus problemas de dns:

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

Espero que isso ajude outras pessoas com a depuração (as interações complexas entre todas essas diferentes ferramentas de rede) também. Se você usar resolvconf certifique-se de correr ls /run/resolvconf/interfaces para ver o que está lá.

Acabei de excluir um link em /etc/resolv.conf e criou um arquivo regular com os endereços dos servidores de nomes. Funciona e não vejo motivos para usar essa construção bastante estranha que os desenvolvedores do Ubuntu criaram.

Acho que o comando mencionado acima deve ser ‘nm-tool, nãonmcli’.