Очень бесило в OS X, что после установления VPN-соединения, приходилось вручную пробрасывать некоторые подсети вовнутрь VPN. Через какое-то время это надоело и был написан небольшой скрипт, который выполняется автоматически сразу после установления VPN-соединения.
$ sudo nano -w /etc/ppp/ip-up
#!/bin/sh
# После установления ppp-соединения, вызывается этот скрипт со следующими параметрами
# $1 имя интерфейса, используемое pppd (напр. ppp0)
# $2 имя устройства tty
# $3 скорость устройства tty
# $4 локальный IP адрес
# $5 удаленный IP адрес
# $6 параметр, указанный опцией 'ipparam' в pppd
IFNAME="$1"
IPLOCAL="$4"
IPREMOTE="$5"
if [ "${IPREMOTE}" == "10.9.1.1" ]; then
/sbin/route add -net 10.1 -interface ${IFNAME}
/sbin/route add -net 10.2 -interface ${IFNAME}
/sbin/route add -net 10.9 -interface ${IFNAME}
/sbin/route add -host 10.20.30.40/32 -interface ${IFNAME}
fi
$ sudo chmod +x /etc/ppp/ip-up