Server DNS ISP utilizzato anziché DNS locale

Il problema

Sulla rete interna della mia azienda, c’è un server di sviluppo chiamato devserver.mycompany.com

Di solito riesco a collegarmi a questo server senza problemi, ma a volte (sembra casuale per me) Ubuntu non sarà in grado di risolvere l’indirizzo.

Altre informazioni e osservazioni

Quando nmcli dev list iface eth0 in un terminale, vedo che ci sono due server DNS configurati:

 IP4.DNS[1]: 192.168.50.103 IP4.DNS[2]: 128.255.1.3 

Il secondo server DNS è il server del mio ISP.

Non ho mai riscontrato questo problema sulla mia partizione Windows che è configurata per utilizzare gli stessi due server DNS.

Quando sto riscontrando il problema:

  • nslookup devserver.mycompany.com non riesce
  • nslookup devserver.mycompany.com 128.255.1.3 non riesce sempre (nessuna sorpresa, devserver non è un server pubblico)
  • nslookup devserver.mycompany.com 192.168.50.103 funziona

Ecco l’output effettivo di nslookup :

 Ubuntu-14:~$ nslookup devserver.mycompany.com Server: 127.0.1.1 Address: 127.0.1.1#53 ** server can't find devserver.mycompany.com: NXDOMAIN 

Domande

  • Dall’output di cui sopra, sembra che Ubuntu stia cercando di utilizzare un server DNS locale. Corretta? Memorizza nella cache una ricerca fallita sul mio computer locale?
    • Se si trova nella cache, come posso cancellare la cache?
  • A volte Ubuntu utilizza questo secondo server DNS? Perché? È il bilanciamento del carico? Il locale è più lento?
  • Come dovrei risolvere questo? Non voglio rimuovere il secondo server DNS nel caso in cui quello principale non funzioni.
  • E infine, perché non ho riscontrato questo problema in Windows?

Informazioni sulla versione di Ubuntu

ubuntu 14.04 LTS senza aggiornamenti in sospeso.

Tutta la rete è stata configurata più o meno automaticamente. Utilizzando DHCP

Dall’output di cui sopra, sembra che Ubuntu stia cercando di utilizzare un server DNS locale. Corretta? Memorizza nella cache una ricerca fallita sul mio computer locale?

Sì, Ubuntu sta usando tutto ciò che è stato fornito con lease DHCP, in particolare dnsmasq , un plug-in, che si occupa di ciò per network-manager .

A volte Ubuntu utilizza questo secondo server DNS? Perché? È il bilanciamento del carico? Il locale è più lento?

Se il primo dns non riesce a risolversi, dnsmasq dovrebbe redirect la query al dns secondario. Almeno questa è l’idea.

Nel caso in cui si desideri utilizzare il proprio server dns Personalmente, utilizzo sempre supersede domain-name-server xxx.xx.xxx.xxx in supersede domain-name-server xxx.xx.xxx.xxx per dire al mio sistema Ubuntu di sostituire qualsiasi DNS riceve tramite leasing DHCP con il mio server. Ecco l’estratto da quel file:

 30)[email protected][/home/xieerqi] >_ cat /etc/dhcp/dhclient.conf # Configuration file for /sbin/dhclient, which is included in Debian's # dhcp3-client package. # # This is a sample configuration file for dhclient. See dhclient.conf's # man page for more information about the syntax of this file # and a more comprehensive list of the parameters understood by # dhclient. # # Normally, if the DHCP server provides reasonable information and does # not leave anything out (like the domain name, for example), then # few changes must be made to this file, if any. # option rfc3442-classless-static-routes code 121 = array of unsigned integer 8; #send host-name "andare.fugue.com"; send host-name = gethostname(); #send dhcp-client-identifier 1:0:a0:24:ab:fb:9c; #send dhcp-lease-time 3600; #supersede domain-name "fugue.com home.vix.com"; supersede domain-name-servers 208.67.220.220; #prepend domain-name-servers 127.0.0.1; request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, dhcp6.name-servers, dhcp6.domain-search, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers, dhcp6.fqdn, dhcp6.sntp-servers; 

Dopo averlo impostato e ricollegato o riavviato network-manager , ecco cosa ho:

 31)[email protected][/home/xieerqi] >_ nmcli dev list | grep -i dns IP4.DNS[1]: 208.67.220.220 

Nslookup riporterà Server: 127.0.1.1 e Address: 127.0.1.1#53 poiché è il dsnmasq di Network-Manager che ascolta su quell’indirizzo, e usa tutto ciò che è stato fornito da dhcp (in questo caso, il dns sostituito)