Problema con Windows 7 64bits y OpenVPN
-
Estimados,
Quiero compartir con ustedes un problema que detecté, para lo cual hemos investigado junto a un amigo por más de 48 horas netas y no he encontrado solución hasta el momento.
¿Donde se observó el problema?
- Windows 7 Home Premium 64 bits (1PC)
- Windows 7 Ultimate 64 bits (1PC).
¿Donde NO se observó el problema?
- Windows 7 Ultimate 32 Bits.
- Windows 7 Professional 32 Bits.
- Windows XP 32 bits (todas las versiones).
- Windows XP 64 bits (todas las versiones).
Mi Experiencia
En mi organización utilizamos OpenVPN para interconectar servidores remotos con las oficinas centrales, para esto usamos PfSense + OpenVPN con el cual controlamos y monitoreamos servidores GNU/Linux en todo Argentina. Además de los 24 servidores GNU/Linux, hay al menos 20 usuarios que trabajan contra esos servidores pero con el cliente OpenVPN instalado sobre Windows XP. Estos servidores corren aplicaciones Web que son consultadas a través de navegadores (naturalmente), pero además, muchos usuarios consultan bases de datos en PostgreSQL a través de PGAdmin (puerto 5432) y la administración de los servidores se hace a través de SSH (puerto 22).El funcionamiento es excelente.
El problema en cuestión
Hace un par de días tuve la necesidad de instalar un cliente OpenVPN en la PC de un usuario con Windows 7 Home Premium de 64 bits. Hice la instalación típica de la versión “openvpn-install-2.3.1-I005-x86_64”- Se le asigna al OpenVPN GUI permisos de administrador
- Se le asigna al OpenVPN GUI compatibilidad con Vista SP 2
- Se conecta la OpenVPN normalmente
- Se hacen conexiones vía SSH a un servidor Linux vía SSH normalmente
- Se hacen consultas vía PgAdmin a un servidor Linux normalmente
- Se hacen consultas a los aplicaciones Web (puerto 80 y 8080) y la aplicación web no responde. La pagina no carga.
- Desconectó la VPN.
- Se revisan todas las configuraciones de servidor y cliente OpenVPN. Todo normal.
- Se conecta la OpenVPN nuevamente de forma normal.
- Hago un “ping -t x.x.x.x” a la IP del servidor que estoy consultando y responde OK.
- Se vuelven a hacer consultas vía PgAdmin a un servidor Linux normalmente.
- Se vuelven conexiones via SSH a un servidor Linux vía SSH normalmente.
- Se vuelven a hacer consultas a los aplicaciones Web (puerto 80 y 8080) y la aplicación web no responde. Las paginas de la aplicación no cargan.
- Observo el “ping -t” y no responde. No hay conexión.
- Vuelvo a desconectar la VPN.
- Conecto la VPN y todo vuelve “a la normalidad” pero jamás se pueden hacer consultas del tipo http://x.x.x.x o http://x.x.x.x:8080 ya que la conexión se cae.
Sobre el log de OpenVPN y del Sistema Operativo.
Por otro lado el log de OpenVPN no ofrece ningún tipo de ayuda. He colocado diferentes combinaciones de parámetro “verb” para observar si el log podía darme alguna pista pero no la hay. Para OpenVPN es como si la conexión simplemente se hubiera cortado, luego de un lapso, al detectar que no hay conexión se hace un reset de la conexión y vuelve a conectarse normalmente, pero, como dije antes, apenas intento hacer una petición http se vuelve a caer el túnel.Los logs del sistema tampoco ofrecen nada relevante para ver. Nada fuera del funcionamiento normal de Windows.
Las pruebas realizadas.
- Se observó que los ruteos se generen y se observen en el “route print”.
- Se generaron rutas estáticas para observar el comportamiento sin resultados positivos.
- Se comprobó que no hubiere alguna interface escondida y que pudiera estar ocasionando que el ruteo se desvíe a otra interfase.
- Se cambió la métrica de la interfaz virtual con diferentes configuraciones sin éxito.
- Se hicieron pruebas con el driver TAP, es decir, sin desinstalar el cliente OpenVPN, se desinstaló el TAP y se probaron otras versiones sin resultados positivos.
- Se probaron diferentes valores de MTU para la interface TAP.
- El firewall siempre estuvo desactivado y no hay antivirus ni ningún software 3rd part que interfiera.
- Se desactivo el UAC sin resultados positivos ( https://en.wikipedia.org/wiki/User_Account_Control )
- Se observa que al momento de hacer peticiones http, el tunel se cae, pero el ruteo no se pierde.
Clientes probados
- openvpn-install-2.3.1-I005-i686
- openvpn-install-2.3.1-I005-x86_64
- openvpn-2.2.2-install
Configuración del servidor ( /var/etc/openvpn dentro de PfSense)
dev ovpns1 dev-type tun dev-node /dev/tun1 writepid /var/run/openvpn_server1.pid #user nobody #group nobody script-security 3 daemon keepalive 10 60 ping-timer-rem persist-tun persist-key proto tcp-server cipher BF-CBC up /usr/local/sbin/ovpn-linkup down /usr/local/sbin/ovpn-linkdown local x.x.x.x tls-server server 192.168.15.0 255.255.255.0 client-config-dir /var/etc/openvpn-csc tls-verify /var/etc/openvpn/server1.tls-verify.php lport 443 management /var/etc/openvpn/server1.sock unix max-clients 120 client-to-client ca /var/etc/openvpn/server1.ca cert /var/etc/openvpn/server1.cert key /var/etc/openvpn/server1.key dh /etc/dh-parameters.1024 tls-auth /var/etc/openvpn/server1.tls-auth 0 comp-lzo client-config-dir /usr/local/www/ccd
Configuración de los clientes.
dev tun persist-tun persist-key proto tcp-client cipher BF-CBC tls-client client resolv-retry infinite remote x.x.x.x 443 tls-remote OpenVPN pkcs12 pfsense-TCP-443.p12 tls-auth pfsense-TCP-443-tls.key 1 comp-lzo nobind
Tabla de Ruteos (route print)
=========================================================================== ILista de interfaces 18...00 ff 28 1c c5 11 ......TAP-Windows Adapter V9 #2 14...00 1a 73 84 6d 8f ......Adaptador de red 802.11g Broadcom 1...........................Software Loopback Interface 1 16...00 00 00 00 00 00 00 e0 Adaptador de tunelización Teredo de Microsoft 31...00 00 00 00 00 00 00 e0 Adaptador ISATAP de Microsoft #4 33...00 00 00 00 00 00 00 e0 Adaptador ISATAP de Microsoft #6 =========================================================================== IPv4 Tabla de enrutamiento =========================================================================== Rutas activas: Destino de red Máscara de red Puerta de enlace Interfaz Métrica 0.0.0.0 0.0.0.0 192.168.0.1 192.168.0.11 25 127.0.0.0 255.0.0.0 En vínculo 127.0.0.1 306 127.0.0.1 255.255.255.255 En vínculo 127.0.0.1 306 127.255.255.255 255.255.255.255 En vínculo 127.0.0.1 306 192.168.0.0 255.255.255.0 En vínculo 192.168.0.11 281 192.168.0.11 255.255.255.255 En vínculo 192.168.0.11 281 192.168.0.255 255.255.255.255 En vínculo 192.168.0.11 281 192.168.15.0 255.255.255.0 x.x.x.x 192.168.15.141 31 192.168.15.140 255.255.255.252 En vínculo 192.168.15.141 286 192.168.15.141 255.255.255.255 En vínculo 192.168.15.141 286 192.168.15.143 255.255.255.255 En vínculo 192.168.15.141 286 224.0.0.0 240.0.0.0 En vínculo 127.0.0.1 306 224.0.0.0 240.0.0.0 En vínculo 192.168.15.141 286 224.0.0.0 240.0.0.0 En vínculo 192.168.0.11 281 255.255.255.255 255.255.255.255 En vínculo 127.0.0.1 306 255.255.255.255 255.255.255.255 En vínculo 192.168.15.141 286 255.255.255.255 255.255.255.255 En vínculo 192.168.0.11 281 =========================================================================== Rutas persistentes: Ninguno IPv6 Tabla de enrutamiento =========================================================================== Rutas activas: Cuando destino de red métrica Puerta de enlace 16 58 ::/0 En vínculo 1 306 ::1/128 En vínculo 16 58 2001::/32 En vínculo 16 306 2001:0:9d38:6ab8:3c43:2ed8:3f57:fff4/128 En vínculo 18 286 fe80::/64 En vínculo 14 281 fe80::/64 En vínculo 16 306 fe80::/64 En vínculo 16 306 fe80::3c43:2ed8:3f57:fff4/128 En vínculo 18 286 fe80::c0e1:d176:97a1:a944/128 En vínculo 14 281 fe80::f541:2c90:68d2:dae7/128 En vínculo 1 306 ff00::/8 En vínculo 18 286 ff00::/8 En vínculo 14 281 ff00::/8 En vínculo 16 306 ff00::/8 En vínculo =========================================================================== Rutas persistentes: Ninguno
Desde ya estoy muy agradecido por su comentarios y todo lo que puedan sugerir y aportar.
Saludos! -
No ando muy bien de tiempo pero te sugiero (si no lo hiciste):
Google openvpn win7 64bit client
Google openvpn win7 64bit client pfsense -
Hola. Quizás debería haber puesto las busquedas que hice, fueron decenas, cientos de cadenas de formas de búsqiedas. En Francés, Inglés, Español, Portuqués y no encontré respuesta.
Gracias!
-
Tuve el mismo problema, lo resolvi ajustando los parametros del ejecutable de cliente como muestra este video (http://www.youtube.com/watch?v=MypKVSG09uo). Suerte y gracias por ser tan metodico, aprendi mucho viendo tu exposición del problema
-
Hola. Muchas gracias por tu comentario. Es halagador.
Vi el video y todo lo que hace es parte de lo que describo entre las cosas que hice.Debo agregar, para el resto de los interesados en mi post, que seguí haciendo experimentos y que cuando pasé toda la red a UDP los tiempos de lag se redujeron notablemente y la red se volvió mucho más estable. Sin mebargo, considero esto inaceptable ya que la MISMA configuración de VPN pero con clientes en GNU/Linux la transmisión de datos es muy muy buena.
No sé a q