evite que o DNSMASQ faça alterações no resolv.conf

0

não consegue encontrar uma solução alternativa para o dnsmasq não fazer alterações no arquivo /etc/resolv.conf.

editar o arquivo init.d / dnsmasq não é uma opção completa, pois não está em todas as versões do Ubuntu. O dnsmasq é executado através do init.d

espero que você possa ajudar!

    
por Vitalik Jimbei 09.04.2015 / 09:57

2 respostas

0

O problema é porque o Network Manager usa dinamicamente seu /etc/resolv.conf com dnsmasq

Solução para você mudar a maneira de resolver nomes. Tente seguir

Em /etc/NetworkManager/NetworkManager.conf comente o dns=dnsmasq

sudo nano /etc/NetworkManager/NetworkManager.conf

 [main]
plugins=ifupdown,keyfile,ofono
#dns=dnsmasq

no-auto-default=00:22:64:4E:6F:70,

[ifupdown]
managed=fals

e reinicie o serviço NM

sudo restart network-manager

Com esse /etc/resolv.conf não depende mais do pacote resolvconf e é atualizado com base nas entradas DNS de cada conexão no Network Manager

Além disso, você pode adicionar o servidor de nomes em /etc/resolv.conf . Se você não definir dns em NM por conexão, isso será usado

sudo nano /etc/resolv.conf

nameserver 8.8.4.4
nameserver 8.8.8.8

Editar um

Pare o serviço resolvconf

sudo service resolvconf stop

desative-o

update-rc.d resolvconf disable

desative resolvconf para sobrescrever resolv.conf

crie /etc/init/resolvconf.override com linha única manual

echo 'manual' | sudo tee /etc/init/resolvconf.override

remova o link simbólico /etc/resolv.conf

rm /etc/resolv.conf

crie resolv.conf com entrada de DNS estática

echo "namserver x.x.x.x." > /etc/resolv.conf
    
por 2707974 09.04.2015 / 10:01
0

Isso pode ou não resolver seu problema, mas eu estava tendo um problema parecido, onde o dnsmasq (bem, na verdade o combo dnsmasq e resolvconf) estava reescrevendo meu arquivo /etc/resolv.conf e ignorando as opções de dns-nameservers que Eu configurei em / etc / network / interfaces.

O problema era que o resolvconf chamaria o dnsmasq para atualizar as entradas do nameserver no resolv.conf, e então parece que ele seria encerrado depois disso.

Consegui manter as entradas dos servidores de nomes dns de / etc / network / interfaces movendo minha interface ( p+([0-9])p+([0-9])?(_+([0-9]))* no meu caso) para antes da entrada "lo.dnsmasq" em / etc / resolvconf / interface-order . Então, agora, em vez de obter "servidor de nomes 127.0.0.1" como a primeira, última e única entrada do servidor de nomes em /etc/resolv.conf, eu obtenho

nameserver <ipaddr.frometc.network.interfaces> nameserver <another.frometc.network.interfaces> nameserver 127.0.0.1 search <domains from /etc/network/interfaces>

Agora, parece que o resolvconf é executado, verifica a ordem da interface e adiciona as entradas de / etc / network / interfaces correspondentes às entradas acima de "lo.dnsmasq" e, em seguida, chama um processo dnsmasq para adicioná-las ao arquivo mas isso de alguma forma não funciona direito e ignora qualquer interface depois disso.

Quando eu estava tentando descobrir isso, procurei, sem sucesso, por que o dnsmasq estava ignorando / etc / network / interfaces. (Eu estava certo de que o dnsmasq estava envolvido porque isso aconteceu logo depois que instalei o dnsmasq) Eu não tenho certeza se isso resolve o seu problema, mas para mim parecia um pouco mais limpo do que apenas remover o resolvconf.

    
por Harold Hall 29.08.2015 / 01:36