Verhindern, dass resolv.conf vom dhcp geändert wird?

Vril

Well-Known Member
Hallo Gemeinde,

ich hab da 'mal ne Frage:

Ich arbeite mit meiner Büchse in verschiedenen Orten und somit Netzen.
In manchen Netzwerken gibt es DHCP - in anderen Netzwerken nutze ich
fixe d.h. statische Adressen, manchmal WLAN manchmal Kupfer.

Das habe ich auch alles so weit im Griff - und in der /etc/rc.conf alles sauber geregelt.

Problem ist nur, dass ich in manchen Netzen für die Namensauflösung einen bestimmten
DNS Server in die /etc/resolv.conf eingetragen bekomme - und anderen Netzen ich wiederum
8.8.8.8 oder so nutzen muss.

D.h. dass ich oft nach dem Booten erstmal die /etc/resolv.conf editieren muss, falls vom vorherigen
Einsatz da halt nicht die 8.8.8.8 drin steht ...

Nun zu meinen Fragen:
1.Kan man verhindern, dass die resolv.conf vom DHCP geändert wird?
ich meine, wenn da die Adr. des Google DNS drin steht - würde mir das ja reichen,
denn der geht ja immer.

2. wenn ich die resolv.conf geändert habe - mache ich immer einen reboot - weil
"netif restart" den DNS Eintrag nicht neu einliest. Das geht doch bestimmt auch eleganter?

Grüße
 
Probier mal die Datei "/etc/dhclient-enter-hooks" mit folgendem Inhalt zu erstellen:

Code:
add_new_resolv_conf() {
return 0
}

Ansonsten kannst du auch einfach das Überschreiben der Datei an sich verhindern mit:

Code:
chflags schg /etc/resolv.conf

Solange du dann weißt, dass sich nie etwas an der Datei automatisch ändern wird, solltest du mit der letzten Methode am sichersten fahren... Hier mehr zu chflag: http://www.chruetertee.ch/blog/arch...ter-free-und-openbsd-mit-flags-schuetzen.html
 
Meine Methode ist in der dhclient.conf eine Regel zu basteln:

Code:
interface "lagg0" {
	append domain-name-servers 8.8.8.8;
}
 
Oh - das ging ja schnell;-)

Danke Euch ...
die resolv.conf mit File-Flags zu schützen ist ja schon mal ne gute Idee vom "Zuglufttier"
die das Problem löst.

Aber ich werde auch Kamikaze's Tipp mit den dhcp-client-Regeln ausprobieren,
denn damit könnte ich gezielt den DNS setzen - und in manchen Netzen dann eben
nicht die 8.8.8.8 nutzen und somit dann auch von der "internen" Namensauflösung profitieren,
die mir beim google-dns natürlich fehlt.

Grüße
walter
 
Es müsste auch mit dem Eintrag
Code:
resolvconf="NO"
in der /etc/resolvconf.conf (ja wirklich) gehen. Aber das ist ungetestet.
 
Ich hatte ein vergleichbares Anliegen und bin nach einigem Suchen bei man 8 resolvconf bzw man 5 resolvconf.conf gelandet. In der resolvconf.conf kannst Du die Parameter eintragen, die Du auf jeden Fall drinhaben möchtest. Gleichzeitig hast Du dann aber die Fallbacks, falls Deine präferierte Umgebung aussteigt. Hier ein Auszug aus man 5 resolvconf.conf:

Code:
     name_servers
             Prepend name servers to the dynamically generated list.  You
             should set this to 127.0.0.1 if you use a local name server other
             than libc.

     name_servers_append
             Append name servers to the dynamically generated list.

Trägst Du also in Deine /etc/resolvconf.conf ein

Code:
name_servers 2a01:4f8:0:a0a1::add:1010 2a01:4f8:0:a111::add:9898
name_servers_append 2001:4860:4860::8888 2001:4860:4860::8844

könnte deine /etc/resolv.conf folgendermassen aussehen:

Code:
searchdomain example.com
nameserver 2a01:4f8:0:a0a1::add:1010
nameserver 2a01:4f8:0:a111::add:9898
nameserver 2001:db8:47::11
nameserver 2001:db8:08::15
nameserver 2001:4860:4860::8888 
nameserver 2001:4860:4860::8844

und Du hättest Deine präferierten DNS Server bei Hetzner (in 2a01:4f8:0::/48), dann als erstes Fallback die DNS Server bei Deinem Provider (in 2001:db8::/32) und als 2. Fallback die google DNS Server (in 2001:4860:4860::/48).

Würd ich so weiterempfehlen.

wo0x"
 
Zurück
Oben