|
Рассылка писем Сводный рейтинг сайтов. Дистанционный консалтинг. tushe.com.ua |
|
Инфракрасная кабина Предложения для дилеров. Онлайн-консультация. infrasun.ru |
Настройка VPN подключения по протоколу PPTP (Point-to-Point Tunneling Protocol) во многом напоминает подключение по PPPoE. До недавнего времени в Linux из-за опасения лицензионных преследований по поводу протокола MPPE отсутствовала нормальная поддержка PPTP, что вызывало проблемы и требовало лишних телодвижений.
Полная поддержка этого протокола появилась, начиная с версии 2.6.13, официальная была начата с 2.6.14, а в 2.6.15 уже включен модуль шифрования PPP MPPE.
Все что нам нужно есть в репозитарии пакетов:
$ sudo apt-cache search pptp
pptp-linux — Point-to-Point Tunneling Protocol (PPTP) Client
knet — The Knet is a frontend to pppd.
kvpnc — vpn clients frontend for KDE
network-manager-pptp — network management framework (PPTP plugin)
Клиентскую часть обеспечивает проект PPTP Client . Поддерживается не только Linux, но и *BSD. Этот клиент совместим со всеми серверами, работающими по протоколу PPTP: Windows VPN, Linux PopTop, Cisco PIX и некоторыми другими. Клиент уже около 2 лет не обновлялся, поэтому можно устанавливать то, что есть в репозитарии.
$ sudo apt-get install pptp-linux
В качестве рекомендуемых пакетов в Ubuntu 7.10 предлагался «kernel-patch-mppe«, в моем случае все работало и без него, но при появлении проблем можно попробовать установить и его. Хотя я бы поставил самое последнее ядро, где этот протокол поддерживается изначально.
Кстати, следует отметить предусмотрительность ребят из Canonical. Все нужные пакеты для подключения по PPTP находятся на CD диске, который и попросят вставить в привод после ввода команды. Поэтому если PPTP — это единственная связь с внешним миром, добывать нужные пакеты окольными путями не придется.
Теперь приступаем к редактированию конфигурационного файла:
$ sudo mcedit /etc/ppp/options.pptp
lock noauth nobsdcomp nodeflate
# Отключаем ненужные проверки
refuse-pap
refuse-eap
#refuse-chap
refuse-mschap
persist
# Количество попыток подключения в случае обрыва соединения
maxfail 10
defaultroute
replacedefaultroute
В файл /etc/ppp/chap-secrets заносим логин и пароль в таком виде:
user pptp password *
Если требуется войти в домен, тогда запись должна выглядеть так:
domain\\user pptp password *
И создаем описание подключения, как это делали для PPPoE:
$ sudo mcedit /etc/ppp/peers/pptp
# Указываем адрес PPTP сервера
pty «pptp 10.10.10.1 —nolaunchpppd»
connect /bin/true
name user
# Идентификатор из второго поля в chap-secrets
remotename pptp
# Подключаем файл настроек
file /etc/ppp/options.pptp
#require-mppe-128 # с некоторыми провайдерами возникает проблема
require-mppe-40
ipparam pptp
Вот, собственно, и все настройки. Теперь подключаемся:
$ pon pptp
И смотрим вывод команды ifconfig. Если соединение установлено, и адрес получен, то считаем, что процесс настройки прошел успешно. Но обычно возни с PPTP несколько больше, чем с PPPoE. В случае неудачи выполняем:
$ pon pptp debug dump logfd 2 nodetach
В результате получим все параметры соединения и лог ошибок. Если есть необходимость в автоматическом подключении при загрузке системы, правим /etc/network/interfaces:
$ sudo mcedit /etc/network/interfaces
auto tunnel
iface tunnel inet ppp
provider pptp
Теперь об ошибках с которыми доводилось сталкиваться. Нормальная Нормальная поддержка MPPE появилась в 2.6.15 поэтому если ошибка не понятна можно MPPE попробовать отключить:
nomppe-40
nomppe-128
nomppe
nomppe-stateful
Далее такой вывод.
debug: [pppd] anon warn[open_inetsock:pptp_callmgr.c:326]: connect: No route to host
error: No route to host.
Это скорее всего показывает на проблему с роутингом. Следует проверить маршрут командой route и добавить в случае необходимости.Например так.
$ sudo route add default gw 192.168.1.1
Дальше.
sent [LCP ConfRej id=0x7 <auth chap MS-v2>]
rcvd [LCP ConfReq id=0x8 <mru 1500> <magic 0x77ff5e61> <auth chap MS-v2>]
No auth is possible
Попытка использовать ms-chap аутентификацию, которая не поддерживается. Лечится «refuse-mschap».
Теперь
pppd: The remote system is required to authenticate itself
pppd: but I couldn’t find any suitable secret (password) for it to use to do so.
Это значит что скрипт он не может найти нужную запись в chap-secrets. Проверяем соответствие второго поля и remotename. Если CHAP запись одна можно обойтись без remotename и указать * во втором поле.
user * passwd
Вроде все. Буду рад дополнениям.
4 Комментариев к Подключаемся по PPTP
Май 17th, 2008 | 18:22
А как быть с MPPC сжатием?
Июнь 16th, 2008 | 9:52
Ну что никто не сталкивался с данной проблемой, ладно если на сервере отключили компрессию, но обычно она включена. Остается только патчик? Но он нарушает патент от M$. Кто что выскажет по этому поводу?
Июнь 16th, 2008 | 10:48
А что делать?
Март 30th, 2009 | 15:03
Да, Линуксоид! Мало же ты знаешь о Линукс!