Finalmente, migrei para 12.04 da 7.10. Tenho uma última parte a completar, mas estou perplexo. Estou usando o Puppet em cada servidor e, no passado, incluí um endereço de servidor de nomes e um nome de domínio de pesquisa para o puppetmaster no resolv.conf.
search puppetmaster.com
nameserver 192.168.1.XXX
Na versão 12.04, o resolv.conf é substituído quando reiniciado. Como não posso usar um IP estático para isso, usar as interfaces / etc / network / para me ajudar é um ponto nulo.
# 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
nameserver 127.0.0.1
Existe uma maneira de obter o resolvconf para lidar com isso na cabeça, cauda ou base? Se houver, existem exemplos que eu possa usar para ajustar no meu servidor.
Qualquer ajuda é muito apreciada.
resolv.conf
Sam
fonte
fonte
Respostas:
Provavelmente, é melhor que o servidor DNS consiga resolver o "fantoche" para o endereço certo e que o servidor DHCP distribua o endereço do servidor de nomes DNS e a lista de pesquisa ou então (se você tiver endereços IP estáticos) para ter algo como o seguinte em / etc / network / interfaces.
Mas se você quiser fazê-lo através dos arquivos de configuração resolvconf, deverá editar
/etc/resolvconf/resolv.conf.d/base
. Nesse arquivo, insira suas informações como fariaresolv.conf
.Em seguida, diga ao resolvconf para se regenerar
resolv.conf
.fonte
Eu acho que a resposta é verificar o seu
/etc/dhcp/dhclient.conf
, ou seja, não solicitardns-nameservers
ao seu cliente DHCP .Atualize seu
/etc/network/interfaces
Então você
resolv.conf
será configurado automaticamente da maneira que desejar.Adicione ao
dns-search
e, em seguida, execute a/etc/init.d/networking restart
(mesmo que esse script esteja obsoleto, ele ainda funciona).fonte
/etc/init.d/networking restart
não funcionou na minha máquina, massudo ifdown -a
e depoissudo ifup -a
fez. (Além disso, ele me levou um pouco para perceber que eu tinha para substituirdnsserverip
com algo como8.8.8.8
, eu me sinto um pouco bobo.)systemctl restart networking.service
Provavelmente, isso é causado pela configuração do DHCP quando você instalou o Ubuntu pela primeira vez. Experimente este processo de três etapas para lidar com esse problema de configuração automática.
Primeiro
Edite sua configuração de interface, localizada em:
/etc/network/interfaces
Adicione esta linha abaixo
iface lo inet loopback
:Como um exemplo para o DNS do Google, você pode querer usar isto:
Segundo
Edite seu arquivo de configuração DHCP, localizado em:
Marque a sintaxe como um comentário usando
#
em todas as linhas ou simplesmente remova todos os servidores de nomes de solicitações. Na 16.04, talvez não seja necessário fazer alterações aqui.Terceiro
Reinicie sua rede usando este comando:
Em 16.04:
fonte
/etc/init.d/networking restart
não funcionou na minha máquina, massudo ifdown -a
e depoissudo ifup -a
fez.Por favor, olhe a
resolvconf
página do manual. Você pode forçar a inclusão de determinadas configurações de DNS criando, por exemplo/etc/resolvconf/resolv.conf.d/base
:Existem outros arquivos especiais (cabeça e cauda), que podem ajudá-lo a alcançar o que deseja.
fonte
Como muitas outras respostas afirmam, isso tem a ver com
resolvconf
a instalação no seu sistema.Portanto, a melhor maneira de manter algo
resolv.conf
que não será perdido na reinicialização é incluí-lo nos arquivos de configuração resolvconf que estão em:Lá vá para o
head
arquivo. O que você colocar lá será escrito no topo da/etc/resolv.conf
Então, tudo vai para algo como isto:
fonte
Para mim, as respostas acima foram inadequadas pelos seguintes motivos:
resolvconf
, simplesmente/etc/resolv.conf
.chattr +i
para bloquearresolv.conf
parece muito invasivo. Eu preciso que o Puppet seja livre para fazer alterações quando necessário./etc/network/interfaces
não impede queresolv.conf
seja substituída; simplesmente especifica os servidores de nomes que devem ser gravados. Para mim, especificar o nome dos servidores não era o ponto. Estou tentando definiroptions timeout:1
eoptions attempts:1
no meuresolv.conf
arquivo.A melhor solução que encontrei substitui o comportamento padrão de
dhclient
usar seus ganchos documentados.Crie um novo arquivo
/etc/dhcp/dhclient-enter-hooks.d/nodnsupdate
com o seguinte conteúdo:Em seguida, torne o arquivo executável:
Agora, quando o dhclient é executado - na reinicialização ou quando você é executado manualmente
sudo ifdown -a ; sudo ifup -a
- ele carrega esse scriptnodnsupdate
. Esse script substitui uma função interna chamadamake_resolv_conf()
que normalmente substituiriaresolv.conf
e, em vez disso, não faz nada.Isso funcionou para mim no Ubuntu 12.04.
fonte
Isso pode ser apenas uma peculiaridade estranha na minha máquina, mas outra pessoa pode ter a mesma caixa de canto.
Tentei várias maneiras de incluir meus servidores de nome ISP no /etc/resolv.conf sem sucesso:
Eu os incluí
/etc/network/interfaces
e reiniciei a rede. Eles não apareceram/etc/resolv.conf
.Eu os coloquei
/etc/resolv.conf
explicitamente, mas é claro que eles foram substituídos. Eles apareceram/run/resolvconf/interface/eth0.inet
, mas nunca conseguiram/etc/resolv.conf
.Tentei configurar o resolvconf para atualizações dinâmicas. Nenhuma mudança.
Finalmente, li em algum lugar que, se a máquina local (127.0.0.1) aparecer em
/etc/resolv.conf
qualquer outro servidor de nomes, não será incluída.Em desespero, editado
/run/resolvconf/interface/lo.named
, suprimida a única linha em que (nameserver 127.0.0.1
) e reiniciado:ifdown eth0 && ifup eth0
.O /etc/resolv.conf incluiu meus servidores de nome ISP pela primeira vez! Corri
service network-manager restart
para ver se era estável e/etc/resolv.conf
ainda inclui meus servidores de nome do provedor de serviços de Internet. Reiniciado apenas para se certificar e ele ainda está lá , mas/run/resolvconf/interface/lo.named
foi reposto para:nameserver 127.0.0.1
.O reinício curioso da rede ainda funciona:
/etc/resolv.conf
ainda contém meus servidores de nome ISP. Não posso explicar isso (alguém pode?), Mas isso pode ajudar alguém preso no mesmo local.fonte
dnsmasq
. Você pode simplesmente removê-lo usandoapt-get remove dnsmasq
ou atualizar a configuração no/etc/dnsmasq.conf
.adicione seu servidor de nomes ao arquivo /etc/resolvconf/resolv.conf.d/head. O arquivo contém a mensagem que você recebeu:
esse arquivo deve ficar assim depois de adicionar 8.8.8.8
fonte
adicione na última linha, por exemplo:
Abra um terminal e digite
o + i cuida para que o arquivo não seja redefinido em uma inicialização.
Para desfazer o acima
Para mais
fonte
As outras soluções não funcionaram para mim no meu sistema Fedora 20. Meu problema específico era que a linha de "pesquisa" no /etc/resolv.conf estava sendo substituída. Aqui está o que foi corrigido. (Isso pressupõe que o NetworkManager esteja produzindo a linha
search rn.yourcompany.com
e você deseja que ela sejasearch rn.yourcompany.com yourcompany.com intnet.yourcompany.com
:1. Use o comando "ifconfig" para descobrir qual interface é de seu interesse:
2.Torne-se root e altere para o diretório de dispositivos de rede de configuração do sistema:
Domain
linha com os domínios adicionais a serem pesquisados:DOMAIN="yourcompany.com intnet.yourcompany.com"
Salve, efetue logout e efetue login novamente. O NetworkManager agora deve ter a linha
\etc\resolve.conf
:fonte
Adicionar entradas em
/etc/resolvconf/resolv.conf.d/head
e execute o seguinte comando
fonte
Para o Ubuntu Server 18, o Netplan é o novo utilitário para configurar redes.
Em seguida, edite a entrada de endereços dos servidores de nomes no arquivo yaml (use o recuo correto). Por exemplo, se você usa os servidores DNS do Google:
Para reiniciar o serviço
Veja https://netplan.io/
https://www.techrepublic.com/article/how-to-set-dns-nameservers-in-ubuntu-server-18-04/
fonte
Se você estiver usando DHCP, edite
/etc/dhcp/dhclient.conf
para adicionar servidores DNS adicionais:O cliente DHCP substitui o
dns-nameservers
inetc/network/interfaces
e eu penso/etc/resolvconf/resolv.conf.d/base
também.Isso funcionou para mim no servidor Ubuntu 14.04.3.
Veja o Debian NetworkConfiguration Wiki para detalhes.
fonte
Basta fazer backup do seu resolve.conf e excluir o pacto resolvconf e editar o arquivo /etc/resolv.conf para o que você quiser.
Deveríamos ter o direito de optar por não usar software ruim como o resolvconf.
A propósito, o campo de pesquisa no /etc/resolv.conf é inútil.
fonte
Usando
resolvconf
e desativandosystemd-resolved.service
(isso funciona para mim no Ubuntu 19.04):Instalar
resolvconf
Adicionando servidores de nomes
Abra
/etc/resolvconf/resolv.conf.d/base
com o seu editor de texto, eu usovim
.adicione os servidores de nomes dentro do arquivo aberto, por exemplo:
Atualizando
resolv.conf
Desative
systemd-resolved.service
e reinicie.nameserver 127.0.0.53
não está escrito para/etc/resolv.conf
.Feito!
Fonte
fonte
Achei isso a correção mais simples. Se você tiver
resolv.conf
eresolvconf
arquivos, eles entrarão em conflito. Você precisa remover oresolv.conf
arquivo que é obtido e sobrescrito toda vez que você reinicia.Coloque
nameserver 1.1.1.1 1.0.0.1
na parte inferior do arquivo resolvconf e executePara se livrar do arquivo. Em seguida, reinicie e tudo funcionará.
fonte
Solução Mi em 12.04:
Notei que, se você adicionar o servidor de nomes de DNS em interfaces que não usam os servidores de resolução de nomes
Página de manual resolvconf
Para que o resolv.conf não mude quando editamos manualmente, faça isso no terminal:
depois de:
edite manualmente
/run/resolvconf/resolv.conf
adicionando no máximo dois servidores DNS.Em seguida, reinicie o serviço:
fonte
Basta colocar um
comando em sua
/etc/network/interfaces
configuração. depois reinicie sua rede.deve funcionar.
fonte
Essa configuração é declarada em
/etc/default/bind9
no = não aplique a condição no
init.d
bind9
sim ou outro valor = substituir
resolv.conf
Esse problema ocorre quando você instala
bind9
e não se preocupa em verificar todas as confs.fonte