Question

J'utilise une machine Ubuntu 8.04 (x86_64) pour me connecter au VPN Cisco de mon employeur.(Le client n'a pas compilé directement, mais j'ai trouvé des correctifs pour mettre à jour le client afin de compiler sur les noyaux publiés au cours des deux dernières années.) Tout cela fonctionne très bien, jusqu'à ce que mon client DHCP décide de renouveler son bail et mette à jour /etc/resolv.conf, remplaçant les serveurs de noms spécifiques au VPN par mes serveurs réseau généraux.

Existe-t-il un bon moyen d'empêcher mon client DHCP de mettre à jour /etc/resolv.conf pendant que mon VPN est actif ?

Était-ce utile?

La solution

Si vous utilisez Ubuntu par défaut avec NetworkManager, essayez de supprimer le client CiscoVPN et utilisez le plugin NetworkManager vpnc pour vous connecter au VPN Cisco.Cela devrait éviter tous les problèmes, puisque NetworkManager connaît alors votre connexion VPN.

Autres conseils

Si vous utilisez NetworkManager sans gérer les connexions, utilisez le package resolvconf pour servir d'intermédiaire aux programmes peaufinant /etc/resolv.conf : sudo apt-get install resolvconf

Si vous utilisez NetworkManager, il s'en chargera pour vous, alors débarrassez-vous du package resolvconf : sudo apt-get remove resolvconf

J'ai découvert cela lors de la configuration de VPN sur Ubuntu la semaine dernière.Une recherche de vpn resolv.conf sur ubuntuforums.org a 250 résultats, dont beaucoup sont très liés !

Je conseillerais de suivre les conseils de @Sean, mais si cela échoue pour une raison quelconque, il devrait être possible de configurer dhclient pour ne pas demander de serveurs DNS dans /etc/dhcp3/dhclient.conf

chattr +i /etc/resolv.conf devrait fonctionner.( -i pour annuler)

Mais le mieux est de configurer votre dhclient.conf :https://calomel.org/dhclient.htmlRegardez les serveurs de noms de domaine et les noms de domaine qui remplacent.

Regardez également «Envoyer un nom d'hôte»; Si cela fonctionne sur votre lieu de travail, vous aurez un nom d'hôte sympa pour votre PC et non un nom étrange que les serveurs DHCP attribuent.

VPNC semble faire la bonne chose pour le concentrateur Cisco de mon employeur.Je saute sur et hors du VPN, et il semble que tout se mette à jour en douceur.

Le démon DHCPclient peut être invité à ne pas mettre à jour resolv.conf avec un commutateur de ligne de commande.(-r je pense, selon le client)

C'est moins dynamique, car vous devrez redémarrer/reconfigurer DHCP lorsque vous vous connectez, mais pas trop dur.De même, vous pouvez simplement arrêter le service, mais vous risquez de perdre votre adresse IP entre-temps, donc je ne le recommanderais pas vraiment.

Vous pouvez également exécuter le client dhcpclient à partir d'une tâche cron, en ajoutant les vérifications de processus appropriées.

Ce problème est beaucoup plus visible sur les réseaux avec des durées de bail DHCP faibles.Il y a un bug enregistré dans le tableau de bord du paquet dhcp3 d'Ubuntu :

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

Ce qui inclut ce patch dans la description :

--- /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

Ce changement à /sbin/dhcp-script empêche le client DHCP d'écraser /etc/resolv.conf lorsqu'il renouvellera son bail.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top