resolv.conf non viene impostato al riavvio quando la rete è configurata per ip statico


17

Sto riscontrando quello che sembra essere un problema di risoluzione dei nomi in Ubuntu 12.04 Server edition durante la configurazione del mio computer per l'utilizzo dell'ip statico.

In / etc / network / interfaces:

# The primary network interface
auto eth0
iface eth0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1

In esecuzione $ sudo apt-get upgrade, si ottiene un 'Impossibile recuperare ...':

. . . W: Failed to fetch http://us.archive.ubuntu.com/ubuntu/dists/precise-backports/universe/i18n/Translation-en_US Something wicked happened resolving 'us.archive.ubuntu.com:http' (-5 - No address associated with hostname)
[...]

Quando cambio l'interfaccia / etc / network / in:

auto eth0
iface eth0 inet dhcp

Tutto funziona bene.

Esaminare /etc/resolv.conf fornisce alcuni suggerimenti.

Nei casi in cui stavo riscontrando il problema di risoluzione, resolv.conf era vuoto; non sono stati specificati server dei nomi. Quindi sono passato a DHCP dalla rete statica e riavviata; /etc/resolv.conf è stato modificato in: 'nameserver 192.168.1.1'.

Il passaggio da DHCP a statico e il riavvio non rimuove la voce del nameserver. Ma quando ho riavviato il sistema con set statico, resolv.conf era vuoto. Quando riavvio il sistema con DHCP impostato, resolv.conf ha nameserver 192.168.1.1. Quindi, sembra che il problema sia che risolve.conf che non viene scritto correttamente? Quale pacchetto / codice è responsabile della scrittura su resolv.conf? Esiste un pacchetto particolare a cui posso dare un'occhiata alle questioni aperte?

AGGIORNAMENTO: istream ha pubblicato un buon articolo che parla delle modifiche a resol.conf in 12.04. http://www.stgraber.org/2012/02/24/dns-in-ubuntu-12-04/


2
Se tutto funziona correttamente quando si utilizza DHCP, quindi quale "problema" è che si desidera "correggere" i suggerimenti. Che aspetto ha la tua LAN? Che tipo di router stai usando? (Che cos'è 192.168.1.1?) Quali server DNS specifichi quando usi un IP statico?
irrazionale John

1
Titolo aggiornato per riflettere più accuratamente i sintomi e aggiungere ulteriori risultati
kenneth koontz,

+1 per la modifica di domande e titoli per migliorarli anche se hai già avuto la tua risposta!
irrazionale John

1
Aggiunto il riferimento di istream alle modifiche in dns in Ubuntu 12.04.
Kenneth Koontz,

Risposte:


16

Come nella pagina man resolvconf (esempio fornito nella pagina man), aggiungere quanto segue a / etc / network / interfaces nella configurazione statica:

dns-nameservers [IP address(es) of your DNS]     
dns-search      [your dns-search strings (optional)]

Perfetto. Questo funziona!
Kenneth Koontz,

La cosa strana è che in 11.10 non ho dovuto specificare DNS-nameserver.
Kenneth Koontz,

Giusto. In 12.04 Ubuntu ha iniziato a utilizzare resolvconf per gestire resolv.conf. È resolvconf che legge l' dns-nameserversopzione in / e / n / i.
jdthood,

1

Sei sicuro di aver fornito 192.168.1.1come valore per il DNS quando hai impostato l'IP statico?

Non so come farlo dalla riga di comando, ma usare anche la System Settings -> NetworkGUI dovrebbe funzionare, no? Tutto quello che sto pensando è che vuoi qualcosa di simile alla cattura dello schermo qui sotto? O non capisco cosa stai cercando di fare?

Configurazione di rete con IP statico, route predefinita, server DNS

Nota: ignorare i valori nella finestra di sinistra. Questi sono solo i miei valori da DHCP. Non mi sono preoccupato di salvare la configurazione statica poiché stavo solo cercando di illustrare quello che stavo pensando.

A proposito, l'ho usato 192.168.1.1perché è quello che stavi usando. Ma potresti anche usare gli IP per qualsiasi server DNS valido. Ad esempio, 8.8.8.8e / o 208.67.222.222dovrebbe funzionare anche.


Grazie per la soluzione Tuttavia, non sto usando un desktop.
Kenneth Koontz,

@kennethkoontz Non capisco. Stai usando il server Ubuntu? Se non stai utilizzando la tipica installazione desktop di 12.04, modifica la domanda e aggiungi queste informazioni.
irrazionale John

2
Dispiace per la confusione. Avrei dovuto dire "Non sto usando l'edizione desktop. Sto usando l'edizione server". Aggiornerò il post della domanda per rimuovere l'ambiguità.
Kenneth Koontz,

0

Se non vuoi (o non puoi) utilizzare l'applet di Network Manager per configurare le impostazioni di rete, trovo il modo corretto di impostare una configurazione IP "statica" , per quando non hai un server DHCP disponibile, è di avere un contratto di locazione statica sul dhclient.conf. Lì dovresti specificare il nameserver che verrà scritto nel resolv.conffile quando dhclient torna a statico.

Tuttavia, se non vuoi sporcarti le mani, ti consiglio comunque di utilizzare la GUI per specificare un indirizzo del server DNS nelle impostazioni IP della tua connessione, come in /ubuntu//a/127537/33305 .


0

L'OP sta utilizzando il server ed. NetworkManager non si applica ... anche se chissà forse verrà aggiunto solo per aggiungere complessità al server.

Del resto perché nel mondo resolvconf è stato aggiunto al server ed ... PERCHÉ !! ??!?

In ogni caso per rispondere alla tua domanda aggiungi:

/ etc / network / interfaces

qualcosa come questo:

auto eth0 inet static
     dns-nameservers ns1.mydnsservers.com ns2.mydnsservers.com

L'opzione importante è "dns-nameservers".

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.