Perché il mio file resolv.conf viene rigenerato ogni volta?


17

Il mio /etc/resolv.conffile viene rigenerato ogni volta, facendomi perdere i server DNS di Google quando ricollego il mio modem 3G.

Per modificare le impostazioni DNS, ho consultato http://code.google.com/intl/fr-FR/speed/public-dns/docs/using.html .

Il mio dhclient.confè piuttosto grande (58 righe), quindi l'ho pubblicato su pastebin .

Tuttavia, ecco il tutto dhclient.confsenza righe di commento o righe vuote:

option rfc3442-classless-static-routes code 121 = array of unsigned integer 8;
send host-name "<hostname>";
request subnet-mask, broadcast-address, time-offset, routers,
    domain-name, domain-name-servers, domain-search, host-name,
    netbios-name-servers, netbios-scope, interface-mtu,
    rfc3442-classless-static-routes, ntp-servers;
prepend domain-name-servers 8.8.8.8, 8.8.4.4;

Sto usando wvdialinvece di Network Manager.


Sfortunatamente, non ne so nulla wvdial. A questo punto sospetto che sia coinvolto qui un altro pacchetto non ancora scoperto. Sai se hai installato altre applicazioni o strumenti relativi alla rete che potrebbero in qualche modo toccare DNS, DHCP, interfacce, ecc.?
belacqua,

Risposte:


6

In 12.04, resolvconf è installato di default. Ecco un breve riepilogo di come apportare modifiche alla configurazione DNS per alcuni casi d'uso comuni:

Per una configurazione statica utilizzando ifup, utilizzare dns-nameserverse le dns-searchvoci in /etc/network/interfaces.

Per una configurazione statica mediante NetworkManager, selezionare Automatic (DHCP) addresses only Methode immettere gli indirizzi e i nomi di dominio nei campi Additional DNS serverse Additional search domainsnell'Editor connessioni.

Per ignorare resolvconf di configurazione di default, l'uso base, heade tailin /etc/resolvconf/resolv.conf.d/. Immettere solo indirizzi e nomi di dominio in questi file come misura temporanea, poiché appartengono davvero a un altro sito, come descritto sopra.

La disabilitazione di resolvconf non è consigliata, ma è possibile sostituire il /etc/resolv.confcollegamento simbolico con un file normale.

Per ulteriori informazioni, consultare il post sul blog di Stéphane Graber .


4

Se tutto ciò che vuoi fare è mantenere i tuoi server DNS di Google in resolv.conf, puoi modificare
/etc/dhcp3/dhclient.confe aggiungere:

prepend domain-name-servers 8.8.8.8;
prepend domain-name-servers 8.8.4.4;

L'unica differenza tra quello che hai e quello che sto mostrando qui è che hai entrambi i server dei nomi su una sola riga, per i documenti che hai citato.

A meno che non mi manchi qualcosa, il tuo dhclient.conf non è un problema qui. A questo punto, suppongo che il problema abbia a che fare con wvdial.

Ecco qualcosa da provare, da ubuntuforums :

gksudo gedit /etc/ppp/peers/wvdial

RIMUOVI il parametro usepeerdns e salva il file. Codice:

gksudo gedit /etc/wvdial.conf

aggiungi queste righe:

check DNS = no
auto DNS = no

@jgbelacqua l'ho provato in modo spearated ma non ha funzionato: P
Jakh Saidlikp

@Jakh Suppongo che anche il fatto di spostare le linee di prepend più in alto non riesca? (È così che ho installato il mio.)
belacqua,

@jgbelacqua sì, ci ho provato anche io;]
Jakh Saidlikp,

@Jakh - hai provato a modificare la request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, domain-search, host-name, netbios-name-servers, netbios-scope, interface-mtu, rfc3442-classless-static-routes, ntp-servers;linea per rimuovere i server dei nomi lì?
belacqua,

@jgbelacqu No ill provalo ora e ti
faccio sentire

4

Il modo migliore per impostare un nameserver tramite la CLI, senza NetworkManger, con un indirizzo statico o indipendente dalla connessione è questo:

