Pregunta

Estoy usando una máquina Ubuntu 8.04 (x86_64) para conectarme a la VPN de Cisco de mi empleador.(El cliente no compiló de fábrica, pero encontré parches para actualizar el cliente para compilar en kernels lanzados en los últimos dos años.) Todo esto funciona muy bien, hasta que mi cliente DHCP decide renovar su contrato de arrendamiento y actualiza /etc/resolv.conf, reemplazando los servidores de nombres específicos de VPN con mis servidores de red generales.

¿Existe una buena manera de evitar que mi cliente DHCP actualice /etc/resolv.conf mientras mi VPN está activa?

¿Fue útil?

Solución

Si está utilizando el valor predeterminado de Ubuntu con NetworkManager, intente eliminar el cliente CiscoVPN y use el complemento vpnc de NetworkManager para conectarse a Cisco VPN.Esto debería evitar todos los problemas, ya que NetworkManager conoce su conexión VPN.

Otros consejos

Si está ejecutando sin que NetworkManager maneje las conexiones, use el paquete resolvconf para actuar como intermediario para los programas que modifican /etc/resolv.conf: sudo apt-get install resolvconf

Si está utilizando NetworkManager, éste se encargará de esto por usted, así que deshágase del paquete resolvconf: sudo apt-get remove resolvconf

Me enteré de esto cuando configuré vpnc en Ubuntu la semana pasada.una búsqueda de vpn resolv.conf en ubuntuforums.org tiene 250 resultados, ¡muchos de los cuales están muy relacionados!

Recomendaría seguir el consejo de @Sean, pero si eso falla por cualquier motivo, debería ser posible configurar dhclient para que no solicite servidores DNS en /etc/dhcp3/dhclient.conf

chattr +i /etc/resolv.conf debería funcionar.(-i para deshacer)

Pero lo mejor es configurar tu dhclient.conf:https://calomel.org/dhclient.htmlMire los servidores de nombres de dominio reemplazantes y el nombre de dominio.

También mira "Enviar nombre de host"; Si funciona en su lugar de trabajo, tendrá un nombre de host genial para su PC y no un nombre extraño que asignen los servidores DHCP.

vpnc parece estar haciendo lo correcto para el concentrador Cisco de mi empleador.Entro y salgo de la VPN y parece actualizar todo sin problemas.

Se puede indicar al demonio DHCPclient que no actualice resolv.conf con un cambio de línea de comando.(-r creo, dependiendo del cliente)

Eso es menos dinámico, porque tendrías que reiniciar/reconfigurar DHCP cuando te conectes, pero no demasiado.De manera similar, podrías simplemente detener el servicio, pero podrías perder tu IP mientras tanto, por lo que realmente no lo recomendaría.

Alternativamente, puede ejecutar dhcpclient desde un trabajo cron, agregando las comprobaciones de proceso apropiadas.

Este problema es mucho más notorio en redes con una duración de arrendamiento de DHCP baja.Hay un error archivado en la plataforma de lanzamiento del paquete dhcp3 de Ubuntu:

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

Que incluye este parche en la descripción:

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

Este cambio a /sbin/dhcp-script evita que el cliente DHCP sobrescriba /etc/resolv.conf cuando renueva su contrato de arrendamiento.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top