Come sovrascrivere il nameserver fornito da DHCP?


12

Penso (ho) di aver configurato un indirizzo IP statico in /etc/network/interfaces:

# The primary network interface 
auto eth0 
iface eth0 inet static
    address 10.1.1.2
    netmask 255.255.255.0
    network 10.1.1.0
    broadcast 10.1.1.255
    gateway 10.1.1.1

E cambio il file /etc/resolv.confper includere i nameserver desiderati.

Quindi riavvio la rete sudo /etc/init.d/networking restart

Ma dopo alcune ore resolv.conf torna sempre al nameserver DHCP.


Dovrei anche dire che questo è Ubuntu Server con solo l0e eth0interfacce.


Il resolvconfpacchetto è installato?
Gilles 'SO- smetti di essere malvagio' il

Stai cercando di usare dhclient su un'altra interfaccia di rete (forse una connessione wifi o interfaccia dial-up), oppure dhclient è in esecuzione in modo errato su eth0 anche se dovrebbe essere statico?
poolie,

C'è solo eth0 e lo0, l'IP che ho impostato manualmente è lo stesso dell'IP DHCP che otterrò (il server DHCP servirà sempre lo stesso IP statico). Ma non voglio usare il nameserver fornito dal server DHCP, quindi ho pensato di impostare l'IP da solo e non ci sarebbe nessun DHCP, ma non capisco perché il resolv.conf continui ad essere aggiornato.
David Parks,

Gilles - no, ho eseguito: dpkg -L resolvconf, e get: Il pacchetto `resolvconf 'non è installato.
David Parks,

Risposte:


34

Se si desidera sovrascrivere o aggiungere i server dei nomi suggeriti dal server DHCP, è possibile configurarlo in /etc/dhcp/dhclient.conf, ad esempio:

interface "eth0" {
    prepend domain-name-servers 10.0.0.2;
}

Puoi anche farlo dal controllo "Modifica connessioni" nell'indicatore di rete in Unity o GNOME.


4
Questa è stata la soluzione migliore, ho pubblicato un'altra opzione, ma ho capito che l'impostazione di un IP statico non era una buona idea in un ambiente AWS EC2. :)
David Parks,

Cosa succede se si desidera anteporre diversi server dei nomi di dominio?
dangonfast,

La preparazione del server dei nomi di dominio 127.0.0.1sembra scartare il server dei nomi fornito da dhcp (ciò non accade prima di altri server dei nomi)
dangonfast

2
Sostituisci prependcon supersedeper sovrascrivere completamente il valore DHCP.
Sqerstet,

1

Una risoluzione che risolverà il problema è configurare il resolvconfpacchetto. Ciò darà la precedenza ai tuoi nameserver preferiti e alle altre impostazioni desiderate resolv.conf come la ricerca e le preferenze del dominio.

Modifica il file: /etc/resolvconf/resolv.conf.d/head

Posiziona i server dei nomi desiderati e qualsiasi altra configurazione che desideri preferire in caso di modifica della rete. Quando si verificano modifiche alla rete, la configurazione avrà sempre la precedenza.

Un esempio del /etc/resolvconf/resolv.conf.d/headfile:

# 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 8.8.8.8
search mydomain.com

Guarda la risposta a una domanda simile:
sovrascrivi il server dei nomi DNS

Nota:
assicurarsi di avere un avanzamento riga dopo l'ultima voce. La maggior parte degli editor fornirà automaticamente un avanzamento di riga durante il salvataggio del file.


-2

Ho trovato un riferimento alla rimozione del client dhcp, penso che sia stato il principale colpevole. L'ho fatto e non ho ancora visto il problema. Aspetterò fino al mattino per confermare, ma sembra che il client DHCP sia ancora in esecuzione e che sia stato necessario arrestarlo e disinstallarlo.

apt-get remove isc-dhcp-client dhcp3-client dhcpcd

Sono un po 'confuso se la soluzione era il comando prepend o se stava effettivamente rimuovendo il client DHCP.
Eugene van der Merwe il

@EugenevanderMerwe È il comando prepend. Il poster diceva "Questa era la soluzione migliore, ho pubblicato un'altra opzione, ma ho capito che l'impostazione di un IP statico non era una buona idea in un ambiente AWS EC2. :)"
Grammargeek,

-3

Come regola generale, è sempre necessario disinstallare tutti i servizi di rete utilizzando apt-get --purge remove <package-name>. In questo modo, verranno rimossi anche tutti i file di configurazione.

In questo caso il comando sarebbe:

apt-get --purge remove isc-dhcp-client isc-dhcp-common

Questo comando rimuoverà completamente il file isc-dhcp-client.


4
In che modo è rilevante e perché pensi che sia una buona regola generale? Non vuole smettere di usare DHCP?
poolie,
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.