Обе темы рассмотрены в FAQ
Вы не упоминаете, что в обоих случаях на клиенте снимаете галку "использовать удаленный шлюз" для соединения (чтобы интернет не пропадал)
По логике Windows это выливается в то, что на клиенте добавляется маршрут на /24 (возможно и ваш /22 отработает - не проверял) подсеть адреса, выданного клиенту
Вариант №1 работает т.к. подсети совпадают
Вариант №2 НЕ работает потому же - проверьте route print после подключения, есть маршрут только на VPN подсеть
Через РРТР _нельзя_ выдать маршруты, поэтому добавление надо делать на клиенте после подключения - руками или автоматом
Для автоматом написан простенький скриптик (ниже). Я начинал писать клиента, но ввиду отсутствия большой необходимости отложил в долгий ящик
В примерном скрипте - 223 подсеть для VPN, 212 и 222 - реальные (добавляются маршруты)
Код:
@echo off
title PPP VPN caller and routing script
set VPN=RRAS_name
set VPN_USER=pptp_username
set VPN_PASS=pptp_password
echo Calling %VPN%...
rasdial %VPN% %VPN_USER% %VPN_PASS%
echo Removing old routing...
route delete 192.168.212.0
route delete 192.168.222.0
route delete 192.168.223.0
echo Applying routing...
ipconfig > temp1.txt
findstr "192.168.223." temp1.txt > temp2.txt
for /F "tokens=2 delims=:" %%f in (temp2.txt) do echo VPN client address %%f
for /F "tokens=2 delims=:" %%f in (temp2.txt) do route add 192.168.212.0 mask 255.255.255.0 %%f
for /F "tokens=2 delims=:" %%f in (temp2.txt) do route add 192.168.222.0 mask 255.255.255.0 %%f
for /F "tokens=2 delims=:" %%f in (temp2.txt) do route add 192.168.223.0 mask 255.255.255.0 %%f
if exist temp1.txt del temp1.txt
if exist temp2.txt del temp2.txt
echo Done
pause
_________________
Хотите хороший девайс? D-Link DFL!
Хотите считать с него трафик?
http://www.raresoftware.ru/products/lan/dfltc
