0 votos

¿Cómo acceder simultáneamente a dispositivos IPv4 en 2 redes 10/24 diferentes cuando se utilizan 2 conexiones VPN activas?

Después de que una empresa se venda a diferentes partes, puede terminar con una situación en la que la antigua red 10.0.0/8 se divide en dos o más redes diferentes, como 10.0.0/24 y 10.0.1.0/24.

Ahora deseo acceder a ambas redes al mismo tiempo utilizando Mavericks cliente VPN incorporado. Una red VPN está en L2TP, la otra en PPTP.

Sin embargo, sólo se puede acceder a los dispositivos de la primera conexión VPN establecida, y no a los ordenadores de la segunda red. La única excepción es la IP remota (puerta de enlace) de la conexión VPN nº 2.

¿Cómo puedo arreglar esto? fijar y olvidar ?

Nota: Con fijar y olvidar Quiero decir que no quiero tener pasos adicionales al "marcar" un perfil de conexión VPN ya existente.

0voto

Pro Backup Puntos 2314

Cuestiones de enrutamiento

El problema aquí es que ambos perfiles de conexión VPN están en una red 10, que oficialmente viene con un /8 también conocido como 255.0.0.0 también conocido como 0xff000000 máscara de red. Por lo tanto, al establecer ambas conexiones VPN a la vez, se termina con un solo destino en la tabla de enrutamiento para la 10-redes . Y esa entrada de enrutamiento dirigirá todas las 10.x.x.x el tráfico a la primera conexión ppp establecida, excepto las direcciones IP local y remota en la segunda conexión ppp.

$ netstat -nr -f inet
Routing tables

Internet:
Destination        Gateway            Flags        Refs      Use   Netif Expire
default            192.168.0.1        UGSc           10        0     en0
default            10.0.1.1           UGScI           0        0    ppp0
default            10.0.0.1           UGScI           0        0    ppp1
10                 ppp0               USc             1        0    ppp0
10.0.0.1           10.0.0.12          UHr             2        0    ppp1
10.0.1.1           10.0.1.200         UHr             1        0    ppp0

Solución de enrutamiento

La solución es ampliar manualmente la tabla de enrutamiento con las entradas deseadas. No es necesario eliminar la entrada 10, sólo añadir nuevas entradas de ruta. Mientras las nuevas entradas de ruta añadidas se dirijan a una subred más pequeña, la entrada tendrá preferencia. Léase esto como: cuando la subred tiene un mayor /X número. Por ejemplo /24 es mayor que /8 por lo que un 10/24 tendrá preferencia sobre una entrada 10/8 entrada de enrutamiento. Básicamente añadir una nueva entrada de enrutamiento después de haber establecido la segunda conexión VPN, como: $ sudo /sbin/route -n add -net 10.0.2.0/24 -interface ppp1

Solución de automatización

Es engorroso y puede introducir errores al tener que introducir la ruta manualmente después de haber establecido la conexión VPN secundaria. Por suerte, hay una solución integrada en el demonio ppp que utiliza if-up como se puede leer en $ man pppd . Cada vez que se establece una conexión ppp (VPN) que utiliza el direccionamiento IPv4, un script ( /etc/ppp/if-up ) se llama donde puede ejecutar sus reglas/comandos personalizados, es decir, ganchos.

El script de abajo está ampliamente comentado y debería ser autoexplicativo.

Es posible que su Mac no tenga este script ( $ ls /etc/ppp ). En ese caso créalo ( $ sudo touch /etc/ppp/ip-up ) con e x ualidad de los permisos ( $ sudo chmod +x /etc/ppp/ip-up ).

#!/bin/sh
#
# This script is run by the pppd after the link is established.
# It should be used to add routes, set IP address, etc.
#
# Tested with Mavericks (Mac OS X 10.9)
#
# This script is called with the following arguments:
# Arg   Name            Example
# $0    Script full location    /etc/ppp/ip-up
# $1    Interface name      ppp0
# $2    TTY device      <blank>
# $3    Speed           0
# $4    Local IP address    10.0.0.200
# $5    Remote IP address   10.0.0.1
# $6    LAN gateway     192.168.0.1
# source for $1-$6 is $ man -P 'less -p "    /etc/ppp/ip-up"' pppd

# ppp.log for non english systems do still have an english timestamp
export LC_TIME="C";

# Note: there is no static assignment for ppp0 to PPTP and ppp1 to L2TP
#       therefore $1 isn't useful to differentiate VPN networks

# To debug, uncomment the line below
#echo "$(date +%c) : \$5=$5" >> /var/log/ppp.log

# Add your routing table corrections here
# note: 2>&1 will redirect errors to the standard output
case "$5" in
10.0.0.1) OUT=$(exec /sbin/route -n add -net 10.0.0.0/24 -interface "$1" 2>&1) ;;
10.0.1.1) OUT=$(exec /sbin/route -n add -net 10.0.1.0/24 -interface "$1" 2>&1) ;;
esac

# If standard output is not empty, log it prepended by a timestamp
[ ! -z "$OUT" ] && echo "$(date +%c) : $OUT" >>/var/log/ppp.log

# There is automatic route removal on ppp disconnect.
# So no need to manually remove the above route(s) in /etc/ppp/ip-down

Gracias a la idea de jalbrecht2000 en http://hints.macworld.com/article.php?story=20030906232648318

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X