O DNS falha temporariamente com endereços VPN

2

Estou conectando a uma rede da empresa no Lubuntu 15.10 com vpnc no terminal ou através do gerenciador de rede. Às vezes, consigo acessar bem os hosts da intranet e, de repente, eles desaparecem. Então eles voltam. Eu não mudo nada nas configurações, minha conexão é estável. É muito frustrante.

Normalmente, posso sempre alcançá-los pelo ip, mas não pelo nome do host. Aqui está a saída da escavação com apenas 5 minutos de intervalo, uma vez que falha na outra vez, não acontece.

; <<>> DiG 9.9.5-11ubuntu1-Ubuntu <<>> some.intranet.host
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7423
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;some.intranet.host.        IN  A

;; ANSWER SECTION:
some.intranet.host. 3500    IN  A   10.0.20.107

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec 10 18:46:17 CET 2015
;; MSG SIZE  rcvd: 65
; <<>> DiG 9.9.5-11ubuntu1-Ubuntu <<>> some.intranet.host
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 17766
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;some.intranet.host.        IN  A

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Dec 10 19:06:35 CET 2015
;; MSG SIZE  rcvd: 49

Eu não sou bom com a configuração de rede e luto para depurá-lo. O conteúdo do meu resolv.conf quando conectado ao vpn:

# 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.0.1
search intranet.host intranet fritz.box
ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:172.16.0.138  P-t-P:172.16.0.138  Mask:255.255.255.0
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1412  Metric:1
          RX packets:46575 errors:0 dropped:0 overruns:0 frame:0
          TX packets:36452 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:45875777 (45.8 MB)  TX bytes:4059895 (4.0 MB)

Atualização:

Apesar de desativar o dnsmasq, posso ver um processo em execução após a reinicialização e meu resolv.conf ainda mantém 127.0.0.1 como servidor de nomes. Depois que eu mato o processo, não consigo mais resolver os endereços da web. Eu suponho que eu precisaria tirar o nameserver do resolv.conf manualmente então?

$ grep dnsmasq /etc/NetworkManager/NetworkManager.conf
#dns=dnsmasq

$ ps aux|grep dnsmas
dnsmasq   1730  0.0  0.0  49580  3052 ?        S    16:26   0:00 /usr/sbin/dnsmasq -x /var/run/dnsmasq/dnsmasq.pid -u dnsmasq -r /var/run/dnsmasq/resolv.conf -7 /etc/dnsmasq.d,.dpkg-dist,.dpkg-old,.dpkg-new --local-service
    
por user640916 10.12.2015 / 19:18

1 resposta

2

O navio Ubuntus com dnsmasq está habilitado como padrão. Dnsmasq é 1) um proxy de cache DNS (para desempenho) e 2) um servidor DHCP. Não consigo encontrar uma razão pela qual um usuário doméstico típico que está falando com um roteador doméstico típico precise que o dnsmasq duplique esses dois serviços fornecidos pelo seu roteador.

O primeiro passo é desabilitar o dnsmasq:

$ grep dnsmasq /etc/NetworkManager/NetworkManager.conf 
#dns=dnsmasq
$ sudo service network-manager restart
$ sudo killall dnsmasq

Antes de mais nada, seria uma boa ideia confirmar que sua conectividade de rede permanece inalterada. Se você vir um desempenho no DNS, ficaria surpreso.

Acione vpnc ; Eu corro manualmente também, sem ajuda do NetworkManager para mim. Você pode ter que re-apontar a rota padrão para sua VPN. Você pode encontrar o pseudo-dispositivo do túnel VPN com ifconfig ; o meu é chamado tun0

$ sudo route del default ; sudo route add default tun0

Eu sugiro mantê-los em uma linha caso não haja um roteador padrão obstruindo seu terminal (não deveria, mas ...).

O primeiro bloco de código acima é feito uma vez. A rota padrão, se precisar ser alterada, precisa ser feita toda vez que você fizer VPN. Eu tenho um script simples que faz tudo isso que eu não estou postando aqui porque, sem um melhor entendimento do NetworkManager, eu o considero muito localizado.

    
por 26.12.2015 / 03:32

Tags