Conectado a várias redes, como escolher qual servidor DNS?

0

Eu tenho um laptop rodando o Ubuntu 16.04 conectado a duas redes diferentes (na verdade, eu tenho 5 modelos de laptops diferentes, todos experimentando isso). Uma é uma rede sem fio, a outra não é. Nestas duas redes eu tenho servidores DNS diferentes.

Eu regularmente sinto que ao tentar fazer ping ou estabelecer uma conexão ssh com um host conhecido, recebo um erro de 'host desconhecido', posso executar cinco comandos de ping por um segundo, e às vezes todos os cinco passam, às vezes apenas um ou dois (ou nenhum). Eu experimento o mesmo quando uso 'nslookup' em um hostname. Ao usar o SSH com um endereço IP, nunca recebo erros. Isso me leva a acreditar que o Ubuntu seleciona aleatoriamente o servidor DNS das redes a serem usadas.

Então, há uma maneira de selecionar qual servidor DNS de redes deve ser usado, ou o Ubuntu pergunta a ambos, desde que um deles não conheça o host?

'ip route list' lista diferentes métricas para as redes, com uma definida para 100 e uma para 600.

Se houver outras informações relevantes, entre em contato.

O conteúdo do /etc/resolv.conf:

Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8) DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 127.0.1.1
search xx.yy.zz

Saída da lista de roteamentos IP

default via 10.80.0.1 dev enp0s25 proto static metric 100
default via 10.125.64.1 dev wlo1 proto static metric 600
10.80.0.0/24 dev enp0s25 proto kernel scope link src 10.80.0.54 metric 100
10.125.64.0/19 dev wlo1 proto kernel scope link src 10.125.83.244 metric 600
10.220.2.16 via 10.80.0.1 dev enp0s25 proto dhcp metric 100
169.254.0.0/16 dev enp0s25 scope link metric 1000
192.0.2.1 via 10.125.64.1 dev wlo1 proto dhcp metric 600

user@host:~$ nmcli dev show enp0s25 | grep DNS
IP4.DNS[1]:                             10.220.2.5

user@host:~$ nmcli dev show wlo1 | grep DNS
IP4.DNS[1]:                             10.220.2.24
    
por Tobias 31.05.2017 / 05:56

2 respostas

1

O próprio Ubuntu sempre usa tudo o que é DNS '. Se não encontrar um endereço no primeiro DNS, ele tentará o segundo que estiver disponível.

Portanto, a sua solução é, uma vez que vimos que o seu /etc/resolv.conf está vazio - mas você forneceu informações de que possui um servidor DNS corretamente distribuído pelo seu dhcp.

Agora você pode desabilitar o NetworkManager e apenas usar as interfaces que podem corrigir seu problema imediatamente ou você olhar para o /etc/NetworkManager/NetworkManager.conf e procurar a linha dns=XXXXXX e excluir essa linha ou comentar essa linha.

Reinicie seu NetworkManager sudo systemctl restart NetworkManager.service e agora seu DNS deve estar definido em /etc/resolv.conf

    
por Ziazis 31.05.2017 / 09:56
0

Acho que você está perdendo o roteamento estático em ambas as placas de rede porque o modelo que você está usando requer roteamento estático no nível da placa de rede.

Você pode editar suas interfaces de rede como indicado abaixo:

auto eth1

iface eth1 inet estático

endereço 10.0.0.100

netmask 255.255.255.0

post-up route add 10.0.0.100 via 10.0.0.1 dev eth1

auto eth2

iface eth2 inet estático

endereço 10.0.1.100

netmask 255.255.255.0

post-up route add 10.0.1.100 via 10.0.1.1 dev eth2

desta forma, encaminhará as consultas para diferentes redes.

    
por azhar buttar 31.05.2017 / 06:08