Come configuro il mio DNS statico nelle interfacce?


60

Sto usando Ubuntu 12.04.

Il mio /etc/network/interfacesfile è composto da:

# The loopback network interface  
auto lo  
iface lo inet loopback  


# The primary network interface  
auto eth0 
iface eth0 inet static  
address 192.168.1.58  
gateway 192.168.1.1
network 192.168.1.0  
broadcast 192.168.1.255
dns-nameservers 66.212.63.228 66.212.48.10  

Ho eseguito il comando: /etc/init.d/networking restart

Che ha risposto con:

*Running /etc/init.d/networking restart is deprecated because it may not enable again some interfaces  
*Reconfiguring network interfaces...  
RTNETLINK answers: File exists  
Failed to bring up eth0  
[ OK ]  

Successivamente ho eseguito ping google.com e ho ricevuto:

ping: unknown host google.com

Non sono sicuro che le mie interfacce si siano aggiornate. Come configuro correttamente la mia rete con i miei indirizzi DNS statici?


1
Riavvia il tuo computer. Non eseguire /etc/init.d/networking restart. L'errore è causato dalla route predefinita già esistente. Questa configurazione mi sembra corretta.
Matt H

2
Come dice Matt H, /etc/network/interfacesè pignolo su cose già esistenti. Puoi avere una configurazione perfetta, ma hai già qualcosa lì e si lamenterà. Se si tratta della route predefinita di cui si lamenta, è possibile rimuoverla eseguendo ip route del defaultper portare il computer in uno stato in cui è possibile consegnare la gestione di questa roba a/etc/network/interfaces
Azendale

Il gestore della rete ha rivendicato un'altra vittima. Elimina quella spazzatura.
Gufo

Risposte:


24

Dato che l'interrogante fornisce il contenuto del suo, /etc/network/interfacesdesumo che sta usando ifup per configurare le interfacce. Ma dal momento che potrebbe effettivamente utilizzare NetworkManager, ne discuterò anche questo.

Se si utilizza ifup, accedere alle impostazioni DNS /etc/network/interfaces. Per ogni interfaccia aggiungi dns-*opzioni appropriate per i nameserver disponibili su quell'interfaccia. Ad esempio, se un nameserver all'indirizzo 1.2.3.4 è disponibile sull'interfaccia eth0, quindi aggiungere dns-nameservers 1.2.3.4alla iface eth0stanza.

Se si utilizza NetworkManager, le impostazioni vengono immesse nell'Editor connessioni (indicatore di rete | Modifica connessioni ...) nella scheda Impostazioni IPv4.

Fare /etc/init.d/networking restartper riconfigurare le interfacce è deprecato. Se si utilizza ifupquindi prima ifdownogni interfaccia di rete attiva, quindi ifupciascuna interfaccia. Se si utilizza NetworkManager, innanzitutto, disabilitare la rete utilizzando l'indicatore (nella parte superiore del desktop); quindi aprire un terminale ed eseguire

sudo /etc/init.d/network-manager restart

e quindi abilitare la rete utilizzando l'indicatore.

Oppure puoi semplicemente riavviare.

Per quanto riguarda il fatto che ne è /etc/init.d/networking restartderivato

RTNETLINK answers: File exists
Failed to bring up eth0  

Ciò significa che ifupdown pensa che eth0sia già attivo. Utilizzare ifdown --force eth0per far ifupdownsmettere di credere che abbia già configurato l'interfaccia.

Per quanto riguarda il messaggio "deprecato", questo messaggio non viene più stampato in Ubuntu 12.10 ma dovresti comunque notare che gli initscript sono "in uscita". Per riavviare un servizio foo, utilizzare service foo restarto restart foo. Nota anche che se vuoi riconfigurare le tue interfacce, è meglio scaricarle una per una piuttosto che fare affidamento sul riavvio della "rete".


17

Se nessuna delle precedenti funzioni funziona, tieni presente che Ubuntu aggiunge un tailfile al file resolv.conf che genera.

Prova questo:

sudo nano /etc/resolvconf/resolv.conf.d/tail

Che aprirà un file resolv.conf.d vuoto nell'editor di testo nano. Dovrai posizionare l'indirizzo del tuo server DNS sulla prima riga di questo file e ricordarti di terminare la riga con un ritorno a capo (premi invio) come mostrato di seguito:

nameserver 10.20.1.2

La modifica del file tail anziché del file resolv.conf effettivo impedirà la perdita delle modifiche al riavvio del sistema.

Dovrai eseguire sudo resolvconf -uper attivare la modifica. Dopo questo dovresti essere in grado di eseguire il ping di google.com. In bocca al lupo!


Sembra buono, ma il mio sistema Ubuntu 14.04 non ha usato questo file di coda. Quindi questa non è una soluzione nel mio caso. Grazie comunque.
James T Snell,

11

Versione da riga di comando:

Dovresti aggiungere i tuoi nameserver (s) al /etc/resolvconf/resolv.conf.d/basefile in questo modo:

nameserver 66.212.63.228 
nameserver 66.212.48.10

Dovrò provare questo metodo tra poche ore e ricontattarti. Sai perché ricevo il messaggio obsoleto e non riesco a visualizzare il messaggio eth0?
dottedquad,

1
È possibile utilizzare questo: $ ifdown eth0 && ifup eth0Ulteriori informazioni su questo problema qui .
pl1nk

