PDA

View Full Version : Debian: non voglio che i DNS vengano assegnati automaticamente dal DHCP server


fbcyborg
30-09-2011, 09:30
Salve a tutti,

ho una Debian configurata in modo che ottenga un indirizzo IP dal router, tramite dhclient, ma non voglio che prenda anche i DNS, andando a modificare il file /etc/resolv.conf.

Ho provato a smanettare con le opzioni in /etc/dhcp/dhclient.conf ma i nameservers vengono sempre riscritti nel file /etc/resolv.conf.

Si può disabilitare?

marco.r
30-09-2011, 11:28
con cosa gestisci le impostazioni di rete ? Ad esempio se usi NetworkManager devi usare i suoi tool di impostazione.

Se hai resolvconf la soluzione "corretta" non la so, ma volendo basta mettere il dns che vuoi in /etc/resolvconf/resolv.conf.d/head e ti verra' messo sempre prima degli altri.

marco.r
30-09-2011, 11:30
rettifico

da http://wiki.debian.org/NetworkConfiguration#The_resolvconf_program


dns-nameservers 12.34.56.78 12.34.56.79

in /etc/network/interfaces

fbcyborg
30-09-2011, 11:36
Ti spiego, la Debian in questione è un server DNS, senza windows manager e network manager, in un domU Xen e ottiene un indirizzo IP dinamicamente (che in realtà è sempre lo stesso). Il punto è che ogni volta mi viene sovrascritto il file /etc/resolv.conf e come dicevo, non voglio che accada.

Tempo fa riuscii a disabilitare questo comportamento su Gentoo Linux, modificando il file /etc/conf.d/net, analogo di /etc/network/interfaces.

Avevo già letto quella pagina che mi hai segnalato ma non sono riuscito a risolvere, o perché non ho capito bene o perché non è quello che cerco io.

Grazie!

marco.r
30-09-2011, 12:33
Non hai proprio niente che gestisca resolv.conf ?
Se non mi ricordo male su debian viene usato di default resolvconf, per questo ti indicavo quel link.
Riporti cosa ti viene scritto in cima a /etc/resolv.conf ? Ci dovrebbe essere la dritta per capire qualce programma lo modifica (se dhclient direttamente o qualcun altro).

fbcyborg
30-09-2011, 12:41
Compaiono solo i due nameservers.
Sono abbastanza convinto che sia dhclient.

Fra l'altro nel file /etc/dhcp/dhclient.conf c'è la seguente "roba":

#prepend domain-name-servers 127.0.0.1;
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;

Ho provato a decommentare la prima riga ed ho visto che effettivamente quel nameserver viene impostato, però comunque appresso a quello ci sono sempre i due nameserver che vengono scritti grazie al dhcp server.
Inoltre nelle righe successive ho provato a togliere domain-name-servers e domain-search, ma non ha sortito alcun effetto. Eppure sembra abbastanza intuitiva la cosa, ma non funziona.
Ho anche provato a commentare tutta la direttiva request, sempre indicata qui sopra, ma anche in questo caso, niente.

Secondo me è proprio nel file /etc/dhcp/dhclient.conf che va modificato qualcosa, ma non saprei cosa e come, in questo momento.

marco.r
30-09-2011, 12:52
Ho provato a decommentare la prima riga ed ho visto che effettivamente quel nameserver viene impostato, però comunque appresso a quello ci sono sempre i due nameserver che vengono scritti grazie al dhcp server.
Inoltre nelle righe successive ho provato a togliere domain-name-servers e domain-search, ma non ha sortito alcun effetto. Eppure sembra abbastanza intuitiva la cosa, ma non funziona.
Ho anche provato a commentare tutta la direttiva request, sempre indicata qui sopra, ma anche in questo caso, niente.

Secondo me è proprio nel file /etc/dhcp/dhclient.conf che va modificato qualcosa, ma non saprei cosa e come, in questo momento.

uhm, che scripts hai in /etc/dhcp3/dhclient-enter-hooks.d ?

marco.r
30-09-2011, 12:53
Compaiono solo i due nameservers.
Sono abbastanza convinto che sia dhclient.

Fra l'altro nel file /etc/dhcp/dhclient.conf c'è la seguente "roba":

#prepend domain-name-servers 127.0.0.1;
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;

Ho provato a decommentare la prima riga ed ho visto che effettivamente quel nameserver viene impostato, però comunque appresso a quello ci sono sempre i due nameserver che vengono scritti grazie al dhcp server.
Inoltre nelle righe successive ho provato a togliere domain-name-servers e domain-search, ma non ha sortito alcun effetto. Eppure sembra abbastanza intuitiva la cosa, ma non funziona.
Ho anche provato a commentare tutta la direttiva request, sempre indicata qui sopra, ma anche in questo caso, niente.

Secondo me è proprio nel file /etc/dhcp/dhclient.conf che va modificato qualcosa, ma non saprei cosa e come, in questo momento.
btw, sempre dalla pagina di prima:

supersede domain-name-servers 12.34.56.78, 12.34.56.79

(notare supersede invece che prepend)

fbcyborg
30-09-2011, 13:37
uhm, che scripts hai in /etc/dhcp3/dhclient-enter-hooks.d ?
Solo lo script "debug".


btw, sempre dalla pagina di prima:

supersede domain-name-servers 12.34.56.78, 12.34.56.79

(notare supersede invece che prepend)
OK, in questo modo riesco a far sì che come DNS sia impostato quello che voglio io, ovvero 127.0.0.1, però ora devo inserire un'altra riga in testa:
search test.lan

marco.r
30-09-2011, 14:14
immagino possa essere

supersede domain-search test.lan

?

fbcyborg
30-09-2011, 14:19
mmmh. no! non funziona!

Grazie! :)

fbcyborg
30-09-2011, 16:31
Aggiornamento:

Funziona se metto i doppi apici, ovvero:
supersede domain-search "test.lan";
Anche se poi quando vado a vedere il contenuto di /etc/resolv.conf vedo che viene aggiunto un punto:

# cat /etc/resolv.conf
search test.lan.
nameserver 127.0.0.1