Рассмотрим 2 варианта:
1. цепляемся ВПН-ом к офисному серверу и получаем маршрут на серую офисную сеть, при этот дефолт не меняется.
2. получаем дефолт от ВПН-сервера.
Как обычно, все манипуляции производятся на FreeBSD 7.
Устанавливаем софтину pptpclient портом или пакаджем, как угодно.
В принципе, можно настроить банальный ppp, но мне лениво.
Пусть у нас адрес vpn-сервера будет 100.100.235.1, офисная сеть - 192.168.1.0/24 , а старый шлюз по умолчанию - 10.0.0.1
В моём конфиге ещё предполагается, что мы продолжаем пользоваться и старым ДНС-сервером (всё равно фряха не даст перетереть resolv.conf)
root@home# cat /etc/ppp/ppp.conf
# usage: pptp 100.100.235.1 connection-name &
# terminate: kill -9 PID
office:
# реализация первого варианта
set log phase chat connect lcp ipcp
set authname user1
set authkey pass1
set timeout 0
set ifaddr 0 0
add 192.168.1.0/24 HISADDR
full:
# реализация второго варианта
set log phase chat connect lcp ipcp
set authname user2
set authkey pass2
set timeout 0
set ifaddr 0 0
# теперь прописываем маршрут к впн-серверу через адрес "старого" шлюза
add 100.100.235.1 10.0.0.1
# также говорим, что к ДНС-серверу мы тоже хотим достукиваться через "старый" шлюз
add 80.80.1.2 10.0.0.1
# у нас уже есть дефолт, поэтому мы его сначала прибиваем,
# при этом, поскольку наш адрес на сетевухе всё равно в той же подсети, что и "старый" шлюз, то
# адрес 10.0.0.1 всё равно остаётся достижимым
del default
# а потом - спокойно получаем от vpn-сервера новый дефолт
add default HISADDR