Problemas con una DNS "adicional" y Ubuntu

erdanblo

Buenas,

En primer lugar estaba dudando entre etiquetarlo en redes o Linux, pero aun asi (a falta de probar), creo que es problema de Ubuntu.

Tengo un servidor OpenVPN configurado como bridge. En la configuración del servidor tengo indicado - push dhcp-option "DNS 192.168.10.1" que es la dirección donde esta corriendo dnsmasq con tres entradas para unos servidores que hay en mi red. El DHCP que uso es el que proporciona OpenVPN y no otro (como pudiese ser dnsmasq).

El caso es el siguiente, desde Windows XP, Windows 7, etc..., me conecto a la VPN me da una dirección IP y me resuelve los dominios. Si hago un ipconfig /all debajo del adaptador virtual tap me aparece la DNS, y si hago un nslookup servidor.intranet.domain.com me responde correctamente.

Sin embargo con Ubuntu no hay manera, y haciendo un cat /etc/resolv.conf lo único que aparece es un "Generated by NetworkManager" y debajo un "nameserver DNS_DE_MI_ISP"

Creo que es un problema de Ubuntu y NetworkManager, pero consulto, por si estoy haciendo algo mal.

Get

yo cuando conecto por vpn a mi server vpn, el me da solo al ip y la tabla de rutas nuevas. no me da dns, ya q no lo tengo configurado como tal.

erdanblo

Mi VPN esta configurada como bridge, no como router.

ElRuso

Y si poner la DNS a mano te funciona?

erdanblo

Si pongo la DNS a mano:

  1. Si la DNS "que apunta al dnsmasq" es la primera, solo me resuelve las entradas que tiene el dnsmasq (no me reenvia, porque asi he querido configurar dnsmasq, su trabajo no es ser el dns principal).

  2. Si la pongo debajo de la actual dns (la del mi proveedor), no me resuelve nada del dnsmasq.

Sin embargo, con windows funciona :S, me resuelve las entradas que tiene dnsmasq y también me resuelve el resto por las dns de mi proveedor.

Hasta ahora lo voy solucionando añadiendo las entradas en /etc/hosts pero que es se trata de no tener que andar modificando /etc/hosts por cada servidor nuevo :S que vaya agregando a la red.

ElRuso

Si das mas info sobre el VPN, por ejemplo que tipo de VPN es, que usas como el VPN sevrver. Que cliente usas para conectarse?

Asi a ojo creo que lo que quieres hacer en un split-tunnel con algun tipo de cliente. Si es asi, parece ser que Ubuntu no sabe como asignar diferentes DNS's a diferentes "netowrk interfaces". Yo con FC y Cisco IPSec VPN no tuve ningun problema por ejemplo :-/

Lo que puedes hacer es decir a tu "VPN Bridge DNS" a referirse a algun otro servidor DNS en caso de no encontrar la zona preguntada. Asi al tener solo "VPN DNS" podrias resolver todos los dominios. No se si me explico....

erdanblo

Pues todo lo que me preguntas, ya lo he dicho y esta puesto en el post inicial.

La distro que monta el servidor VPN es una CentOS 5.4 x86_64 con el paquete de openvpn 2.0.9 de los repositorios de rpmforge.

Los clientes que utilizo son OpenVPN en sus ultimas versiones, tanto Ubuntu (una Karmic, 9.10, 32 bits), como en Windows, 2.1.ALGO creo. En Windows uso el OpenVPN GUI mientras que en Ubuntu configuro a mano, ya que parece ser que Network Manager tiene un bug al trabajar con OpenVPN que arrastra desde hace varias versiones.

La versiones de windows: Windows 7 x64 Professional y Windows XP 32 Bits home.

Estamos de acuerdo que el problema es "Si es asi, parece ser que Ubuntu no sabe como asignar diferentes DNS's a diferentes "netowrk interfaces", aunque no esta probado del todo. Y que el motivo de eso puede ser el Network Manager (es lo que sospecho).

