Ключевые слова:pptp, vpn, linux, mandrake, (найти похожие документы)
From: Алексей Козлов (Scorpio) <scorpija at bk.ru>
Newsgroups: http://linuxshop.ru/unix4all/
Date: Mon, 28 Aug 2004 14:31:37 +0000 (UTC)
Subject: Настройка PPTP клиента в Linux Mandrake-9.2
Оригинал: http://linuxshop.ru/unix4all/?id=432
С появлением домашних сетей растет и уровень админов, которые следят
за их работоспособностью. Вот и о безопасности сетей можно говорить не
по наслышке. Время идет... И все больше стала встречаться ситуция,
когда пользователи стали выходить в интернет через VPN. И как быть,
когда уже вот сколько времени стоит любимая система, а побродить по
просторам "глобальной паутины" по старинке уже не получается? Обложив
себя словарями, закупив пиво и вспомнив барона Мюнхаузена, сел я за
свою "консоль" и...
Эта статья преследует цель кратко описать шаги по настройке
PPTP-клиента на Linux Mandrake-9.2. Все тестировалось и настраивалось
на Linux Mandrake-9.2 (Download Edition) и смею вас уверить, что у
меня все заработало, иначе никто не увидел бы этой самой статьи. В
других дистрибутивах похоже все, но есть свои тонкости.
Что необходимо иметь:
* установочные диски дистрибутива Linux Mandrake-9.2 (Download Edition)
* рабочую систему на вашем компьютере (как это сделать смотрите на CD#1)
* установленное ядро Linux Mandrake-9.2, которое уже включает
поддержку "OpenSSL licensed MPPE module"
* в дистрибутив Linux Mandrake-9.2 уже входит пакет PPP с поддержкой
MPPE, установите его
* с CD#2 дистрибутива Linux Mandrake-9.2 установите пакет
pptp-linux-1.3.x.
* имя домена по умолчанию (например, mydomain.lan)
* адрес DNS-сервера (192.168.1.10)
* IP адрес PPTP сервера (192.168.1.254)
* PPTP логин (username)
* свой IP адрес (192.168.1.55)
* адрес маршрутизатора вне сервера PPTP (200.200.200.1)
Заметка: надеюсь читатель знаком, как настроить сеть под линуксом и
как устанавливать программы. Иначе, обращайтесь к соответствующему
рководству.
настройка PPTP коммандным скриптом
----------------------------------
PPTP-скрипт позволяет сделать следующее:
* настроить необходимые файлы для работы в сети
* выбрать VPN туннель
* соедениться с VPN туннелем
* отсоединиться от VPN туннеля
* восстановить ваши файлы сетевых настроек (например, resolv.conf) в
начальное состояние
* выбрать VPN туннель по умолчанию
* запускать PPTP комманды в консоли
Далее по пунктам будет расписаны необходимые действия. То что нужно
будет ввести с клавиатуры выделено жирным шрифтом.
1. Запустите pptp скрипт (из под root):
[yoursys]# /etc/init.d/pptp
После выполнения отобразится лист меню. Выбираете пункт 3:
1.) start
2.) stop
3.) setup
4.) quit
What task would you like to do?: 3
2. Далее выбираем пункт 2:
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) List PPTP Tunnels
5.) Add a NEW PPTP Tunnel
6.) Delete a PPTP Tunnel
7.) Configure resolv.conf
8.) Select a default tunnel
9.) Quit
?: 2
3. Далее выводится информация о вводе вашего имени (вводим, если PPTP
сервер работает под управлением WindowsNT, тогда вместе с доменом... в
противном случае - только PPTP логин):
Add a NEW CHAP secret.
NOTE: Any backslashes () must be doubled (\).
Local Name:
This is the 'local' identifier for CHAP authentication.
NOTE: If the server is a Windows NT machine, the local name
should be your Windows NT username including domain.
For example:
domain\username
Local Name: mydomain.lan\username
4. Далее оставляем как есть:
Remote Name:
This is the 'remote' identifier for CHAP authentication.
In most cases, this can be left as the default. If must be
set if you have multiple CHAP secrets with the same local name
and different passwords. Just press ENTER to keep the default.
Remote Name [PPTP]:
5. Просто пароль.
Password:
This is the password or CHAP secret for the account specified. The
password will not be echoed.
Password: your_password
Adding secret mydomain.lan\username PPTP *****
6. Далее отображается снова меню для выбора. Выбираем пункт 5:
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) List PPTP Tunnels
5.) Add a NEW PPTP Tunnel
6.) Delete a PPTP Tunnel
7.) Configure resolv.conf
8.) Select a default tunnel
9.) Quit
?: 5
7. Далее отображается либо список уже существующих туннелей и ввода
нового, либо только ожидание выбора ввода нового туннеля.
Add a NEW PPTP Tunnel.
1.) Other Which configuration would you like to use?: 1
Tunnel Name: my_tunnel
Server IP: 192.168.1.254
What route(s) would you like to add when the tunnel comes up?
This is usually a route to your internal network behind the PPTP server.
You can use TUNNEL_DEV and DEF_GW as in /etc/pptp.d/ config file
TUNNEL_DEV is replaced by the device of the tunnel interface.
DEF_GW is replaced by the existing default gateway.
The syntax to use is the same as the route(8) command.
Enter a blank line to stop.
route: add -host 192.168.1.254 gw DEF_GW
route: add -net 192.0.0.0/8 TUNNEL_DEV
route:
Снова возвращаемся в главное меню и выбираем пункт 7 для правки resolv.conf:
Local Name and Remote Name should match a configured CHAP secret.
Local Name is probably your NT domainusername.
NOTE: Any backslashes () must be doubled (\).
Local Name: mydomain.lan\username
Remote Name [PPTP]:
Adding my_tunnel - 192.168.254 - mydomain.lan\username - PPTP
Added tunnel my_tunnel
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) List PPTP Tunnels
5.) Add a NEW PPTP Tunnel
6.) Delete a PPTP Tunnel
7.) Configure resolv.conf
8.) Select a default tunnel
9.) Quit
?: 7
9. Скрипт спрашивает о файле resolv.conf; оставим все по умолчанию.
Если имеется уже настроенный файл, который используется, то не
выбираем "Other" (тогда отобразится существующий файл) и переходим к
шагу 10.
Если по каким-то причинам вы не хотите использовать существующие
настройки, тогда пункт "Other", который запросит дополнительную
информацию (не имеет смысла использовать мои настройки, у вас все
должно бытьь по своему, конкретно ваш частный случай!!!):
Use a PPTP-specific resolv.conf during tunnel connections? [Y/n]:
1.) Other
Which configuration do you want to use?: 1
What domain names do you want to search for partially
specified names?
Enter all of them on one line, seperated by spaces.
Domain Names: mydomain.lan
Enter the IP addresses of your nameservers
Enter a blank IP address to stop.
Nameserver IP Address: 192.168.0.10
Nameserver IP Address: 192.168.0.11
Nameserver IP Address:
10. Скрипт отобразит информацию из resolv.conf и снова отобразит лист
меню. Выберите туннель по умолчанию в пункте 8, а затем выберите пункт
9 для выхода из процедуры настройки:
Copying /etc/resolv.conf to /etc/resolv.conf.real...
Creating link from /etc/resolv.conf.real to /etc/resolv.conf
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) List PPTP Tunnels
5.) Add a NEW PPTP Tunnel
6.) Delete a PPTP Tunnel
7.) Configure resolv.conf
8.) Select a default tunnel
9.) Quit
?: 8
1.) my_tunnel
2.) cancel
Which tunnel do you want to be the default?: 1
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) List PPTP Tunnels
5.) Add a NEW PPTP Tunnel
6.) Delete a PPTP Tunnel
7.) Configure resolv.conf
8.) Select a default tunnel
9.) Quit
?: 9
11. Вот и снова вернулись в родную до боли консоль
запуск PPTP при помощи pptp-скрипта
-----------------------------------
1. Запустите pptp скрипт (из под root):
[yoursys]# /etc/init.d/pptp
После выполнения отобразится лист меню. Выбираете пункт 1:
1.) start
2.) stop
3.) setup
4.) quit
What task would you like to do?: 1
Затем из списка меню выбираем наш туннель и жмем гашетку...
остановка PPTP коммандой pptp
-----------------------------
[yoursys]# /etc/init.d/pptp stop
куда обращаться, если что...
Ко мне... смотри ниже...
небольшое дополнение
Если вдруг не работает, а в логах нечто похожее:
log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:580]: Client connection established.
log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:708]: Outgoing call established (call ID 0, peer's call ID 0).
log[decaps_gre:pptp_gre.c:215]: short read (4294967295): Protocol not available
log[callmgr_main:pptp_callmgr.c:245]: Closing connection
log[pptp_conn_close:pptp_ctrl.c:307]: Closing PPTP connection
log[call_callback:pptp_callmgr.c:88]: Closing connection
Выявляется непрохождением ICMP пакетов. Причина как правило
заключается в некорректной работе GRE-sockets. Это чаще всего
встречается, когда VPN сеть находится в том же адресном диапазоне, что
и локальная. Личится загрузкой GRE-module
# modprobe ip_gre
Для пущей удобности в настройке клиента можно достать и установить
pptp-php-gtk GUI клиента (http://quozl.netrek.org/pptp/php-gtk/)
Ну вот и все, пожалуй...