Preciso de ajuda para descobrir por que minha resolv.conf
mudança continua para isso, fazendo com que eu não consiga acessar a Internet externa e apenas a rede local:
$ cat /etc/resolv.conf
nameserver 192.168.16.1
domain localdomain
search localdomain
Eu pensei em consertá-lo, livrando-me da interface de loopback e adicionando-a à interface eth0 /etc/network/interfaces
com as instruções no blog posterous de jontsai .
Eu tentei coisas como fazer:
$ sudo ifconfig eth0 down
$ sudo ifconfig eth0 up
$ sudo /etc/init.d/networking restart
$ sudo dhclient
E então as coisas funcionariam temporariamente e, eventualmente, o servidor de nomes no resolv.conf seria revertido novamente.
PS: Eu também postei isso no ubuntuforums .
Editar: Há pelo menos um outro programa, além do NetworkManager, que está sendo gravado resolv.conf
, e eu sei disso porque, quando atualizo o NetworkManager, o resolv.conf
arquivo gerado gera um comentário # Generated by NetworkManager
e a versão para a qual ele continua mudando não.
Então, eu estou tentando isso:
while true; do echo listening; lsof | grep /etc/resolv.conf; echo sleeping; sleep 1; done
Edição 2:
Adicionando saída de arquivos:
$ cat /etc/network/interfaces
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
Nenhum arquivo como /etc/NetworkManager/NetworkManager.conf
$ sudo cat /etc/NetworkManager/system-connections/Auto\ Ethernet
[connection]
id=Auto Ethernet
uuid=#######omitted#######
type=802-3-ethernet
autoconnect=true
timestamp=1314377063
[ipv4]
method=auto
ignore-auto-routes=false
ignore-auto-dns=false
dhcp-send-hostname=false
never-default=false
[802-3-ethernet]
speed=0
duplex=full
auto-negotiate=true
mtu=0
[ipv6]
method=ignore
ignore-auto-routes=false
ignore-auto-dns=false
never-default=false
fonte
resolvconf
pacote instalado? Poste o conteúdo de/etc/network/interfaces
,/etc/NetworkManager/NetworkManager.conf
e/etc/NetworkManager/system-connections/*
.resolvconf
pacote. Em algum momento, meu modem DSL estava com defeito (atrás do roteador) enquanto minha rede local estava funcionando, então eu poderia ter tentado instalarnscd
ou -dnsmasq
eles estão desinstalados agora, mas podem ter deixado alguns artefatos que estão interferindo?vmnet1
ouvmnet8
(NAT e Host-Only)Respostas:
Você pode fazer adições estáticas no
/etc/resolv.conf
. Essas adições podem substituir as coisas que estão sendo adicionadas automaticamente.Primeiro, instale o
resolvconf
pacote.Em seguida, pressione Alt + F2 e execute
gksudo nautilus
. Abra/etc/resolvconf/resolv.conf.d/head
se você deseja adicionar ao início do arquivo; abra/etc/resolvconf/resolv.conf.d/tail
se você deseja adicionar ao final. Faça as alterações, salve / feche os arquivos e executesudo resolvconf -u
para aplicar as alterações.(Desculpe, não me lembro se as configurações no início ou no final do arquivo têm a maior prioridade.)
fonte
Eu tinha exatamente o mesmo problema - o resolv.conf seria reescrito toda vez que o servidor fosse reiniciado.
Foi causado pelo DHCP. Para definir resolv.conf como eu quero, editei
/etc/dhcp/dhclient.conf
e adicionei o seguinte:Você pode realmente controlar um pouco o seu arquivo resolv.conf fazendo alterações nele.
Espero que ajude.
fonte
(Esta resposta contém maneiras de investigar o que está acontecendo. Talvez eu possa dar uma solução real se você usar esses métodos para coletar e fornecer mais informações.)
Um possível gatilho para as atualizações aparentemente espontâneas
/etc/resolv.conf
é quando a concessão do DHCP é renovada. Verifique por quanto tempo você recebe concessões de DHCP (isso deve aparecer nos logs do sistema, acho/var/log/syslog
).Você pode usar o auditd para descobrir o que modifica o arquivo. Inicie o daemon (
sudo service auditd start
) e peça para ele procurar modificações nesse arquivo:Os logs de auditoria estão em
/var/log/audit/audit.log
. Você verá a hora em que o arquivo foi modificado e o nome do programa que o modificou.Se você tiver o
resolvconf
pacote instalado, o Network Manager pode estar pisando na ponta dos pés. Tente derrubar todas as interfaces de rede, pare o Network Manager (sudo service network-manager stop
) e reinicie-o.fonte
nm-connection-editor
no seu terminal. Selecione sua interface e clique em editar. Nas configurações do IPv4, deve haver um método chamado apenas endereços DHCP (ou algo semelhante). Se não me engano, isso permitirá que você obtenha endereços IP através do DHCP, mas não de servidores de nomes (você pode especificá-los nos campos abaixo).auditctl
linha não funciona para mim e acredito que o nome do serviço para o Network Manager énetwork-manager
(inclui o hífen). Eu não tinha umresolvconf
pacote instalado, mas tinha coisas dentro da/etc/resolvconf/
pasta e, quando o comparei com outra máquina Ubuntu, não tinha, então instalei e desinstalei o pacote e removai-a manualmente./etc/resolv.conf
foi reescrito novamente, então acho que começarauditctl
a trabalhar seria muito útil./etc/resolvconf
é normal, mesmo se você não tiver oresolvconf
pacote, alguns pacotes lançam ganchos lá, e esses ganchos são usados apenas seresolvconf
estiver instalado. Corrigi aauditctl
linha, caso o problema apareça novamente.Abra um terminal e digite
o + i cuida para que o arquivo não seja redefinido em uma inicialização mesmo pela raiz.
Para desfazer o acima
Para mais
fonte
Outra opção que tive sorte envolve usar
resolvconf
.Adicione quaisquer entradas a este arquivo:
E eles serão adicionados ao
/etc/resolv.conf
.Graças a esta pergunta do Ubuntu: Como incluir linhas no resolv.conf que não serão perdidas na reinicialização?
fonte
I desativar a atualização de
resolv.conf
criando um arquivo chamadodisable_make_resolv_conf
no/etc/dhcp3/dhclient-enter-hooks.d
Ele substitui a função padrão pelo mesmo nome responsável pela
resolv.conf
atualização.fonte
Tarde, mas vou postar meu caso, pois era diferente de todos os itens acima.
No meu caso,
/etc/resolv.conf
é um link simbólico para/var/run/NetworkManager/resolv.conf
, e por algum motivocat /etc/resolv.conf
não me dá erro nesse arquivo ou diretório (talvez porque esteja vazio?)Se eu abri-lo com o vi e adicioná-
nameserver x.x.x.x
lo, ele funciona, mas é limpo na reinicialização.Tentei editar
/etc/network/interfaces
e adicionardns-nameservers x.x.x.x
, alterei/etc/dhcp/dhclient.conf
e removi emrequest
domain-name-servers
, também editeiprepend domain-name-servers x.x.x.x
.O binário Resolvconf não está instalado,
NetworkManager.conf
não tinha nada relevante. Mas sempre que reiniciei a máquina, não havia servidor de domínio.Não sei ao certo qual é o motivo, mas parece ter a ver com o fato de ser uma máquina VBox, iniciada pelo GNS3, e por causa disso dentro da configuração do VBox, tenho que deixá-lo sem interface criada. Aparentemente, o GNS3 cria uma "interface UDP" em tempo real quando inicio a máquina, desde que inicie a partir do GNS3.
Então, para me salvar de busca sem parar, eu adicionei
echo nameserver x.x.x.x> /etc/resolv.conf
para/etc/profile
, problema resolvido (não resolvido, mas trabalhou em torno hehe). Mas pode ser interessante saber o que acontece com esse cenário, se alguém o encontrar.fonte
Se você tem o arquivo
/etc/NetworkManager/NetworkManager.conf
você pode configurar o NetworkManager para parar de redefinir o resolv.conf com
Agora mude manualmente
/etc/resolv.conf
e teste sua permanência comFonte: https://askubuntu.com/a/623956/452398
fonte
Basta fazer entradas nos seus arquivos ifcfg-ethX assim
DNS1 = 192.168.XX
DNS2 = 192.168.XX
DOMÍNIO = seudominio.com
o gerente de rede postará esses registros no arquivo resolv.conf depois que você reiniciar os serviços ou reiniciar sua caixa.
fonte
Apenas no caso de alguém cair no mesmo caso:
Esqueci-me de definir dhcp em uma interface dentro do arquivo
/etc/network/interfaces
O Networkmanager modifica a
/etc/resolv.conf
partir da resposta dhcp que ele recebe.hth
fonte
Quando há
# Generated by NetworkManager
em/etc/resolv.conf
Edite a configuração do Network Manager:
na
[main]
seção adicionerc-manager=unmanaged
:Por quê?
Referência de configuração para obter mais informações: https://developer.gnome.org/NetworkManager/stable/NetworkManager.conf.html
Em seguida, edite seu
/etc/resolv.conf
e reinicie o Network Manager para ver se ele/etc/resolv.conf
permanece intocado:ou
do que:
Se o procedimento falhou e
/etc/resolv.conf
foi substituído durante a reinicialização do Network Manager, tente adicionardns=none
a[main]
seção em config como https://askubuntu.com/a/1150326/364772, dissefonte