Puede poner una configuración adicional en el archivo /etc/ppp/ip-up
, que se describe en man pppd
, y que es un archivo de script de shell estándar que se activará cuando el pppd
establezca una conexión.
Ya no uso la VPN y, lamentablemente, parece que ya no tengo una copia de mi archivo ip-up
, pero la forma en que solía hacerlo es algo similar a lo siguiente (deberá verificar esto con la página de manual antes mencionada).
Una vez que pppd establezca la conexión, llamará a /etc/ppp/ip-up
con los siguientes argumentos:
ip-up interface-name tty-device speed local-IP-address remote-IP-address ipparam
Por lo tanto, su secuencia de comandos ip-up
podría tener el siguiente aspecto:
#!/bin/bash
IFNAME="${1}"
LOCALIP="${4}"
REMOTEIP="${5}"
if [[ "${REMOTEIP}" == "192.0.2.1" ]]; then
/sbin/route add -host lab_computer.foo -interface "${IFNAME}"
fi
Tenga en cuenta lo siguiente:
- Supongo que la dirección IP de la puerta de enlace VPN a la que te conectas
es siempre lo mismo y nunca cambia, y en el ejemplo anterior soy
asumiendo que es 192.0.2.1 ( RFC5737 rango de direcciones especificado para usar
Como ejemplos de documentación - POR FAVOR CAMBIO. La comparacion aqui
se utiliza para agregar solo la ruta cuando está conectado a través de la VPN a
su oficina, y no cualquier otra conexión VPN o PPP.
- También es mejor usar una dirección IP en lugar del nombre de host para
la computadora a la que desea agregar una ruta estática. En lugar de usar
lab_computer.foo
Yo usaría una dirección IP en el comando route
.
- Estoy usando
-interface ${IFNAME}
en lugar de codificar
ppp0
, que debería hacer que esto funcione incluso si tiene dos VPN
conexiones establecidas al mismo tiempo (o una VPN y otra forma
de PPP, por ejemplo un modem 3G)