.
Отговор в тема
Резултати от 1 до 2 от общо 2

Тема: VPN/PPTP HowTo

  1. #1
    Повече от фен Аватара на WooDy
    Регистриран на
    Feb 2009
    Град
    оmг о.О sмqтаi ;D
    Мнения
    471

    VPN/PPTP HowTo

    Тез дни ми се наложи и на мен да пусна VPN под Linux-а (нов ISP), та се оказа, че е доста работа и така както гледам по-начинаещите потребители мисля, че нЕма да се справят, та реших да напиша едно ръководство за пускане на PPTP... а не е лошо някой модератор да го лепне отгоре, че е полезно да се знаят тез работи...
    1) трябва да се пачне кърнъла за да подържа MPPE/MPPC... такъв пач се сваля за 'секи отделен кърнъл от този сайт: MPPE/MPPC kernel module for Linux (edit забепежка: последните кърнъли от 2.6.x линията вече си имат вградена подръжка на MPPE/MPPC и не е нужен пач и за това няма пачове след 2.6.13)
    За да предвидя въпроса "как се пачва кърнъл", ше кажа, че става с командата:
    patch -p0 < patch-file-name-here
    В случая първо се разархивира някой от пачоевте по-горе (зависи кой кърнъл трябва да се пачне) и после се пачва... например имате кернел 2.6.9 разархивиран в директория /usr/src/linux-2.6.9/ ... слагате разархивирания пач в /usr/src/ и пишете: patch -p0 < linux-2.6.9-mppe-mppc-1.1.patch
    С това сорса на кърнъла е пачнат и се пуска конфигурацията му (например make menuconfig) - отивате в "Device Drivers --->"... после "Networking support --->"... пуска се "PPP (point-to-point protocol) support" и в него "Microsoft PPP compression/encryption (MPPC/MPPE)"... добре е да се включат и останалите нещица от PPP-то, но нЕма да навлизам в подробности.
    Следва компилацията на кърнъла (пак нЕма да навлизам в подробности как се компилира)
    Ако MPPE-то е като модул трябва да се добави един ред в /etc/modules.conf със съдържанив:
    alias ppp-compress-18 ppp_mppe_mppc
    После може да се пробва дали кърнъла има подръжка на MPPE с командата:
    # modprobe ppp-compress-18
    Ако не издаде никакви съобщения за грешки – 'начи модула в кърнъла вече е работоспособен... иначе – т.1 отначало...
    2) Следва инсталация на pppd (ако не е инсталирано вече) – има го тук като сорс (трябва ви версия 2.4.2 или по-нова): Welcome to the ppp web pages... 'се пак в повечето по-нови дистрибуции си го има вече и не е нужно да се слага отново... като отново се внимава да се включи подръжката на MPPE... може да се провери дали ppp-то подържа MPPE със следната команда:
    # strings `which pppd`|grep -i mppe|wc --lines
    Ако pppd подържа MPPE, отговора ше е някъде около 38-42 или нещо подобно, а ако не подържа - ше е НУЛА.
    3) инсталира се GTK+... тук няма нищо особено...
    4) Следва инсталация на php (версия 4.3.7 или по-нова): PHP...
    Задължително при конфигурирането на сорса трябва да се зададе опцията “--enable-pcntl”:
    ./configure --enable-pcntl
    (Едит1... аз ползвах: ./configure --with-mod_charset --with-openssl --with-zlib --enable-bcmath --with-bz2 --enable-calendar --with-curl --enable-ftp --with-java=/usr/lib/j2sdk1.4.2_01/ --enable-mbstring --with-mysql --enable-pcntl --with-readline)
    Може и други опции да се зададат, но трябва да се внимава... някой са несъвместими една с друга, а за някой просто трябва да има инсталирани съответните приложения, които да ги ползват.
    После се компилира PHP-то и се инсталира (аз 'сяко нещо инсталирам чрез checkinstall - правя го първо на пакет и после го инсталирам, за да мога лесно да добавям, упгрейдвам и т.н.)
    5) следва инсталацията на PHP-GTK версия 1.0.0. или по-нова... може би най-бъгавата част от цялата "далавера" (но си заслужава)... първо се доизгражда сорса със скрипта buildconf:
    # ./buildconf
    следва конфигурирането на инсталацията (аз добавям --enable-php-gtk):
    # ./configure --enable-php-gtk
    После трябва да се "пипнат" няколко неща по сорса иначе просто дава грешки и не минава компилацията (бъгове - к'во да пра'и човек)... за да не навлизам в подробности ше кажа как да се избегнат: отваряте файла Makefile:
    # vi Makefile
    Трябва да се едитнат няколко нещица: търсите 'СИЧКИ редове, които започват с: "$(PHP) -f $(top_srcdir)/generator/generator.php --":
    /$(PHP) -f $(top_srcdir)/generator/generator.php --
    Трябва да се заменят с: "$(PHP) -q $(top_srcdir)/generator/generator.php"
    останалата част от реда си остава същата, т.е. опцията "-f" се заменя с "-q" и се махат двете "минусчета" (пак без да навлизам в подробности "защо")...
    После се компилире (make)... и инсталира php-gtk...
    6) изтегля се и се инсталира PPTP Client for Linux или PPTP Client for Linux версия от 1.2.0. нагоре...
    В тази "част" трябва да се инсталират например версиите: pptp-linux-1.5.0.tar.gz ; pptp-extras-1.5.0.tar.gz и pptpconfig-20040722.tar.gz.
    5) чрез pptpconfig се конфигурират тунелите (VPN-връзките и се включват/изключват в графичен режим - X11... за туй трябваше подръжката на GTK+ от PHP-то и самото GTK+...)
    Тук има една "уговорка"... обикновено самия PHP-скрипт е Уеко сгрешен... т.е. пътя до интерпретатора PHP в началото на скрипта е сгрешен и не съответства на мястото, където се е инсталирал и съответно не работи без да се едитне... трябва да се смени първия ред от "#!/usr/lib/php-pcntl/bin/php -q"... на "#!/usr/local/bin/php -q" или там където ви е самото PHP...
    После си правите един линк някъде из менютата на KDE-то към този скрипт (pptpconfig) и го пускате... вече в екранчето к'во да се сетне е еУементарно... име на връзката, IP, лузър (юзер), парола, подържани енкапсулации и т.н. - както ви е казал доставчика.
    (Едит2...Забравих да напиша - трябваха ми и следните библиотеки за да тръгне 'сичко туй - libglade-0.17, libglade-2.4.0 и libxml-1.8.17 ... при вас може и да трябват други)
    (Едит3... забравих да кажа и че ви трябва пакета iproute2... ама то туй се подразбира)
    Може и малко по'тънко да се мине без графичната част, като ето ТУК е описано:

    P.S. Може и да съм пропуснал нещо, но наистина стана доста дълго... Успех и от мен...



  2. #2
    Браво, браво!
    I'm RETIRED.
    I was tired yesterday, and today I'm tided too.
    http://www.facebook.com/john.stefanov
    http://blog.injenera.com

Правила за публикуване

  • Вие не можете да публикувате теми
  • Вие не можете да отговаряте в теми
  • Вие не можете да прикачвате файлове
  • Вие не можете да редактирате мненията си