GNU/Linux >> Linux Esercitazione >  >> Linux

Come rendere permanente l'indirizzo del server dei nomi in /etc/resolv.conf?

Dipende. Si prega di leggere fino alla fine.

Se non hai il pacchetto resolvconf installato, allora è facile:dopo averlo modificato come preferisci, dai il comando

 sudo chattr +i /etc/resolv.conf

Il comando modifica gli attributi del file, rendendolo immutable (l'opzione +i).

Tuttavia, se hai installato il pacchetto resolvconf, il file /etc/resolv.conf potrebbe essere trasformato in un collegamento simbolico,

 # file /etc/resolv.conf
 /etc/resolv.conf: symbolic link to `../run/resolvconf/resolv.conf'

che è un file su un file system virtuale, l'epitome di una versione non permanente. La cosa divertente è che potresti non sapere di avere resolvconf installato, perché le versioni recenti di sistemi operativi simili a Debian lo hanno preinstallato. Puoi stabilire se la tua distribuzione lo ha installato per te emettendo il comando:

 #whereis resolvconf
 resolvconf: /sbin/resolvconf /etc/resolvconf /lib/resolvconf /usr/share/man/man8/resolvconf.8.gz

Ancora più importante, puoi stabilire se il tuo /etc/resolv.conf è stato trasformato in un link tramite il comando (file /etc/resolv.conf) sopra. Se la risposta è ASCII text , usa chattr , altrimenti...

Se usi un IP statico, la cosa più semplice è aggiungere la seguente riga (o qualcosa del genere)

 dns-nameservers 8.8.4.4 8.8.8.8

alla stanza che definisce le proprietà dell'interfaccia statica in /etc/network/interfaces.

Se invece sei su un laptop che si connette sempre a reti diverse, puoi seguire LawrenceC ottimo suggerimento. Ma se hai resolvconf sul tuo sistema, il modo corretto (e più semplice) per fornire un set fisso di DNS è utilizzare i file in /etc/resolvconf/resolv.conf.d . In particolare, vengono utilizzati i seguenti file (vedi la pagina di Stephane Graber):

base :Utilizzato quando non è possibile trovare altri dati

testa :Utilizzato per l'intestazione di resolv.conf, può essere utilizzato per garantire che un server DNS sia sempre il primo nell'elenco

coda :Qualsiasi voce in tail viene aggiunta alla fine del resolv.conf risultante.

Quindi posiziona i tuoi nameserver preferiti in head , come segue

  nameserver 8.8.8.8

e il gioco è fatto.


Aggiungi una riga simile a /etc/dhcp/dhclient.conf utilizzando un terminale root:

supersede domain-name-servers 74.122.198.48, 50.116.23.211;

Ciò provoca dhclient , il programma che emette una richiesta DHCP e apporta modifiche in base a quanto indicato dalla risposta, per sostituire le informazioni ottenute dal server DHCP con quanto sopra prima di apportare modifiche.

Quanto sopra sono due server DNS OpenNIC. Sostituisci in base alle esigenze per qualsiasi server desideri utilizzare.

Poiché ciò accade ogni volta che ricevi informazioni di configurazione da DHCP, usa dhclient -v eth0 o qualsiasi altra interfaccia per aggiornarla e vedere il cambiamento.


Sembra, come menzionato da @Rik, che il motivo delle sostituzioni DNS al riavvio sia dovuto al gestore di rete / utilità impostato in questo modo. In Linux Mint, come da schermata, avevo il mio metodo IPv4 impostato solo su indirizzi automatici (DHCP). È quindi possibile inserire le impostazioni corrette in /etc/resolv.conf o nella sezione dei server DNS. Ricordo che in Ubuntu 13.04 i miei server dei nomi sono cambiati alcune volte per un lungo periodo di tempo, ma dopo che sono andato effettivamente a modificarli nella GUI, tutto sembrava essere stabile da lì in poi.


Linux
  1. In che modo Linux gestisce più separatori di percorsi consecutivi (/home////nomeutente///file)?

  2. Cosa sovrascrive /etc/resolv.conf ad ogni avvio?

  3. Linux:come disabilitare Ctrl-alt-del e /etc/init/control-alt-del.conf in Linux?

  4. Gestore di rete:come interrompere l'aggiornamento di Nm /etc/resolv.conf?

  5. CentOS/RHEL:i server DNS in /etc/resolv.conf cambiano dopo un riavvio/riavvio del servizio di rete. Come renderli permanenti

Come posso ripristinare un chmod nella directory etc?

Come rendere effettive le modifiche alla rotazione del registro

Perché /etc/resolv.conf punta a 127.0.0.53?

Nel mio file /etc/hosts/ su Linux/OSX, come creo un sottodominio con caratteri jolly?

Differenza tra /etc/hosts e /etc/resolv.conf

Come configurare /etc/issues per mostrare l'indirizzo IP per eth0