Tengo una configuración un tanto extraña para un servidor VPN con OS X Mountain Lion. Básicamente, se utiliza como un puente para evitar el firewall de mi empresa hacia nuestra conexión de extranet; ciertas cosas que nuestro equipo necesita hacer requieren acceso ilimitado al exterior, y cambiar las políticas de TI para permitir el tráfico a través del firewall principal simplemente no es una opción.
La conexión a la extranet se proporciona a través de un enrutador Wireless-N (llamémoslo Wi-Fi X). Mi servidor Mac Mini está configurado con la conexión a este enrutador como conexión principal, por lo tanto, acceso ilimitado a Internet a través del enrutador. Las conexiones a este dispositivo en la subred inmediata son posibles a través del puerto LAN, pero fuera de la subred las cosas son menos confiables.
Pude configurar el servidor VPN para proporcionar direcciones IP a clientes en el rango 192.168.11.150-192.168.11.200 usando PPTP y L2TP, y puedo conectarme a la extranet a través de la VPN usando la VPN estándar de Mac OS X. client en Preferencias del Sistema, sin embargo, como era de esperar, una dirección local (llamémosla internal.company.com) no devuelve nada.
Intenté evitar la limitación del servidor VPN configurando Rutas en la configuración de VPN. Nuestra empresa utiliza 13.xxx para todo el tráfico interno, en lugar de 10.xxx, por lo que la tabla de enrutamiento se veía así:
IP Address ---------- Subnet Mask ---------- Configuration
0.0.0.0 248.0.0.0 Private
8.0.0.0 252.0.0.0 Private
12.0.0.0 255.0.0.0 Private
13.0.0.0 255.0.0.0 Public
14.0.0.0 254.0.0.0 Private
16.0.0.0 240.0.0.0 Private
32.0.0.0 224.0.0.0 Private
64.0.0.0 192.0.0.0 Private
128.0.0.0 128.0.0.0 Private
Tenía la impresión de que si no se ingresaba nada aquí, todo el tráfico se enrutaba a través de la VPN. Con algo ingresado, solo el tráfico específicamente marcado para pasar a través de la VPN pasaría por la VPN, y el resto del tráfico dependería del acceso del cliente utilizando su propia conexión predeterminada. Es por eso que tuve que marcar específicamente cada subred excepto 13.xxx como Privada.
Mi sospecha es que, dado que no puedo acceder al servidor VPN desde fuera de la subred local, no está estableciendo una conexión con el servidor DNS principal y, por lo tanto, no se puede acceder a él en la red más grande. Estoy pensando que ingresar nombres de host como internal.company.com no se devuelve al cliente para que los resuelva, porque el servidor no tiene idea de que la dirección IP se encuentra en el rango público, ya que sospecho (probablemente debería hacer una prueba de ping, pero no tengo acceso a él en este momento) que no puede comunicarse con el servidor DNS para averiguar nada sobre ese nombre de host.
Me parece que todas mis opciones para resolver esto se reducen al mismo tipo de solución:
Descubra cómo llegar al DNS con la conexión secundaria en el servidor. Estoy pensando que si puedo hacer [algo] para que mi servidor reconozca, también debería verificar mi puerta de enlace local (digamos IP del servidor == 13.100.100.50 y IP de la puerta de enlace == 13.100.100.1). Desde allí, Gateway IP puede decirme que busque el servidor DNS en 13.1.1.1 y me brinde información sobre mi red interna. Estoy muy confundido acerca de este camino; realmente no estoy seguro de si tiene sentido.
Pensé en intentar hacer este lado del cliente, pero eso tampoco tiene sentido, ya que agregaría tiempo a todas y cada una de las configuraciones del lado del cliente. Además, parece más lógico resolverlo en el servidor: podría deshacerme de mi tabla de enrutamiento por completo o conservarla. Creo que la única diferencia sería que el tráfico interno también pasaría por el servidor, probablemente una carga innecesaria para él.
¿Alguna ayuda por ahí? ¿O estoy perdido? El proxy directo o el proxy transparente también son una opción para mí, aunque no tengo idea de cómo configurar ninguno de ellos. (Lo sé, Google es mi amigo).
Respuesta1
Bueno, le doy una oportunidad:
No estoy seguro de cómo hacer que pase solo algo de tráfico. Puedo resolver su problema, pero sería necesario cambiar un poco su configuración. Supongo que tu Mac tiene dos interfaces de red, llamémoslas eth0 y eth1 :-)
Asumiremos que eth0 está conectado a su red de trabajo y tiene una dirección interna (red de trabajo) de 13.1.1.6, subred 255.0.0.0.
También asumiremos que eth1 está conectado a su WiFi X y tiene una dirección (eth1 <---> red WiFi X) de 192.168.1.10, subred 255.0.0.0, para simplificar las cosas.
He configurado servidores VPN en BSD y Linux, pero no en Mac, sin embargo, el concepto seguirá siendo el mismo, tienes opciones, enumeraré una:
1)Asegúrese de que la tabla de enrutamiento en Mac tenga la siguiente entrada:
$>sudo route add 13.0.0.0/8 eth0
Lo que esto hará es asegurarse de que cualquier tráfico que ingrese a través de la interfaz WiFi X o VPN destinado a la red de su empresa (la red 13) llegue allí. Sin esto, la Mac (que proporciona el puente) realmente no tiene forma de saber cómo enrutar el tráfico entre las dos interfaces y, de forma predeterminada, intentará enviarlo desde cualquier interfaz predeterminada, que es WiFi X que usted indicó.
Desharía lo que hiciste con la tabla de enrutamiento VPN anterior e intentaría esto si (con suerte) aún no está allí.
Si lo anterior no funciona, actualice con la tabla de enrutamiento y la lista de direcciones IP de su servidor VPN, o actualice con cualquier solución que encuentre. Espero que esto te oriente en la dirección correcta.