Всё на примере Slackware 11.
Конфиги 100% рабочие. Если у вас получается соединиться с VPN-сервером, но он вас не пускает по неправильному паролю, хотя пароль вы ввели правильный, проверьте в конфигах всё до последней запятой.
Итак, приступим.
У нас должен быть установлен ppp и ядро не ниже 2.6.16, если не ошибаюсь. В слаке-11 оно есть в комплекте.
Качаем с pptpclient.sf.net собственно pptp, собираем его и ставим. Собирается всё без каких-либо хитростей, ничего сложного.
Теперь собственно самое интересное:
Если у вашего провайдера чётко прописано в договоре или в примере настроек на сайте что должен быть домен, то надо его прописать. Иначе надо убрать из логина домен и следующие за ним "\\". Это _очень_ важно.
/etc/ppp/chap-secrets:
домен\\логин PPTP "пароль" *
ПАРОЛЬ В КАВЫЧКАХ ! ! !
/etc/ppp/options.pptp:
lock
noauth
nobsdcomp
nodeflate
/etc/ppp/peers/ТВОЙ_ПРОВАЙДЕР:
pty "pptp адрес.VPN.сервака --nolaunchpppd"
name домен\\логин
remotename PPTP
require-mppe-128
require-mschap-v2
usepeerdns
persist
file /etc/ppp/options.pptp
ipparam ТВОЙ_ПРОВАЙДЕР
Соединяться со всем этим хозяйством надо посредством команды pppd call ТВОЙ_ПРОВАЙДЕР. Отключаться (хотя зачем на выделёнке отключаться? ) можно командой killall pppd, во всяком случае я делаю так.
Дальше настраиваем роутинг. Можно с небольшими поправками нижеприведёные команды запихнуть в файл /etc/ppp/if-up, чтобы оно делалось само при соединении.
Сначала роутим локалку на локалочный сервер, чтобы не потерялся VPN-сервер и DNS, как это было у меня. Адрес сети - первые одно или два числа от твоего IP, остальное нули, netmask - оставь как здесь, gw - локалочный сервер.
route add -net 10.0.0.0 netmask 255.255.0.0 gw 10.0.253.254
route del default
route add default gw 172.18.20.3 dev ppp0
Если кто не понял:
Адрес после -net - первые 1-2 числа от нашего IP внутри локалки, оcтальное - нули. Первое gw - стандартный шлюз в опять-таки локалке. Второе gw узнаётся так - командуем ifconfig и ищем в появившемся тексте параметр P-t-P.
Собственно на этом всё. Теперь будет работать и инет, и локалка.