Installa il pacchetto resolvconf .

Correre

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

(ignora l'avvertimento spaventoso. /etc/resolv.conf viene generato automaticamente, quindi l'avviso è presente e verrà inserito in /etc/resolv.conf quando viene generato /etc/resolv.conf.) Alla fine del file, Inserisci

 nameserver <ip_of_nameserver>

Premi Ctrl xe rispondi sì per salvare il file. Per finire, rigenerare /etc/resolv.conf in modo che le modifiche vengano applicate proprio ora:

 sudo resolvconf -u

Va aggiunto che in genere non è una buona idea inserire un indirizzo nameserver statico in resolv.conf. Si prega di leggere /usr/share/doc/resolvconf/README.gz.
jdthood,

0

È possibile impostare l' domain-name-serversopzione dhclient.conf.


controlla la sua pasta, sembra che abbia già questo.
belacqua,

Grazie, non me ne sono accorto. A proposito, la tua soluzione potrebbe essere corretta, quindi considera di pubblicarla come risposta anziché come commento.
Adam Byrtek,

ciao @adam puoi essere più chiaro in un noob:] grazie
Jakh Saidlikp

0

Ho risolto lo stesso problema con i seguenti comandi:

echo "nameserver 212.217.0.1" >> /etc/resolvconf/resolv.conf.d/head
ln -s /etc/resolvconf/resolv.conf.d/head /etc/resolv.conf
resolvconf -u
/etc/init.d/networking restart

1
Potresti aver risolto il problema in questo modo, ma si tratta di una configurazione errata. Hai finito il collegamento simbolico /etc/resolv.conf a un file statico che risulta essere uno dei file di configurazione di resolvconf. Se si desidera disabilitare resolvconf, sarebbe molto più semplice eliminare il link simbolico /etc/resolv.conf e inserire lì un file statico.
jdthood,

-1

è possibile che sia installato il pacchetto resolvconf. in tal caso, ogni volta che viene visualizzata un'interfaccia, il resolv.conf viene aggiornato. è possibile aggiungere voci statiche usando il file /etc/resolv.conf.tail, vedere la pagina man per resolv.conf per ulteriori informazioni.


no, non ho installato quel pacchetto
Jakh Saidlikp,

Il programma resolvconf aggiorna /etc/resolv.conf, ma solo se /etc/resolv.conf è un collegamento simbolico a ../run/resolvconf/resolv.conf. Il pacchetto resolvconf è stato introdotto perché molti altri programmi stavano calpestando /etc/resolv.conf indipendentemente l'uno dall'altro, causando il caos. Si prega di leggere /usr/share/doc/resolvconf/README.gz. Quindi dal fatto che /etc/resolv.conf è stato aggiornato, non segue (a marzo 2011 quando è stata posta la domanda) che è stato installato resolvconf. Più probabilmente pppd stava riscrivendo il file. (A partire da Ubuntu 12.04, tuttavia, resolvconf fa parte del sistema di base.)
jdthood,

-1

Ho avuto lo stesso identico problema, il server DNS fornito dal mio gestore di telefonia mobile era piuttosto scarso, quindi volevo usare il DNS di Google. Anche NetworkManager fa un pessimo lavoro di gestione delle connessioni mobili a banda larga, quindi wvdialè una necessità.

A quanto pare /etc/resolv.confc'è un link simbolico dentro ubuntu 12.10e forse anche 12.04. Ecco quello che ho fatto sudo unlink /etc/resolv.confdopo questo si può creare un nuovo resolv.confcon vimo l'editor di vostra scelta e aggiungere nameserver di Google o qualsiasi altro server dei nomi che preferite. Salvalo e il gioco è fatto.

Se hai paura di rompere qualcosa, puoi prendere nota del collegamento simbolico esistente facendo ls -la /etc/resolv.confprima di unlinkingesso.

Spero che sia d'aiuto.


@Downvoter, cura di commentare. Se la mia risposta è davvero un cattivo consiglio, sarò felice di eliminarlo. Per favore fatemi sapere cosa sto facendo di sbagliato. Grazie
nikhil
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.