Вообщем так.
Почему мне не понравился kvpnc:
1. Когда я запускал такие терминальные клиенты как nx или Citrix, или же просто что то скачивал по ФТП у меня рвалось постоянно соединение. (Позднее опишу почему)
2. А во вторых пойми kvpnc для ленивых ты его настроил и совершенно не понял как вообще работает ВПН соединение и как его настраивать... это же как на винде причём хошь баг Винда по умолчанию не удаляет дефайлт роут а просто добавляет второй на ВПН интерфейс....
А теперь как завести впн через pptp клиент на сузе...
Вот пример виндовой настройки ВПНа на XP
http://tomsknet.ru/internet/vpn_xp у меня на работе на фре поднят mpd впн сервер который заменяет виндавозный и все клиенты к нему подрубаются абсолютно таким же способом как описано в линке, но есть одно НО у меня галочку шифрование не надо снимать (хотя некоторые говорят что без неё быстрее цепляется и устанавливается соединение). Так вот забудем про винду, у нас задача посадить линуху на ВПН.
переходим под рутом в каталог
# cd /etc/ppp
смотрим что там у нас, какие то файлы не понятноый chap-secrets, pap-secrets байда какая то )))
всё по подробнее в нашем случае и в основном используется chap авторизация для этого смотр им в файлик chap-secrets:
# mcedit chap-secrets
там описываются наши логин и пароль, ну канечно можно и в самом конфиге конфигурации указать эти данные, но когда у тебя не одно ВПНсоединение удобнее делать всё структурировано.
Как записать логин и пароль в chap-secrets, допустим логин у нас VPNasd, а пароль qwerty, то пишем
VPNasd * qwerty * #- в конце не забываем тожде поставить пробел.
теперь сохраняем это всё.
Смотрим следующий файлик options.pptp у меня он такой:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
#debug
#
# Lock the port
#
lock
#
# We don't need the tunnel server to authenticate itself
#
noauth
#
# Turn off transmission protocols we know won't be used
#
nobsdcomp
nodeflate
#
# We want MPPE
#
require-mppe-128
refuse-eap
refuse-chap
refuse-mschap
mtu 1396
mru 1396
#mtu 1000
#mru 1000
usepeerdns
#
# Time this thing out of it goes poof
#
#lcp-echo-failure 10
#lcp-echo-interval 10
persist
maxfail 0
defaultroute
mtu 1396
mru 1396
А вот здесь объясняю как раз описаный выше баг с вылетом kvpnc.
По умолчанию соединению устанавливается mtu 1460, это не есть гуд объясняется это тем, mtu (как я понимаю) размер пакета в байтах на которое делиться отправляемое сообщение, так вот на сервере все подымаемые интерфейсы имеют максимум тоже mtu 1460 реальный ethernet интерфейс как мы сами можем убедиться имеет mtu 1500, так почему же pptp делает 1460 для чего нужно оставшиеся 40 байт, это остаётся загадкой, но по моему (корявому и не считайте это за истинну) предположению сюда запихивается информация о самом пакете ведь соединения происходит в начале по 1723 порту по tcp протоколу и только потом уже подымается GRE протокол, который в свою очеред логически даёт возможностью думать компьютеру клиента. Что у него есть ещё один интерфейс в который воткнут "образно" кабель и сразу же за кабелем роутер и он без каких либо проблем может работать по tcp,udp,icmp и т.д.протоколлам, через этот gre-тунель или pptp-тунель как его вообще называют.
Так вот не указывая на компьютере клиента mtu значение бедут выставляться по умолчанию МАКСИМАЛЬНОЙ и поэтому когда, в часности я запускал терм. клиент или ФТП протокол не хватало тех 40 байтиков для информации о pptp соединении и тунель рвался.... (на виньде тунелю по умолчанию даётся mtu 1396 )
А ведь разве настраивая через kvpc я бы понял это
Далее смотрим тут же в каталог peers/
там лежат файлы запуска pptp соединения т.е. pppd демон смотрит в этот каталог и ищиет указанный вами файл настроек.
Здесь я создал файлик vpn, а в нём указал следущее:
pty "/usr/sbin/pptp 212.100.100.200 --nolaunchpppd"
user VPNasd
file /etc/ppp/options.pptp
и таких файлов у меня несколько и каждый берёт одинаковые для всех настройки из
file /etc/ppp/options.pptp, а опцией user указываю какой логин и пароль читать из chap-secrets файла.
Забыл сказать о строке pty "/usr/sbin/pptp 212.100.100.200 --nolaunchpppd" здесь обязательно пишем --nolaunchpppd, хз почему так не гуглил и как видите указываем IP сервера (Можете домен типо vpn.tomsknet.ru).
А теперь предпоследнее запускается всё это счастье следущей командой:
pppd call vpn
У вас подымается новый интерфейс ppp0, но на него всеравно даже если вы указали так же как и я в options.pptp опцию defaultroute не будет завёрнут дефаулт маршрут т.е. подсеть 0.0.0.0 с маской 0.0.0.0 - т.е. весь инет. А почему

