Frage

Ich verwende einen Ubuntu 8.04 (x86_64)-Computer, um eine Verbindung zum Cisco VPN meines Arbeitgebers herzustellen.(Der Client wurde nicht sofort kompiliert, aber ich habe es gefunden Patches, um den Client so zu aktualisieren, dass er auf Kerneln kompiliert werden kann, die in den letzten zwei Jahren veröffentlicht wurden.) Das funktioniert alles großartig, bis mein DHCP-Client beschließt, seinen Lease zu erneuern und /etc/resolv.conf zu aktualisieren und die VPN-spezifischen Nameserver durch meine allgemeinen Netzwerkserver zu ersetzen.

Gibt es eine gute Möglichkeit, zu verhindern, dass mein DHCP-Client /etc/resolv.conf aktualisiert, während mein VPN aktiv ist?

War es hilfreich?

Lösung

Wenn Sie die Ubuntu-Standardeinstellung mit NetworkManager verwenden, versuchen Sie, den CiscoVPN-Client zu entfernen und verwenden Sie das NetworkManager-VPNC-Plugin, um eine Verbindung zum Cisco VPN herzustellen.Dies sollte alle Probleme vermeiden, da NetworkManager dann über Ihre VPN-Verbindung Bescheid weiß.

Andere Tipps

Wenn Sie ohne NetworkManager arbeiten, der die Verbindungen verwaltet, verwenden Sie das Paket resolvconf als Vermittler für Programme, die /etc/resolv.conf optimieren: sudo apt-get install resolvconf

Wenn Sie NetworkManager verwenden, wird dies für Sie erledigt. Entfernen Sie daher das resolvconf-Paket: sudo apt-get remove resolvconf

Ich habe davon erfahren, als ich letzte Woche VPN unter Ubuntu eingerichtet habe.Eine Suche nach vpn resolv.conf auf ubuntuforums.org hat 250 Ergebnisse, von denen viele sehr verwandt sind!

Ich würde raten, dem Rat von @Sean zu folgen, aber wenn das aus irgendeinem Grund fehlschlägt, sollte es möglich sein, dhclient so zu konfigurieren, dass in /etc/dhcp3/dhclient.conf keine DNS-Server angefordert werden

chattr +i /etc/resolv.conf sollte funktionieren.(-i zum Rückgängigmachen)

Aber das Bessere ist, Ihre dhclient.conf zu konfigurieren:https://calomel.org/dhclient.htmlSchauen Sie sich die übergeordneten Domain-Name-Server und den Domain-Namen an.

Schauen Sie sich auch "send hostname" an; Wenn es an Ihrem Arbeitsplatz funktioniert, haben Sie einen coolen Hostnamen für Ihren PC und nicht irgendeinen seltsamen Namen, den DHCP-Server vergeben.

VPN scheint für den Cisco-Konzentrator meines Arbeitgebers das Richtige zu tun.Ich schalte den VPN ein und aus und er scheint alles reibungslos zu aktualisieren.

Mit einem Befehlszeilenschalter kann der DHCPclient-Daemon angewiesen werden, resolv.conf nicht zu aktualisieren.(-r glaube ich, abhängig vom Kunden)

Das ist weniger dynamisch, da Sie DHCP neu starten/neu konfigurieren müssten, wenn Sie eine Verbindung herstellen, aber nicht zu aufwändig.Ebenso könnten Sie den Dienst einfach beenden, aber in der Zwischenzeit verlieren Sie möglicherweise Ihre IP, daher würde ich das nicht wirklich empfehlen.

Alternativ können Sie den dhcpclient in einem Cron-Job ausführen und die entsprechenden Prozessprüfungen hinzufügen.

Dieses Problem tritt in Netzwerken mit niedrigen DHCP-Lease-Zeiten viel stärker auf.Im DHCP3-Paket-Launchpad von Ubuntu ist ein Fehler aufgetreten:

https://bugs.launchpad.net/ubuntu/+source/dhcp3/+bug/90681

Was diesen Patch in der Beschreibung enthält:

--- /sbin/dhclient-script.orig 2007-03-08 19:19:56.000000000 +0000
+++ /sbin/dhclient-script 2007-03-08 19:19:46.000000000 +0000
@@ -13,6 +13,10 @@
 # The alias handling in here probably still sucks. -mdz

 make_resolv_conf() {
+ # don't overwrite resolv.conf at RENEW time, since a VPN/PPTP tunnel may
+ # have updated it with remote DNS servers
+ [ "$reason" = "RENEW" ] && return
+
     if [ -n "$new_domain_name" -o -n "$new_domain_name_servers" ]; then
         # Find out whether we are going to mount / rw
         exec 9>&0 </etc/fstab

Diese Änderung an /sbin/dhcp-script verhindert, dass der DHCP-Client überschreibt /etc/resolv.conf wenn es seinen Mietvertrag verlängert.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top