Настройка 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

Всё, заработало!

9.33333
в среднем: 9.3 (18 votes)
sa
sa аватар
User offline. Last seen 1 день 6 часов ago. Offline
Зарегистрирован: 05/11/2008
Спасибо!

Я Вам выдал права "эксперта", сможете править ваши материалы.

______________________________
In the world without walls, who needs windows?

Сергeй (не проверено)
Настройка VPN-клиента на примере Mandriva Linux

как понять и как сделать это "открыть файл /etc/ppp/options.pptp, найдем строчку
# require-mppe-128
и раскомментируем её."?

sa
sa аватар
User offline. Last seen 1 день 6 часов ago. Offline
Зарегистрирован: 05/11/2008
Куда уж проще!

Если этого файла нет, хотя он должен быть...

Ээээ вы с тестовыми файлами работали вообще?

______________________________
In the world without walls, who needs windows?

Гость
1. Что делать если в сети уже

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 не работает... как тогда...?

sa
sa аватар
User offline. Last seen 1 день 6 часов ago. Offline
Зарегистрирован: 05/11/2008
> А если make не работает...

> А если make не работает... как тогда...?

установить, какой у вас дистрибутив?

______________________________
In the world without walls, who needs windows?

Гость
VPN-клиенты не пингуются

Может я что-то упустил в конфигурировании, поднял VPN-сервер, клиент дозваниваются, в их свойствах "использовать основной шлюз в удалённой сети" отключено, т.к. нужна именно виртуальная сеть, но клиенты не видят друг друга. Где копать?

Гость
Я тоже пытаюсь сделать данную

Я тоже пытаюсь сделать данную установки. Завис на том, что нет make. что делать дальше я так и не понял.
Через телнет говорит следующее Linux 2.4.20. подскажите , как мне дальше быть?

Гость
Забыл добавить, что у меня

Забыл добавить, что у меня линук на роутере. Мож я вообще что-то не то делаю.

Гость
по идее если поставить gcc (

по идее если поставить gcc ( С компилятор) то команда make начнет работать.

Гость
о рамблере

Я почему-то все больше и больше начинаю любить Rambler. А вы?

sa
sa аватар
User offline. Last seen 1 день 6 часов ago. Offline
Зарегистрирован: 05/11/2008
Честно? Вообще не пользуюсь.

Честно? Вообще не пользуюсь.

______________________________
In the world without walls, who needs windows?

Гость
Проще поставить vpnpptp - это
10

Проще поставить vpnpptp - это работает где угодно и в любом DE, много универсальнее.
Сайт: http://code.google.com/p/vpnpptp/
На сайте пакеты, инструкции, вики.

Гость
Grammar-nazi негодует

>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. К тому же, у меня смутное чувство, что геттекстовые файлы переводов так не именуются, сверься с доками.

Отправить комментарий

 
  • Адреса страниц и электронной почты автоматически преобразуются в ссылки.
  • Доступны HTML теги: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Строки и параграфы переносятся автоматически.

Подробнее о форматировании

Проверка
Проверка необходима чтобы убедиться что вы человек, а не робот
Image CAPTCHA
Enter the characters shown in the image.

Хостинг от 600 рублей в год