Usando um arquivo diferente de /etc/resolv.conf para especificar um servidor DNS

2

Existe uma maneira de especificar o endereço de um servidor DNS fora do uso do /etc/resolv.conf?

Razão: (uma vez que alguém perguntará) Eu tenho um sistema rodando o LDME 1. Eu instalei um novo drive e nele o LDME 2.

Agora, como tudo está configurado da maneira que eu quero no sistema LDME 1, eu faço o log-in e faço cortes no LDME 2 a partir de um chroot.

O problema é que no LDME 2 /etc/resolv.conf é um link simbólico para um arquivo no diretório / run. Esse arquivo que provavelmente é criado no LDME 2 na inicialização não existe no LDME 1.

Se o LDME 2 /etc/resolv.conf fosse um arquivo regular eu ficaria feliz em fazer o backup, substituí-lo pela versão LDME 1, fazer minhas coisas e restaurar. Mas eu não quero andar por aí mexendo com link simbólico recém gerado pelo sistema. Especialmente um que aponta para fora de uma prisão chroot.

    
por TLOlczyk 17.08.2015 / 08:15

2 respostas

3

A alteração do nome do caminho é difícil, pois é codificado para a glibc. No entanto, você pode usar uma montagem de ligação para montar um arquivo em vez de um diretório ( mount -B /tmp/my.resolv.conf /etc/resolv.conf ). Infelizmente, isso não funcionará com um link simbólico quebrado, já que você só pode montar um arquivo regular em um arquivo regular ou em um diretório em um diretório. Mas há algo em / run que você pode vincular a montagem?

    
por 17.08.2015 / 08:30
0

Se você usar um cache de DNS (o que é sensato), poderá especificar um arquivo diferente para ser usado pelo servidor de cache de DNS local. Por exemplo, para dnsmasq , você pode configurá-lo para usar

resolv-file=/etc/resolv.dnsmasq.conf

que provavelmente não é um link simbólico.

Agora, você ainda precisa ter 127.0.0.1 em seu /etc/resolv.conf real, mas se ele já estiver lá por acaso, e você só quiser adicionar um servidor de nomes adicional, isso pode ajudar. Além disso, alguns clientes dhcp admitem arquivos "head" e "tail" que eles prefixam / anexam quando resolv.conf é gerado. Eles podem ajudar. Tenha cuidado, no entanto, resolv.conf tem um número limitado de linhas úteis (acho que geralmente são 3, depois disso é apenas ignorado).

    
por 17.08.2015 / 12:14