Qual é o "caminho certo" para efetuar alterações no /etc/resolv.conf com o /etc/resolv.conf.d?

11

Nos velhos tempos, resolv.confera estático e você o editou.

Posteriormente, o cliente DHCP a reescreveria, usando algumas entradas estáticas e o que obteve da concessão do DHCP.

Hoje em dia, algumas distribuições - como a minha (Linux Mint 18.1) têm um /etc/resolv.conf.dmecanismo com vários subdiretórios de scripts, e, bem, eu não consigo entender o que é isso.

Qual é o caminho certo, então,

  • para indicar que desejo usar ou não os servidores DNS obtidos na concessão do DHCP?
  • adicionar entradas fixas ao resolv.conf, sempre ou como substituto quando não houver servidor de nomes obtido por concessão de DHCP?
  • tomar decisões sobre a ordem relativa no arquivo?

Não me importo de escrever alguns scripts próprios, se tiver, apenas não quero "trabalhar contra" o mecanismo existente ou executar trabalhos duplicados.

einpoklum
fonte
4
I desinstalar resolvconfem servidores ... unix.stackexchange.com/questions/286195/...
Rui F Ribeiro
Você também pode configurar dhclientpara ignorar / substituir as informações de DNS do DHCP; Não tenho certeza de que exista um mecanismo /etc/resolv.conf.dpara fazer isso (mas não uso o Mint e não tenho esses scripts).
dirkt
@dirkt: Atualmente, a única entrada que entra no meu /etc/resolv.confé o localhost (que executa o dnsmasq), portanto não está claro para mim como o dnsmasq, o mecanismo resolv.conf.d e o cliente DHCP interagem.
einpoklum

Respostas:

2

A resposta é simples: a resolv.conf.dpasta existe em / etc / resolvconf / e contém arquivos de cabeçalho / base / original e cauda. cada um deles, se editado, atualizará o resolv.confarquivo em / etc /

digamos que você queira colocar um endereço DNS estático no início de resolv.conf/ etc / (porque a cada reinicialização ele redefine automaticamente para as configurações padrão), você precisa editar o headarquivo em /etc/resolvconf/resolvconf.d/ e digitar por exemplo:

nameserver 1.1.1.1
nameserver 1.0.0.1

Depois disso, reinicie o serviço resolvconf usando:

sudo service resolvconf restart

Agora cat resolv.confem / etc / e você verá as novas alterações.

O mesmo se aplica se você quiser colocar coisas na parte inferior do arquivo, use em tailvez de head/etc/resolvconf/resolvconf.d/

PS: este é 100% testado e funciona Ubuntu e Debian

Edit: Eu já respondi os dois últimos marcadores da sua pergunta, agora sobre o primeiro marcador que fala sobre como não usar o endereço DNS fornecido pelo DHCP. Realmente depende de qual software / pacote DNS você instalou, portanto, recomendo que você verifique esta postagem e leia o que está abaixo, caso tenha dnsmasq.

M03
fonte
1
+1, mas isso explica apenas como fazer parte do que perguntei.
einpoklum
0

resolve.conf e algum mecanismo como esse existe desde os anos anteriores até agora. Há linha de comando dhclient, resolvconfque lidar com esse arquivo, No entanto, em anos recentes Linux introduzir nova interface para a configuração NetworkManager pelo nome de nmcli . Este é um comando avançado para gerenciar todas as configurações de rede persistentes (sem tempo de execução). você pode usar algo como:

$ nmcli connection modify eth0 ipv4.dns 8.8.8.8

Este comando substituirá o resolv.confarquivo. No RHCA, é recomendável não editar o resolv.conf manualmente e usar seus comandos. Sobre o diretório resolvconf que você mencionou, posso dizer que alguns serviços podem ter sua própria conf para DNS, para que eles usem sua própria conf como o OpenVpn. Você também pode verificar o /etc/nsswitcharquivo para obter mais informações sobre como resolver.

Ali Ghasempour
fonte
Não acredito que isso realmente responda à minha pergunta.
Einpoklum
Bem, talvez esta seja a minha senhorita entendida sobre a sua pergunta, mas o nsswitcharquivo é a sua resposta.
Ali Ghasempour
Acredito que @einpoklum deseja ter controle sobre a ordem dos servidores DNS em resolv.conf(consulte man resolv.conf), não sobre a ordem dos meios utilizados para resolver ( man nsswitch.conf). Mas sua resposta é interessante, no entanto.
Xhienne
Obrigado pelo seu interesse . Tanto quanto sei resolv.conf é um arquivo seqüencial e sua prioridade de resolução é de cima para baixo.
Ali Ghasempour