ElRuso

#7 Ahora lo veo todos mas claro ;) Por desgracia no tengo conocimientos de OpenVPN cliente o servidor.

Si piensas que puede ser Network Manager pq no lo desinstalas/desactivas y pruebas sin el?

Y veo que usar un servidor DNS para todo tampoco es la solucion... :-/

erdanblo

#8 Nop.

La infraestructura no esta todo lo ideal que uno quisiera, y se pueden conectar clientes desde distintos sitios. No me interesa que un cliente que se conecte desde su casa, tenga que usar la DNS de la empresa, porque si no esta conectado a la VPN, no va a poder resolver nombres (tiene que andar cambiando servidores) y lo de la DNS, es simplemente para no tener que estar editando el /etc/host, que en caso de no resolverlo, pues se edita el /etc/hosts y ya esta.

ElRuso

Pues eso alla tu.
Yo en algunos casos concretos pongo multiples DNS. Primeros los 2 de la impresa y tercero un exterior.
Mientras VPN esta conectado - el primer servidor DNS va a estar activo.
Si VPN esta desconectado tercer servidro DNS va a ser usado.

Lo unico que Windows (no se como actuaria linux) de vez en cuando al perder VPN y pillarlo otra vez sigue usando tercer servidor DNS. No pasa siempre, pero jode :-/

erdanblo

Bueno, no te voy a decir que no, pero tengo mis motivos para no hacer eso ahora mismo.

By the way..., he conseguido "solucionarlo". La conclusión a la que llego, es que el NetworkManager es una mierda xDDDD, pero lo he solucionado sin tener que prescindir de el.

/etc/resolv.conf

Originalmente es así:

Generated by NetworkManager

nameserver 192.168.1.1

Bueno, pues tras conectar con el VPN (solucioné el problema original poniendole una clave privada a los certificados)

Generated by NetworkManager

domain red.empresa.com
search red.empresa.com
nameserver 192.168.252.1
nameserver 192.168.1.1

Así que lo que he hecho, ha sido establecer la conexión VPN a pelo editando el /etc/openvpnsv.conf y y luego le he puesto el /etc/resolv.conf

El "PERO" de ahora, que seguramente el NetworkManager cuando le de la pinza me va a machacar el resolv.conf, voy a ver si a través del menú puedo hacer que me establezca esos parámetros.

¿Por qué no uso NetworkManager directamente?

Porque al tratarse de una bridge-vpn tengo que marcar "Usar dispositivo TAP", entonces cuando conecta a la VPN, me establece tap0 como interfaz por defecto para enrutar el tráfico y las DNS, con lo cual me quedo sin conexión.

Esto me ha hecho pensar, si realmente necesito un bridge-vpn o puedo pasarme a routing-vpn. La verdad es que no se que ventaja me da bridge-vpn actualmente. Los protocolos que voy a usar son TCP, y el dhcp que tiro actualmente, es el que me proporciona el propio OpenVPN, no mi propio servidor dhcp, ni nada por el estilo. Vamos, que en teoria todo lo que estoy manejando es Capa3 y superior.

Get

tanto follon con el networkmanagher y sus conexiones vpn, mirate el kvpnc ... no te marranea las conexiones exitentes.

erdanblo

Es lo que hay. En ordenadores personales es muy fácil decir y hacer eso, pero cuando te tienes que amoldar a la situación, ya no lo es tanto.

Get

amoldar?
estas haciendo un proyecto q no te pagan ni el valor de las implementaciones q estas haciendo en plan chapuza. Las cosas se montan de otra forma, se plantean de otra y se llevan a cabo con todo ya mas q reestudiado/planeado. y encima se cobra paston por ello.

--respuesta tipica de algun ingeniero tecnico de sistemas.

Usuarios habituales

  • Get
  • erdanblo
  • ElRuso

Tags