Una nueva entrada corta para Mac OSX, que en este caso resuelve un problema que inexplicablemente viene muy mal resuelto en la interfaz gráfica, y es el enrutado estático al configurar una VPN…
Lo normal con una VPN es que queramos enviar a través de ella el tráfico a ciertas IPs y no todo el tráfico, y esto es algo que no podemos hacer a través de la interfaz, por lo que deberemos añadir manualmente la ruta estática, o bien configurar nuestro sistema para que la añada al conectar la VPN y la elimine al cortar la conexión.
Para ello crearemos un fichero ip-up en la carpeta /etc/ppp:
sudo vi /etc/ppp/ip-up
e introduciremos el siguiente contenido, siendo XXX.XXX.XXX.XXX el rango de red que queremos enrutar (192.168.10.0, por ejemplo), YYY.YYY.YYY.YYY la máscara de subred (255.255.255.0 por ejemplo) y ZZZ.ZZZ.ZZZ.ZZZ la ip de la puerta de enlace a utilizar (atención al scroll horizontal)
#!/bin/sh sudo /sbin/route add -net XXX.XXX.XXX.XXX -netmask YYY.YYY.YYY.YYY ZZZ.ZZZ.ZZZ.ZZZ
Para obtener la puerta de enlace que debemos usar, así como para comprobar que la ruta está bien puesta, podemos usar el comando netstat (he eliminado por claridad las rutas no relacionadas):
netstat -nr Routing tables Internet: Destination Gateway Flags Refs Use Netif Expire default link#11 UCSI 0 0 ppp0 10 ppp0 USc 2 4 ppp0 10.2.0.0 10.2.0.1 UH 2 6 ppp0 192.168.10 10.2.0.1 UGSc 0 3 ppp0
Una vez comprobado que al conectar de nuevo la VPN el enrutado funciona correctamente (si no estamos seguros, utilizar traceroute para comprobar por donde están los paquetes siendo enviados)
traceroute 192.168.10.100 traceroute to 192.168.10.100 (192.168.0.100), 64 hops max, 52 byte packets 1 10.2.0.0 (10.2.0.0) 36.649 ms 37.018 ms 36.937 ms 2 192.168.10.100 (192.168.10.100) 37.287 ms 37.246 ms 37.429 ms
nos queda configurar para que la ruta sea eliminada al desconectar la vpn, para lo cual crearemos un nuevo fichero:
sudo vi /etc/ppp/ip-down
e introduciremos el siguiente contenido, siendo las XXX.XXX.XXX.XXX y las YYY.YYY.YYY.YYY las mismas que en el fichero ip-up (atención nuevamente al scroll horizontal):
#!/bin/sh sudo /sbin/route delete -net XXX.XXX.XXX.XXX -netmask YYY.YYY.YYY.YYY
Espero que os haya sido de utilidad y gracias por visitarme!
Málaga, Enero de 2015