Todos os exemplos que eu vi de configurations ( /etc/network/interfaces
) mostraram que você configura uma interface e, em seguida, abaixo dela, as dns-*
linhas como:
auto eth0
iface eth0 inet static
...
dns-nameservers 127.0.0.2
dns-search example.com my.example.com
Agora estou ciente de que o protocolo DNS é independente do mecanismo de transporte. Portanto, não deve ser errado adicionar um endereço IPv6 na dns-nameservers
linha.
No entanto, como também estou configurando a interface para IPv6, fazia sentido adicionar a dns-nameservers
linha lá:
iface eth0 inet6 static
...
dns-nameservers ::2
dns-search example.com my.example.com
... ou fez? Porque quando o resolvconf
cria /etc/resolv.conf
simplesmente ignora todos os servidores DNS IPv6. Também parece ignorar dns-search
e dns-domain
. A única linha que parece honrar é a dns-nameservers
linha da configuração do IPv4 eth0
.
Qual é o método correto de configuração de servidores DNS?
Evidência circunstancial adicional sobre por que ela deve fazer parte de cada iface
estrofe respectiva . Citação de man 8 resolvconf
:
O
ifup(8)
programa pode ser usado para configurar interfaces de rede de acordo com as configurações em/etc/network/interfaces(5)
. Para obterifup
informações push do servidor de nomes pararesolvconf
quando ele configura uma interface, adicionedns-
linhas àiface
estrofe relevante em/etc/network/interfaces
. Para adicionar endereços de servidor de nomes, adicione uma linha que comece comdns-nameservers
.
fonte
Respostas:
É correto colocar as opções dns- * na
iface eth0 inet static
sub - rotina ou naiface eth0 inet6 static
sub - rotina. As opções se tornam ativas quando a definição de interface lógica à qual pertencem se torna ativa.Acabei de testar isso na minha própria máquina Ubuntu 15.04, que normalmente configuro com o DHCP. Desativei o NetworkManager e editei o / etc / network / interfaces para que fique assim:
Então eu fiz
Os resultados:
Observe que os endereços, servidores de nomes de DNS e opções de pesquisa de DNS de ambas as estrofes agora estão ativos.
[Atualizado em 30 de maio de 2015]
fonte
No meu RPi executando o Ubuntu 16.04.2 LTS, minhas descobertas foram as seguintes:
Nota: Desinstalei o NetworkManager e apenas deixei o resolvconf para executar suas tarefas. (Este é um servidor fixo, para que as coisas não mudem muito em termos de rede.)
Se eu tivesse as linhas dns-search e dns-nameserver em apenas uma interface (a principal conectada com fio), mas não a outra (wlan0) depois da reinicialização, cerca de 95% das vezes que meu arquivo /etc/resolv.conf seria esvaziar.
Por exemplo, quando meu arquivo de interfaces ficou assim:
ENTÃO, após uma reinicialização, meu resolv.conf ficaria assim:
No entanto, em uma ou duas reinicializações, notei que ela tinha o que queria, por exemplo
Solução Quando dei a ambas as interfaces (com fio e wlan0) as linhas dns-search e dns-nameserver, tudo funcionou bem em todas as reinicializações (até agora, de qualquer maneira)
ou seja, o seguinte arquivo de interfaces funciona para mim:
e me fornece o seguinte resolv.conf correto após cada reinicialização (até agora)
Presumo que essa configuração duplicada seja normal, se for um pouco redundante.
Conclusão: Se uma interface (diferente de lo0) não possui informações de pesquisa de DNS e servidor de nomes de DNS, o resolvconf não coloca nada no seu arquivo resolv.conf. (É como se o ifup fizesse a interface wlan0 em segundo e o ifup limpasse o resolv.conf ou algo assim.)
Eu não tenho certeza se isso é um bug ou não, parece errado para mim.
fonte
Editar interfaces de rede para adicionar o DNS personalizado é uma maneira ... mas, para modificar permanentemente o resolv.conf em todo o sistema com o dnsnameserver personalizado, é necessário instalar o pacote resolvconf (se já não estiver instalado por padrão) e preencher sua base. arquivo de configuração com seus valores personalizados de servidores de nomes DNS. Espero que este pequeno guia o ajude a obter configurações adicionais relacionadas às entradas DNS do resolv.conf http://www.bytelinux.com/make-permanent-changes-to-resolv-conf-file-on-ubuntu/
fonte
resolvconf
está instalado. Gostaria/etc/network/interfaces
de configurar meus servidores DNS para IPv4 e IPv6, respectivamente.Você deseja usar servidores DNS IPv6 em /etc/network/interfaces ... basta colocar suas entradas de nomes IPv6 DNS na interface de rede específica, como esta:
Para adicionar permanentemente dnsnamesers IPv6 ao resolv.conf, use o mesmo link que eu adicionei abaixo e edite o arquivo base resolvconf preenchendo seus próprios nomes de DNS IPv6:
Para configurar o / etc / network / interfaces com o IPv6, use este guia http://www.bytelinux.com/configure-permanent-static-ip-address-alias-interfaces-debian-based-systems/ e substitua o IPv4 pelo IPv6 como segue: auto eth0
fonte
/etc/resolv.conf
. Se isso funcionar de alguma forma para você, seria útil saber a versão exata do sistema./etc/network/interfaces
multa. O que não acontece é que eles são transferidos/etc/resolv.conf
como deveriam. E estou tentando descobrir o que estou fazendo de errado, sim.Por que você não implementa esses servidores de nomes DNS IPv6 diretamente no arquivo /etc/resolv.conf em todo o sistema editando o arquivo base resolvconf conforme sugerido na minha resposta anterior com o link e ainda continua usando o arquivo de interfaces de rede? Você pode adicionar um conjunto de servidores de nomes IPv6 DNS no /etc/resolv.conf e, se desejar usar outros servidores de nomes IPv6 para uma NIC específica, use-os somente em / etc / network / interfaces.
fonte
/etc/network/interfaces
é suposto fazer o trabalho, estou tentando descobrir o que estou fazendo de errado.