dns falha (recusada) depois de trazer 2ª nic

1

Eu tenho nic1 que está em uma sub-rede local 192.168.48.x com conectividade com o mundo externo e nic2 que está em uma sub-rede 192.168.1.x sem conectividade a redes externas. Ambas as redes são dhcp, com a caixa dhcp em cada endereço sendo *1 (tudo é 255.255.255.0 netmask)

Quando

  • apenas nic1 está ativo - > tudo funciona bem (navegue www no firefox, nslookup, etc). No entanto
  • quando eu plugin (ou ifup) nic2 - > tanto o roteamento quanto o dns ** falham, apesar de o nic1 ainda estar ativo / válido.

Isso parece errado, embora talvez a falha de roteamento seja explicável pela rota default gw instalada em nic2. Eu tentei excluir manualmente o route s adicionado pela inicialização do nic2, o que me permite uma rota para o mundo externo ( ping 8.8.8.8 ), mas a pesquisa de nomes ainda falha.

  • Devido à configuração de 192.168.1.1 , acredito que seja publicidade como padrão-gw, e presumo que também haja servidores de nomes (veja a nota no final desta página para saber porque minha configuração é assim). Tenho a sensação de que a raiz do problema pode estar relacionada a isso, mas parece que no ubuntu atual toda a resolução do servidor de nomes é interna ao dnsmasq ...

Eu já conheci o route / dnsmasq / etc, assim como a pesquisa do google. Por favor me ajude a me esclarecer! Abaixo estão as saídas do diagnóstico que eu estou familiarizado.

** Observação: como tenho certeza de que alguém com mais conhecimento do que veremos imediatamente, há uma discrepância na qual o ip está atendendo minhas consultas do DNS.

  • Quando tentamos entender / corrigir isso há várias horas, 127.0.1.1 (por exemplo, dnsmask ) pareceu lidar com todas as consultas ( nslookup sempre exibiu 127.0.1.1 ). Depois de ligar nic2, o nslookup passaria de com sucesso a falhar (após um atraso de 5-15 segundos enquanto o sistema inicializava nic2), relatando o RECUSED de 127.0.1.1 . É claro que o firefox e o resto do sistema também falham ao procurar nomes depois de inicializar nic2
  • no entanto, depois de brincar com isso inúmeras vezes, agora nslookup mostra 192.168.48.1 (e, portanto, é bem-sucedido). No entanto o Firefox ainda não pode procurar nomes com nic2 inicializado, e se eu forçar dnsmasq com nslookup google.com 127.0.1.1 eu recebo REFUSED
    • da leitura on-line, presumo que isso esteja de alguma forma relacionado à lógica de failover / "servidor não confiável" em dnsmasq ; mas eu não consegui descobrir como fazer a triagem. Eu não tenho um /etc/dnsmasq.conf e outras respostas semelhantes não deram em nada para mim.
    • isso significa dnsmasq aprendido apesar de 192.168.48.1 anunciar servidores dns via dhcp, esses servidores nunca retornam resultados válidos? Se isso for verdade, por que isso afeta somente nslookup (o firefox www, etc não pode procurar nomes)

Após uma inicialização recente, apenas com nic1 conectado:

#> ifconfig
enp0s25  ...  inet addr:192.168.48.140 ...
lo       ...

#>route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.48.1    0.0.0.0         UG    101    0        0 enp0s25
192.168.48.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s25

#>nslookup www.google.com
Server:    192.168.48.1
   ... looks good

#>ping www.google.com
   ... received response

depois de ligar nic2

#> ifconfig
enp0s25 --> 192.168.48.140
enx0... --> 192.168.1.135
lo ....

#> route -n
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    100    0        0 enx00e112002767 # so my "no outside world" claims there is a default-gw, which is probably bogus?
0.0.0.0         192.168.48.1    0.0.0.0         UG    101    0        0 enp0s25
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 enx00e112002767  # unrelated (??) note: I don't know why this addr is here; is there something bogus in my openwrt?
192.168.1.0     0.0.0.0         255.255.255.0   U     100    0        0 enx00e112002767
192.168.48.0    0.0.0.0         255.255.255.0   U     100    0        0 enp0s25

#> nslookup  www.google.com
  # this is the **Note above; a number of ifup/ifdown iterations ago this just returned REFUSED from 127.0.1.1; now it returns:
Server:   192.168.48.1
  ... valid response

#> nslookup  www.google.com  127.0.1.1
   # for the first N times i had plugged/unpluged nic2, 127.0.1.1 serviced the request by default (no extra server-ip param needed)
Server:   127.0.1.1
REFUSED ...

#> ping www.google.com 
  ... _does_ get a valid IP;  I think this tracks the **Note behavior above
 ... but all packets time out

#> ping 8.8.8.8
  ... times out


#> sudo route delete default
#> sudo route delete default # there are two default routes
#> sudo route add default gw 192.168.48.1

#> ping 8.8.8.8
  ... SUCCESS ...

#> nslookup www.google.com 127.0.1.1
  ... still REFUSED ...

Então, parece-me que o meu problema é relacionado ao servidor de nomes. O que estou fazendo errado?

Nota 2: embora 192.168.1.1 esteja retornando algumas informações falsas; Eu acho que isso deve ser OK, e há uma razão / pano de fundo para isso:

  • Eu tenho vários lans / wifis locais; meu PC principal está em um (via nic1), e estou conectando um usb-nic (nic2) para poder reconfigurar uma caixa de roteador sem fio ( 192.168.1.1 no lado da LAN)
  • 192.168.1.1 normalmente fica em uma rede separada, com essa rede sendo normalmente conectada à rede através da WAN de 192.168.1.1
    • então 192.168.1.1 está configurado para servir o dhcp, e pelo menos quando estiver no "normal in-situ" deve fornecer servidores de nomes válidos e um default-gw no dhcp (que estava fazendo com sucesso nesta AM antes de eu puxar -lo para reconfigurá-lo no meu pc principal, mais nic2
  • se for útil, a caixa 192.168.1.1 está sendo executada, e é totalmente possível tê-la configurada de alguma forma levando-a ainda a anunciar default-gw e nameservers mesmo que tenha sido desligada sem nada na WAN porta.

Obrigado.

    
por mike 12.03.2017 / 00:43

0 respostas