![]() |
![]() ![]() |
![]() |
![]() ![]() ![]() ![]() |
|
Во-первых, вы должны знать, что такое Linux, иметь навыки в установке программного обеспечения, выполнения команд, навигации по файловой системе и редактирования текстовых файлов. Методы, описанные здесь действуют для VPN серверов нашей компании. Поведение предложенного здесь программного обеспечения для других серверов неопределенно. Используются дистрибутивы RedHat Linux 9.0, Fedora Core 4, RedHat Entrprise 4.
Итак, вам потребуется: 1) Последняя версия демона pppd (для стабильности). Дистрибутивы линукса обычно приходят к вам с pppd далеко не новой версии, зачастую в них есть ошибки, баги и глюки, сильно влияющие на общую работоспособность и на нервы :). Вообще общая картина с VPN соединениями из Linux очень плоха. Так что настройтесь на неприятности. 2) Клиент pptp. Маленькая программка в которой реализованы все необходимые параметры протокола Point-To-Point Tunnelling (PPTP). Самое плохое, что вы можете встретить вместо этого, это пакет pptp-linux (входит в дистрибутив Mandrake и очень распространен) в состав входит небольшой скрипт на perl который путем диалога с вами выясняет, куда и как вы хотите установить VPN соединение, а потом правит конфигурационные файлы в соответствии с вашими ответами. Не используйте это. Запутаетесь и устарел он безнадежно. Вот и все. Для получения вышеозначенного ПО, предлагаем вам обратится на сайты http://www.poptop.org. Сайт разработчиков серверного программного обеспечения VPN. И http://pptpclient.sourceforge.net. Сайт разработчиков клиента pptp. Это они, кстати, создали pptp-linux если вы его там увидите, то не качайте его. На на этих сайтах вы можете найти все необходимое, к тому же почитать HOWTO и MAN. Для RedHat предлагаем вам сконструировать собственные rpm-пакеты, которые будут содержать весь нужный вам комплект. Итак, стяните файлы http://prdownloads.sourceforge.net/poptop/ppp-2.4.3-5.src.rpm?download и http://prdownloads.sourceforge.net/pptpclient/pptp-1.7.0-1.src.rpm (всего два) Сохраните их, куда-нибудь у себя на диске. У нас это директория /home/downloads компьютер с именем Voyager под управлением Fedora Core 4. С правами пользователя root, выполните примерно следующее.
Это должно быстро скомпилироваться. Для удачной компиляции демона pppd вам потребуется уже установленным пакет libpcap версии не ниже 0.6.2. Если у вас Mandrake то тогда libpcap0-devel такой же версии. И обратите внимание, после компиляции pppd (т.е после выполнения команды rpmbuil --rebuild -ba ppp-2.4.3-5.src.rpm) в директории /usr/src/redhat/RPMS/i386 должен появится результирующий файл пакета-rpm но в зависимости от того какая версия линукса у вас установлена, у него будет разное имя. Проверьте это, скажем командой ls ppp* или на худой конец в Midnight Commander поищите. Если имя другое, не такое как здесь указано, то тогда подкорректируйте в команде rpm -ih ppp-2.4.3-5.fc4.i386.rpm имя файла. Дальше сделайте все то же самое с файлом pptp-1.7.0-1.src.rpm. То есть ... Подкорректируйте, как указано выше. Будьте внимательны. Если у вас при установке какого либо пакета (rpm -ih <..file_name..>) на терминал выползли символы типа pppd 2.3.5 conflicts with the package pppd 2.2.3 which is already installed ... это значит что у вас уже есть установленный демон ppp только и он у вас более старой версии скорее всего. Можете его удалить командой rpm -e ppp. Если не удаляется, это значит, что у вас установлены некоторые пакеты, зависимые от него. Пакет ppp все равно можно удалить приписав к вышеозначенной команде ключ --nodeps (т.е rpm -e ppp --nodeps) что означает удалить пакет и игнорировать все зависимые от него пакеты. Это не страшно. Ведь вы все равно установите ppp, только новый. Что надо прописать. Во-первых найдите свои логин и пароль к VPN серверу. Их вам должен предоставить его владелец. Теперь редактируйте файл /etc/ppp/chap-secrets Обычно логин и пароль прописываются там. В других местах надо прописывать только в очень редких случаях. Обычно этот файл содержит следующее:
# Secrets for authentication using CHAP # client server secret IP addresses Там нет ничего кроме комментариев. Структура файла это столбцы начинающиеся сразу под комментариями последней строчки. Допустим у вас логин monster и пароль qwerty23. Припишите ваш логин и пароль примерно вот так: # Secrets for authentication using CHAP # client server secret IP addresses dm_monster * qwerty23 * server - у нас pptp сам определяет какой версии протокол поэтому ставим звездочку. ip-address - обычно VPN сервер выделяет его сам. Даже если это не так, в том случае когда вы выступаете как устанавливающая сторона там можно поставить звездочку. Можете об этом не беспокоиться. Теперь сложное. Пишем скрипт который будет включать вам интернет. Сразу посмотрим что в нем нужно написать а потом поясним что в нем к чему. Вам нужно будет немного разобраться в маршрутизации. Вот смотрите:
#!/bin/sh route del default route add 85.21.95.131 gw 172.20.5.254 pppd noauth nobsdcomp nodeflate name dm_monster pty "pptp 85.21.95.131 --nolaunchpppd" sleep 7 route add default ppp0 #!/bin/sh - строка, означает что данный скрипт будет выполняться с помощью командного интерпретатора линукса shell. Должна быть первой. Далее: route del default - удаляет текущий маршрут к шлюзу по умолчанию. Скорее всего при установке линукса вы указали что хотите чтобы ваш компьютер участвовал в сети и указали ip-адрес основного шлюза. Однако, работа в VPN подразумевает что у основным шлюзом у вас должен быть адрес ppp интерфейса. Часто термину "основной шлюз" соответствует термин "маршрут по умолчанию" или "маршрут к шлюзу по умолчанию". У одного компьютера в нормальных условиях может быть только один основной шлюз. Смотрите дальше. route add 85.21.95.131 gw 172.20.20.254 - эта команда верна только для какой нибудь одной определенной сети и только в одном из ее участков. У вас, скорее всего какой-нибудь другой участок или даже какая-нибудь другая сеть и здесь надо подумать. Команда означает то, что к компьютеру с ip-адресом 85.21.95.131 добавляется маршрут через шлюз с адресом 172.20.5.254. Во-первых: перед изменением этой команды вспомните, какой у ip-адрес у вашего основного шлюза и замените адрес 172.20.5.254 данной команды, на его адрес. Во-вторых, вспомните какой ip-адрес у вашего VPN сервера и замените адрес 85.21.95.131 данной команды, на него. Следующая команда: pppd noauth nobsdcomp nodeflate name dm_monster pty "pptp 85.21.95.131 --nolaunchpppd" означает, как вы поняли наверное, запустить демон pppd не используя механизмы компрессии bsdcomp и deflate (сжатие данных на лету для уменьшения нагрузки на сеть и увеличения скорости) . Использовать пароль который прописан в файле /etc/ppp/chap-secrets для логина dm_monster (помните этот файл?) через символьный поток (pty) который получается в результате чтения и записи потока данных клиентом ppp из компьютера (вашего VPN сервера) c ip-адресом 85.21.95.131 (флаг --nolaunchpppd означает не запускать pppd автоматически, мы ведь его сами запустили нам это не нужно). Подождем пока пройдет процесс проверки логина и пароля. pppd в это время передаст ваши логин dm_monster и пароль qwert23 на VPN сервер а он в свою очередь проверит правильны ли они или нет. Если правильны то вы получите доступ к VPN серверу если вдруг кто-то пытается подобрать пароль к логину dm_monster или вы сами неверно набрали пароль, то тогда скорее всего соединится не удастся. На весь этот процесс хватает семь секунд. В редких случах - больше. Поэтому сразу за этой командой следует команда sleep 7. Она то и означает подождать семь секунд перед запуском следующей команды. Ну и последнее. В результате удачного выполнения команды, которая запускает демон pppd, у вас должен появится сетевой интерфейс ppp0 (посмотреть все активные интерфейсы можно командой ifconfig). Теперь можно назначить его шлюзом по умолчанию и это делает команда route add default ppp0. Автор: Archangel |
![]() ![]() ![]() ![]() ![]() |
||||
|
|
Адрес: 141800, Московская обл., г. Дмитров, ул. Чекистская, д. 5 тел.: 8 (496) 229-0-555 e-mail: info@dmitrov.ru | |||||