1
@dottedquad cos'è che cambi il file / etc / network / interfaces in questo: auto lo iface lo inet loopback auto eth0 iface eth0 inet static address 192.168.1.58 gateway 192.168.1.1 network 192.168.1.0 broadcast 192.168.1.255auto eth0 iface eth0 inet static
fai

1
È meglio aggiungere le informazioni del nameserver alle connessioni di NetworkManager (se si utilizza NetworkManager) come descritto da bodhi.zazen o interfacciare le definizioni in / etc / network / interfaces (se si utilizza ifup) piuttosto che aggiungere le informazioni staticamente e globalmente su /etc/resolvconf/resolv.conf.d/base.
jdthood,

1
@jdthood Sembra che tu abbia visto i miei commenti, la domanda e le altre risposte! Alcuni commenti su [..] "Potresti usare questo: $ ifdown eth0 && ifup eth0" [..]
pl1nk

11

Tutte le risposte relative a / etc / network / interfaces indicano erroneamente dns-nameserverspiuttosto che dns-nameserver- di seguito dovrebbero funzionare:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameserver 8.8.8.8
dns-nameserver 8.8.4.4
dns-search something.network.com

(testato su Ubuntu 15.04)


8
Attento. Ho appena confermato che dns-nameserver(singolare) non funziona su RaspberryPi + Raspian Jesse. Ho scoperto che ho dovuto usare dns-nameservers(plurale). YMMV e tutto il resto,
sto

2
Controlla la tua pagina man resolvconf (8) per l'uso e le opzioni. Su Ubuntu 16.04.3 LTS dice che o usi una o più linee dns-nameserver con un singolo indirizzo IP per linea, oppure puoi usare dns-nameserver e un elenco separato da spazi di indirizzi IP.
jla,

dns-nameservero dns-nameservers? perché wiki.ubuntu.com/KvmWithBridge dice "server" ...
Thufir

Sicuramente non funziona per me. Impossibile votare verso il basso, non ancora abbastanza punti.
Gufo

Sì, allora è bello e coerente! Ci scusiamo per la confusione, controlla entrambi e controlla i commenti sopra in quanto sembra che le diverse varianti di Ubuntu / Debian / Raspian siano diverse.
babelmonk,

6

Il metodo più semplice per configurare i server DNS è utilizzare NetworkManager

Sotto IPv4, inserisci i tuoi server DNS

inserisci qui la descrizione dell'immagine


2
Ho dimenticato di dire che non ho installato unità o gnomo. L'installazione di Gnome è il mio prossimo progetto.
dottedquad,

Non mi lascerò salvare questo. perché potrebbe essere?
josh

4

Sono stato in grado di ovviare a questo su un server Ubuntu senza testa aggiungendo

nameserver 8.8.8.8

... dopo la relativa interfaccia in / etc / network / interfaces:

auto wlan0
iface wlan0 inet static
address 192.168.1.28
netmask 255.255.255.0
gateway 192.168.1.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4

Spero che questo aiuti gli utenti successivi!


perché dns-nameserverspuoi separare la virgola 8.8.8.8, 8.8.4.4?
Giovedì


4

Nota: uso attento senza accesso diretto sulla macchina, questo interromperà la connessione ...

Io uso

sudo ifdown eth0

poi

sudo ifup eth0

Ripristinerà e rilascerà tutto ...

Se si verificano errori relativi alla configurazione, è possibile utilizzare:

sudo ifdown eth0 --force

3

Questo ha funzionato per me

sudo vi /etc/resolvconf/resolv.conf.d/base

e aggiungi:

nameserver <add your router ip>

Correre:

sudo resolvconf -u

Uso l'installazione core del server Ubuntu.


2

Manca una specifica di sottorete nel file interfacce.

Aggiungi la maschera 255.255.255.0di rete /etc/network/interfacessotto la linea di rete.


1

Per qualche ragione la dns-nameserversdichiarazione non fa nulla nel mio caso. E le altre risposte non sono dal libro, in quanto bypassano dnsmasqin quanto viene utilizzato in Ubuntu.

Per fare questo, modifica /etc/dnsmasq.conf

Aggiungi i tuoi nameserver in fondo al file:

server=8.8.8.8
server=8.8.4.4

Riavvia dnsmasq per utilizzare le nuove impostazioni: sudo service dnsmasq restart

Credito: https://unix.stackexchange.com/a/163506/187949


1

Ho avuto questo problema Pensavo di impazzire. Ogni volta che ho modificato /etc/resolv.conf, ha cancellato la mia configurazione. Si scopre che un po 'di folle totale ha distribuito debian con il gestore della rete, che sta sovrascrivendo tutte le mie impostazioni di rete.

Ecco come l'ho risolto:

1) sudo apt-get purge network-manager

Questo elimina questo nuovo strumento orrendo che impedisce a tutte le configurazioni di funzionare correttamente.

2) Modifica il /etc/network/interfacesfile:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enp0s25
iface enp0s25 inet static
        address 192.168.1.2
        netmask 255.255.255.0
        gateway 192.168.1.1

3) Modifica /etc/resolv.conf:

nameserver 8.8.8.8
nameserver 8.8.4.4

4) Riavvia.

Complimenti, ora hai config sani che funzionano di nuovo.


0

È possibile configurare tale interfaccia anche in un altro file, poiché si dispone di più gateway.

I dettagli sono qui .

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.