Отвечаю потому что у вас УЖЕ !!! есть дефаулт маршрут на ваш шлюз для того чтобы всё было "ОК" вам нужно перед запуском vpn соединения, прописать СТАТИЧЕСКИЙ маршрут до ВПН сервера через ваш шлюз и потом удалить дефаулт маршрут, а именно следущие две строчки:
route add -net 212.100.100.200 netmask 255.255.255.255 gw IP_вашего_шлюза
route del default
и далее запускаем свой vpn и наслаждаемся. Можно строчку с прописыванием статического маршруто чуток видоизменить:
route add -net 212.100.100.200 netmask 255.255.255.255 dev eth1
eth1 - сюда у меня воткнут ethernet шнурок до АДСЛ модема
Теперь опишу как сделать чтобы ВПН стартовал у вас при старте системы, чтобы вообще забыть про него что он у вас есть.
смотрим в каталоге /etc/rc.d/ в файлике rc следующий скрип запуска:
#
# Start the user defined resource control script which
# should be executed _after_ runlevel is reached.
#
if test -f /etc/init.d/after.local ; then
echo -n "Master Resource Control: "
echo "Runing /etc/init.d/after.local"
/bin/sh /etc/init.d/after.local
rc_status -v1 -r
splashtrigger "after.local"
fi
Делаем вывод ........ и прально создаём сами в каталоге init.d он же ссылка на rc.d исполняемый файл after.local:
touch /etc/rc.d/after.local
chmod +x after.local
и записываем в него следущие строки:
[div class=\'codetop\']CODE[div class=\'codemain\' style=\'height:200px;white-space:pre;overflow:auto\']
route add -net 62.68.128.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 77.106.64.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 77.235.211.192 netmask 255.255.255.248 gw 10.0.0.1
route add -net 77.245.160.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 78.136.192.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 78.139.192.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 78.140.0.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 79.122.222.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 79.136.128.0 netmask 255.255.128.0 gw 10.0.0.1
route add -net 79.175.39.0 netmask 255.255.255.128 gw 10.0.0.1
route add -net 80.72.208.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 80.89.133.32 netmask 255.255.255.224 gw 10.0.0.1
route add -net 80.89.135.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 81.1.229.32 netmask 255.255.255.224 gw 10.0.0.1
route add -net 81.1.229.72 netmask 255.255.255.248 gw 10.0.0.1
route add -net 81.1.229.96 netmask 255.255.255.224 gw 10.0.0.1
route add -net 81.1.229.128 netmask 255.255.255.128 gw 10.0.0.1
route add -net 81.1.232.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 81.1.250.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.117.64.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 82.117.68.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.117.75.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.117.94.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 82.117.160.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 82.200.4.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.5.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.17.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.24.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.70.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 82.200.73.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.74.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.75.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.76.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.77.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.78.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.102.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 82.200.110.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 82.200.112.0 netmask 255.255.255.240 gw 10.0.0.1
route add -net 82.200.114.0 netmask 255.255.255.224 gw 10.0.0.1
route add -net 82.200.122.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 82.200.123.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 83.172.0.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 83.229.232.32 netmask 255.255.255.224 gw 10.0.0.1
route add -net 83.229.232.64 netmask 255.255.255.192 gw 10.0.0.1
route add -net 84.237.0.0 netmask 255.255.248.0 gw 10.0.0.1
route add -net 84.237.8.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 84.237.12.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 85.143.64.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 85.143.80.0 netmask 255.255.248.0 gw 10.0.0.1
route add -net 88.204.0.0 netmask 255.255.128.0 gw 10.0.0.1
route add -net 88.204.48.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 90.188.64.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 90.188.96.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 90.188.112.0 netmask 255.255.248.0 gw 10.0.0.1
route add -net 91.210.72.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 91.210.184.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 91.211.184.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 91.211.185.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 91.211.186.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 91.211.187.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 92.50.240.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 92.63.64.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 92.125.0.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 92.126.224.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 92.243.96.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 93.91.165.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 93.91.166.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 93.91.168.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 94.28.4.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 95.170.96.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 95.170.136.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 95.170.138.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 95.191.0.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 95.191.16.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 95.191.32.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 95.191.48.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 194.226.60.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 195.93.186.0 netmask 255.255.254.0 gw 10.0.0.1
route add -net 195.208.160.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 212.73.124.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 212.107.224.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 212.107.240.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 212.192.102.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 212.192.120.0 netmask 255.255.252.0 gw 10.0.0.1
route add -net 212.192.163.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 213.183.96.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 213.210.64.0 netmask 255.255.192.0 gw 10.0.0.1
route add -net 213.228.87.5 netmask 255.255.255.255 gw 10.0.0.1
route add -net 217.8.224.80 netmask 255.255.255.240 gw 10.0.0.1
route add -net 217.18.128.0 netmask 255.255.224.0 gw 10.0.0.1
route add -net 217.29.80.0 netmask 255.255.240.0 gw 10.0.0.1
route add -net 217.70.106.24 netmask 255.255.255.255 gw 10.0.0.1
route add -net 217.70.106.29 netmask 255.255.255.255 gw 10.0.0.1
route add -net 217.79.56.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 217.79.57.0 netmask 255.255.255.0 gw 10.0.0.1
route add -net 217.106.147.0 netmask 255.255.255.240 gw 10.0.0.1
route del default
pppd call vpn
В начале я делаю статические томские маршруты на свой шлюз он у меня адсльный 10.0.0.1, дабы чтоб не вылазить в томск со скоростью ВПН соединения, и потом удаляю default маршрут и подымаю ВПН соединение.
Надеюсь многим поможет.
п.с. Не обращайте сильно внимание на мои выводы и предположения так думаю Я, а не где то написано что так есть, хотя хз может я и прав по поводу mtu.