Настройка VPN-клиента на примере Mandriva Linux
Автор Новиков Александр (C) novikov_av(@)bk(.)ru для проекта GNU/Linux ХМАО-Югра
Данная статья является пошаговым руководством по настройке VPN-соединения в следующей системе: сервер под управлением Windows Server 2003 осуществляет авторизацию пользователей домена для доступа в интернет. Авторизация осуществляется сервером удаленного доступа Windows, при этом между клиентом и сервером устанавливается VPN-соединение по протоколу MS CHAP v2 со 128-битным шифрованием. На клиенте установлена операционная система Mandriva Linux 2007 с ядром Kernel 2.6.17-5mdv.
1. Ставим pppd
pppd – это демон протокола PPP (Point-to-Point Protocol) . Последнюю версию качаем отсюда:
ftp://ftp.samba.org/pub/ppp/ppp-2.4.4.tar.gz
Распаковываем:
[root@localhost]# tar zxvf ppp-2.4.4.tar.gz
Устанавливаем:
[root@localhost]# ./configure
[root@localhost]# make
[root@localhost]# make install
2. Устанавливаем pptpclient
pptpclient – утилита, позволяющая осуществлять клиентский доступ по протоколу PPTP (Point-to-Point Tunneling Protocol). Свежую версию pptpclient берем здесь:
http://internap.dl.sourceforge.net/sourceforge/pptpclient/pptp-1.7.2.tar.gz
Распаковываем архив:
[root@localhost]# tar zxvf pptp-1.7.2.tar.gz
Перед началом установки убедимся, что файл pppd находится в папке /usr/sbin:
[root@localhost]# which pppd
В случае положительного результата приступаем к установке pptp-клиента, иначе открываем Makefile, ищем строчку
PPPD = /usr/sbin/pppd
и прописываем правильный путь к нашему демону pppd. У меня он находился в /usr/local/sbin/pppd, поэтому я написал так:
PPPD = /usr/local/sbin/pppd
Производим установку:
[root@localhost]# make
[root@localhost]# make install
3. Настройка соединения при помощи скрипта pptp-command
После установки всех необходимых компонентов, остается только правильно настроить соединение. Это удобно делать при помощи скрипта pptp-command, который качаем отсюда:
http://depositfiles.com/files/4112ylysg
Рассмотрим процесс настройки:
[root@localhost]# pptp-command [Enter]
Появится меню:
1.) start
2.) stop
3.) setup
4.) quit
What task would you like to do?: 3 [Enter]
Выбираем пункт 3 (Setup).
1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit
?: 1 [Enter]
Здесь выберем пункт 1 (Manage CHAP secrets), чтобы попасть в меню управления паролями CHAP.
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
?: 2 [Enter]
Указываем 2 для выбора пункта Add a New CHAP secret (добавление нового CHAP-пароля).
Появляется сообщение:
NOTE: Any backslashes (\) must be doubled (\\).
Local Name:
This is the ‘local’ identifier for CHAP authentication.
NOTE: If the server is a Wintows NT machine, the local name should be your Windows NT username including domain.
For example: domain\\username
Нужно указать наш логин в домене, причем имя домена тоже должно быть указано.
Local Name: MegaDomain\\Vasya_Bukin [Enter]
Remote Name:
This is the ‘remote’ identifier for CHAP authentication.
In most cases, this can be left as the default. It 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 оставляем по умолчанию, поэтому просто нажмем ENTER.
Remote Name [PPTP]: [Enter]
Password:
This is the password or CHAP secret for the account specified. The password will not be echoed.
Password: Qwerty [Enter]
Теперь, посмотрим, что у нас получилось – выберем пункт 1 (Просмотр CHAP-паролей)
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
?: 1 [Enter]
Current CHAP-secrets:
MegaDomain\\Vasya_Bukin PPTP Qwerty *****
Эта информация обычно хранится в файле /etc/ppp/chap-secrets.
Поднимемся в верхнее меню:
1.) List CHAP secrets
2.) Add a New CHAP secret
3.) Delete a CHAP secret
4.) Quit
?: 4 [Enter]
Создадим новый PPTP-туннель (пункт 4)
1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit
?: 4 [Enter]
Add a NEW PPTP Tunnel
1. ) Other
Which configuration would you like to use?: 1 [Enter]
Tunnel Name: Internet [Enter]
Server IP: 192.168.1.1 [Enter]
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 substitution keywords as in /etc/pptp.d/ config file
-TUNNEL_DEV is the tunnel interface.
-DEF_GW is the existing default gateway.
-IPLOCAL is the local IP address.
-IPREMOTE is the remote IP address.
The syntax to useis the same as the route(8) command.
Enter a blank line to stop.
route: add default TUNNEL_DEV [Enter]
route: [Enter]
Local Name and Remote Name should match a configured CHAP or PAP secret.
Local Name is probably your NT domain\username.
NOTE: Any backslashes (\) must be doubled (\\).
Local Name: MegaDomain\\Vasya_Bukin [Enter]
Remote Name [PPTP]: [Enter]
Adding Internet – 192.168.1.1 - MegaDomain\\Vasya_Bukin – PPTP
Added tunnel Internet
1.) Manage CHAP secrets
2.) Manage PAP secrets
3.) List PPTP Tunnels
4.) Add a NEW PPTP Tunnel
5.) Delete PPTP Tunnel
6.) Configure resolv.conf
7.) Select a default tunnel
8.) Quit
?: 8 [Enter]
4. Последний штрих
Напоследок откроем файл /etc/ppp/options.pptp, найдем строчку
# require-mppe-128
и раскомментируем её.
5. Проверяем работоспособность
[root@localhost]# pptp-command start [Enter]
Using interface ppp1
Connect: ppp1<-->/dev/pts/3
CHAP authentication succeded
MPPE 128-bit stateless compression enabled
local IP address 192.168.0.15
remote IP address 192.168.0.10
pptp-command: added route add default ppp1
Tunnel Internet is active on ppp1.
Local IP Address: 192.168.0.15
Всё, заработало!
как понять и как сделать это "открыть файл /etc/ppp/options.pptp, найдем строчку
# require-mppe-128
и раскомментируем её."?
Если этого файла нет, хотя он должен быть...
Ээээ вы с тестовыми файлами работали вообще?
1. Что делать если в сети уже есть шлюз по умолчанию?
При создании туннеля нужно делать route: add default TUNNEL_DEV [Enter]
После чего шлюз по умолчанию заменяется на ip-адрес выданный сервером, соответственно не видно удаленный ни сервер vpn ни интернет. Команда ifconfig показывает, дико увеличивающееся, количество входящих пакетов.
Если же оставить шлюз старый то исходящих.
Как правильно прописать маршруты?
2.
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 substitution keywords as in /etc/pptp.d/ config file
-TUNNEL_DEV is the tunnel interface.
-DEF_GW is the existing default gateway.
-IPLOCAL is the local IP address.
-IPREMOTE is the remote IP address.
The syntax to useis the same as the route(8) command.
Enter a blank line to stop.
Что за файл должен быть в папке /etc/pptp.d/? Там пусто. Может его нужно создать и там что-то прописать?
3.
"как понять и как сделать это "открыть файл /etc/ppp/options.pptp, найдем строчку
# require-mppe-128
и раскомментируем её."?"
У меня, например, файл есть, но такого параметра нет. Если его добавить, то parametr unrecognized. Зачем вообще этот параметр?
Спасибо.
А если make не работает... как тогда...?
> А если make не работает... как тогда...?
установить, какой у вас дистрибутив?
Может я что-то упустил в конфигурировании, поднял VPN-сервер, клиент дозваниваются, в их свойствах "использовать основной шлюз в удалённой сети" отключено, т.к. нужна именно виртуальная сеть, но клиенты не видят друг друга. Где копать?
Я тоже пытаюсь сделать данную установки. Завис на том, что нет make. что делать дальше я так и не понял.
Через телнет говорит следующее Linux 2.4.20. подскажите , как мне дальше быть?
Забыл добавить, что у меня линук на роутере. Мож я вообще что-то не то делаю.
по идее если поставить gcc ( С компилятор) то команда make начнет работать.
Я почему-то все больше и больше начинаю любить Rambler. А вы?
Честно? Вообще не пользуюсь.
Проще поставить vpnpptp - это работает где угодно и в любом DE, много универсальнее.
Сайт: http://code.google.com/p/vpnpptp/
На сайте пакеты, инструкции, вики.
>VPNPPTP is a simple configure and use program for VPN (aspecialy MS VPN) connection on Linux.
>aspecialy
Не говоря уже о кривом английском. Мои познания в нём, конечно, тоже большей частью на уровне read-only, но даже google translate предлагает куда более лучший (и без грамматических ошибок, заметь) вариант:
>VPNPPTP - it is easy to use and configure the software for VPN-connections via PPTP (especially MS Windows VPN PPTP connections) for Linux.
Из Install.txt:
>For install from source you need same steps:
Я даже затрудняюсь перевести последние четыре слова, но гугль помог: >нужно же действия
Ну правда же! Очень нужно же действия же! xD
Глагол to do куда дел? :/
Короче, начинание, конечно же, благое, но нужно английский хоть немного подучить и код в порядок привести. Сменить названия на человеческие с безликих unit1.pas и т.п., это касается и содержимого файлов. И изначально лучше делать интефейс на английском, и только потом переводить на русский. Кстати, у тебя в ponof.russian.po кодировка не utf8. К тому же, у меня смутное чувство, что геттекстовые файлы переводов так не именуются, сверься с доками.



Я Вам выдал права "эксперта", сможете править ваши материалы.
______________________________
In the world without walls, who needs windows?