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.