The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги ]

Каталог документации / Раздел "Сети, протоколы, сервисы" (Архив | Для печати)

Автор:Dmitry A. Koptev
Оригинал: http://dimez.nm.ru/docs/pptp/

У меня сложилась такая ситуация -  настройка VPN сервер на Linux'е к которому подключаются удалённые
Windows-клиенты(9x/NT/2000/XP), предварительно дозванивающиеся к какому-либо провайдеру(не ко мне)
и с минимальным переконфигурированием клиентских машин(сиречь, Windows-машин)
Я (после долгого копания в инетке,переписки в форумах и чтения всяких документаций и FAQ) 
всё-таки нашёл решение

1) Скачать последний ppp(ftp://ftp.samba.org/pub/ppp) Обычно ftp.samba.org очень редко откликается
Я рекомендую скачать с http://www.slackware.at/data/slackware-current/source/n/ppp/ppp-2.4.1.tar.gz
(а ещё и тут)
Исправление.
Если брать ppp из cvs(cvs -d :pserver:cvs@pserver.samba.org:/cvsroot co ppp), эти патчи не требуются,
все указывается при сборке(файл ppp/pppd/Makefile.linux). также в состав ppp из cvs включены
патчи mppe для ядра(директория ppp/linux/mppe)
Маленький P.S. у меня cvs'ный ppp не собрался, и я ещё не разбирался что к чему, всё поэтому привожу для ppp-2.4.1
За исправление и дополнение спасибо Дмитрию Глушенку.

Исправление #2.

Только что собрал ppp из cvs - собрался нормально, пропатчил ядро из ppp/linux/mppe скриптом mppeinstall.sh При использовании нового ppp(2.4.2-b3) сам ppp патчить не надо В make menuconfig появился пункт PPP MPPE compression (encryption) Ещё одно дополнение - все файлы Вы можете скачать этого адреса (включая и последнюю версию ppp из cvs - файл ppp_cvs.tar.bz2) 2) Скачать три патча по адресам http://www.shorewall.net/pub/shorewall/pptp/ppp-2.4.1-openssl-0.9.6-mppe-patch.gz)тут) http://www.shorewall.net/pub/shorewall/pptp/ppp-2.4.1-MSCHAPv2-fix.patch.gzтут) ftp://ftp.shorewall.net/pub/shorewall/pptp/require-mppe.diff(тут) 3)Выполнить из командной строки следующие команды(из директории, куда скачаны файлы, например, /data/src) $ tar xzf ppp-2.4.1.tar.gz $ cd ppp-2.4.1 $ zcat../ppp-2.4.1-openssl-0.9.6-mppe-patch.gz | patch -p1 (для нового ppp это не надо) $ zcat ../ppp-2.4.1-MSCHAPv2-fix.patch.gz | patch -p1 (тоже самое) $ patch -p1 < ../require-mppe.diff $ ./configure $ make $ sudo make install(это если sudo настроено :-) Компиляция пакета ppp закончена, теперь принимаемся за ядро # cd /usr/src # tar xjf /data/src/kernel/linux-x.y.z.tar.bz2 #### Это можно пропустить, # ln -s linux-x.y.z linux ; cd linux #### если Вы не хотите обновлять ядро Скачать патч с адреса http://www.shorewall.net/pub/shorewall/pptp/linux-2.4.16-openssl-0.9.6b-mppe-patch.gz (У меня на момент написания этого документа стоит 2.4.21-pre2 - патч подошёл) # gunzip -c ../linux-2.4.16-openssl-0.9.6b-mppe-patch.gz | patch -p1 (для нового ppp патч надо брать из ppp/linux/mppe) # make mrproper # make menuconfig Настроить ядро как на картинке :-) Скомпилировать ядро командами # make dep clean bzImage modules modules_install # cp arch/i386/boot/bzImage /boot/vmlinuz (это если у Вас i386-архитектура :-) # cp System.map /boot/ # cp .config /boot/config Настроить загрузчик(это Вы, я думаю, сами справитесь :-) Если требуется, перегрузиться(это если ядро более новой версии, в противном случае - просто загрузите соответствующие модули) Ядро у нас готово к употреблению :-) Теперь принимаемся за VPN сервер(http://www.poptop.org/)(тут) Скачиваем, разворачиваем, устанавливаем $ tar xzf pptpd-1.1.4-b4.tar.gz(на данный момент) $ cd poptop-1.1.4 $ ./configure $ make $ sudo make install (это опять же, если настроено sudo) Редактируем /etc/pptpd.conf ---cat-/etc/pptpd.conf--- speed 115200 option /etc/ppp/options.pptpd debug localip 10.0.0.1 remoteip 10.0.0.2-10 ---end-of-cat--- Вроде всё понятно по названию Принимаемся за /etc/ppp/options ---cat-/etc/ppp/options--- lock ---end-of-cat--- Это потому что у меня ещё и dial-in сервер - я все остальные опции вынес в /etc/ppp/options.ttyS1 но это отступление :-) И теперь /etc/ppp/options.pptpd ---cat-/etc/ppp/options.pptpd--- ipparam PoPToP lock mtu 1490 mru 1490 ms-dns 10.0.0.1 proxyarp auth -pap (для нового ppp_cvs надо refuse-pap) -chap (выключил, из-за использования chapms-v2) (refuse-chap) -chapms (тоже самое, что и выше) (refuse-chapms) +chapms-v2 (в случае использования ppp_cvs изменить на require-mschap-v2) ipcp-accept-local ipcp-accept-remote lcp-echo-failure 30 lcp-echo-interval 5 deflate 0 mppe-stateless (на ppp-2.4.2-b3 не проходит, пришлось закомментировать) +mppe-128 ---end-of-cat-- Пишем небольшой скрипт запуска pptpd ---cat-/etc/rc.d/rc.pptpd #!/bin/sh # # /etc/rc.d/rc.pptpd # # description: control pptp server # case "$1" in start) echo 1 > /proc/sys/net/ipv4/ip_forward modprobe ppp_async modprobe ppp_generic modprobe ppp_mppe modprobe slhc if /usr/local/vpn/sbin/pptpd; then touch /var/lock/subsys/pptpd fi ;; stop) killall pptpd rm -f /var/lock/subsys/pptpd ;; restart) killall pptpd if /usr/local/vpn/sbin/pptpd; then touch /var/lock/subsys/pptpd fi ;; status) ifconfig ;; *) echo "Usage: $0 {start|stop|restart|status}" ;; esac ---end-of-cat--- Небольшое дополнение, если у Вас клиенты или сервера силят за файрволом, то надо разрешить на нём прохождение 47 протокола c VPN-сети(10.0.0.0/24) (... -p 47 -s 10.0.0.0/24 ...) и соединения по протоколу tcp порту 1723 (... -p tcp --dport 1723 ...) а так же опять же пропатчить ядро на эжтом самом файрволе, патчи брать с http://www.impsec.org/linux/masquerade/ip_masq_vpn.html Теперь можно настраивать VPN-клиентов(по какому угодно протоколу - pap, chap,mschap,mschap-v2, с шифрованием или без - всё должно работать) P.S. Заранее извините за ошибки(если заметите грубые - напишите на email ниже) P.P.S. Для счастливых обладателей Slackware-9.0 я выложил собранные пакеты по этому адресу
© 2002 Dmitry A. Koptev
  Закладки на сайте
  Проследить за страницей
Created 1996-2017 by Maxim Chirkov  
ДобавитьРекламаВебмастеруГИД  
Hosting by Ihor