18.04: Castor biônico: aplica /etc/resolv.conf estático

10

Anteriormente, no Ubuntu 16.04, me senti traído quando uma atualização do Ubuntu instalou dnsmasq, configurou e deu prioridade ao meu próprio servidor DNS BIND superestável, ultra-rápido e com configuração própria. Parecia exatamente como se o Ubuntu hackeasse minha estação de trabalho.

Desde que eu estava trabalhando como administrador do sistema, isso foi extremamente inaceitável. Esta foi uma ligação assustadora. É quando você soluciona um problema e, em uma das etapas que você usa, digou nslookupfica surpreso ao ver a lointerface respondendo a você. PÂNICO

Existe uma maneira de não apenas corrigir esse problema, mas também garantir que /etc/resolv.confserá à prova de violação?

MK
fonte

Respostas:

5

Uma edição simples /etc/NetworkManager/NetworkManager.confe desativação systemd-resolved.service(como nesta resposta /ubuntu//a/907249/719422 ). Mas isso por si só, embora essencial, não garante a violação resolv.conf.

Para realmente aplicar uma estática /etc/resolv.confque você sabe que sobreviverá a qualquer tipo de reinicialização, é necessário definir o atributo imutável . Adicionando à resposta de Bastian Voigt mencionada acima, você faz isso como superusuário:

echo nameserver 8.8.8.8 > /etc/resolv.conf
chattr -e /etc/resolv.conf
chattr +i /etc/resolv.conf

... alterando nameserverpara o valor escolhido. Dessa forma, você pode ter realmente uma estática /etc/resolv.conf.

MK
fonte
3
O arquivo /etc/NetworkManager/NetworkManager.conf não existe em 18.04
hfranco
@ hfranco se não, o que eu duvido, então você acabou de criar um! E, se é esse o seu caso, não é uma configuração padrão; seu caso é anormal. Eu diria que você digitou errado enquanto procurava!
MK
@hfranco Tão antigo quanto 12.04 unix.stackexchange.com/questions/154338/…
MK
Esta é a única coisa que funcionou para mim no Ubuntu 18.04
Lucas Bustamante
1

A melhor solução que encontrei é impedir que o NetworkManager atualize o /etc/resolv.conf e crie um novo arquivo /etc/resolv.conf com um servidor DNS estático. Consulte https://www.ctrl.blog/entry/resolvconf-tutorial para saber como fazer isso.

Scubadoo
fonte
1
Obrigado pelo spam! Mas você está sentindo falta do atributo Imutável!
MK
0

De acordo com os documentos, você pode escrever resolv.confpara /usr/lib/systemd/resolv.conf, que é um arquivo estático do qual pode ser vinculado /etc/resolv.conf. Isso não deve ser reescrito.

sudo ln -sf /usr/lib/systemd/resolv.conf /etc/resolv.conf

http://manpages.ubuntu.com/manpages/bionic/man8/systemd-resolved.service.8.html#contenttoc3

/ETC/RESOLV.CONF

Quatro modos de manipulação do /etc/resolv.conf (consulte resolv.conf (5)) são suportados:

...

É fornecido um arquivo estático /usr/lib/systemd/resolv.conf que lista o stub DNS 127.0.0.53 (veja acima) como apenas servidor DNS. Este arquivo pode ser linkado a partir do /etc/resolv.conf para conectar todos os clientes locais que ignoram as APIs DNS locais às resolvidas pelo systemd. Este arquivo não contém nenhum domínio de pesquisa.

wisbucky
fonte
2
Não desculpa O que acontece quando a especificação muda ou o método de configuração é alterado pelo próprio Ubuntu ? Você sabe, esse é o mesmo fiasco pelo qual deixei os sonhos corrompidos de Satya de um sistema operacional. E esse é o mesmo fiasco que o Linux deve evitar. O que há de errado com o resolve.conf? Por que o aborrecimento? Por que tentar imitar a configuração de rede Redhat odiosa e tediosa, de uma maneira ou de outra? Desculpe, apenas vou me ater à minha solução.
MK
Como você sabe que seu arquivo não será simplesmente ignorado no futuro? Eu sei que forçando a maneira estática de alguns aplicativos funcionarem e outros não. Com a solução do wisbucky, pelo menos podemos usar a maneira atual. Também não vi a necessidade de alterá-lo, mas não obtive votação. Alguém votou negativamente nessa solução quando, na verdade, ela funciona e é a mais simples. +1
Marlon
@Marlon "Como você sabe que seu arquivo simplesmente não será ignorado no futuro"? Porque é imutável; e, se o /etc/resolv.conf será ignorado, então por que o barulho de qualquer maneira criar uma estrutura em torno dele? Ignorar o arquivo só acontecerá se algum wacko do Ubuntu decidir que é inútil (implementando algo no arquivo de interfaces, por exemplo!) #
MK
Se eu quisesse que alguém tomasse decisões por mim, teria voltado à loucura do Microsoft Windows, cujos codificadores, designers e Satya acima deles pensam que conhecem o seu bem melhor do que você e que não tem o direito de escolher como executá-lo " criação". Discutir!
MK
Por que a confusão cria um sistema operacional para o bem da humanidade, se a humanidade não pode gostar de executá-lo? Qual é o problema Imutável atributo se alguém vai me dizer quando usá-lo ou não. Não se trata de "seguir os manuais galácticos da Vega", trata-se da liberdade de escolha; ninguém jamais deve colocar seu próprio impulso rígido em você. Você é um ser e você tem direitos.
MK
-2

O arquivo presente é um link simbólico para outro arquivo. Excluir o arquivo

rm /etc/resolve.conf
vim / etc resolve.conf
insira seus dados
: wq

O arquivo não é mais um link simbólico, mas um arquivo persistente.

0n10n_
fonte
As etapas já direcionam para excluir o /etc/resolv.conf antecipadamente.
MK