Наши
Сайдбары
   
IRC-канал
Linuxportal.ru
   
Импорт новостей
 
Вход Быстрая регистрация На главную

Поиск:
 
   БИБЛИОТЕКА
     Другие статьи этого раздела:
 

    Сеть
Другие разделы библиотеки:
   БИБЛИОТЕКА
     последние поступления:
 

Hardware
Перевод Serial-Programming-HOWTO
15.05.2006 | San АНДРЕЕВ
Перевод Linux Power Management Support
03.04.2004 | San АНДРЕЕВ
Варианты решения проблем со смещением геометрии монитора.
10.10.2003 | EsTaF
Multimedia
VideoCD для пингвинов
10.10.2003 | Buddha
Смотрим любимые фильмы с помощью MPlayer
23.07.2003 | Alexey Dmitriev
X-сервер
Включаем Bytecode Interpreter в пакете freetype в некоторых дистрибутивах
05.07.2006 | Alexey Dmitriev
НАСТРОЙКА СЕРВЕРА XDMCP ДЛЯ WINDOWS-КЛИЕНТОВ
09.09.2004 | Kotjara
Type1 и truetype шрифты в LaTeX.
03.05.2004 | geekkoo
Разное
Как самому написать концепцию информационной безопасности
22.03.2007 | Crion
Список рекомендуемой литературы
11.09.2006 | San АНДРЕЕВ
The Multi Router Traffic Grapher
02.06.2004 | Crion
Сеть
"Огненная стена" или строим файрвол на базе iptables
15.03.2005 | Alexey Dmitriev
Защищенная почтовая система
08.09.2004 | Crion
Postfix+Cyrus-SASL
18.12.2003 | geekkoo
Система
Написание драйверов под Linux: рекомендации, типичные ошибки и ловушки.
16.01.2007 | Mr.Nobody
Перевод Linux Daemon HOWTO
21.08.2006 | San АНДРЕЕВ
Усыпляем компьютер
11.01.2006 | San АНДРЕЕВ
   БИБЛИОТЕКА Сеть    
Автор статьи:
Дата: 30.07.2003

FreeS/WAN и настройка доступа в Интернет через MS Windows NT сервер с использованием PPTP-клиента

В главе "Виртуальные частные сети, VPN" книги "Linux сервер: пошаговые инструкции инсталляции и настройки" , выход которой запланирован в четвертом квартале 2003 г., содержатся подробные инструкции по инсталляции и настройке: VPN сервера FreeS/WAN и подключению к MS WINDOWS NT VPN-серверу c помощью PPTP-клиента. Приведены примеры конфигурационных файлов.
Процесс инсталляции и настройки VPN-сервера FreeS/WAN описан на примере организации туннеля, объединяющего сети двух офисов с использованием сетей общего пользования, предназначенного для конфиденциальной передачи данных.
Настройка подключения Linux-системы к Интернет через VPN-сервер провайдера с использованием сети общего пользования иллюстрируется примером инсталляции и настройки PPTP- клиента для организации доступа в Интернет из сети города Юбилейного.
При этом, устранены некоторые неточности, допущенные при написании статьи "Настройка VPN в сети ЗАО "Infline", приведенной ниже.

"Настройка VPN в сети ЗАО "Infline"

Холодной осенью 2002г. я заболел и вынужден был три дня посидеть
дома. Возникла необходимость срочно помочь хорошему человеку в
Австралии.Для этого была необходима Linux машина
с доступом в Internet. После чая с малиной в офис идти не хотелось...
Пришлось настраивать VPN. C момента принятия решения до окончания
установки и настройки прошло около часа.Я вспомнил что меня очень
часто спрашивают про настройку VPN под Linux в нашей сетке и пришлось
описать все что я сделал.

3.Немного теории.
Прошу прощения у всех гуру которые будут читать этот документ за
описание простых и очевидных вещей, которые на мой взгляд всетаки
необходимы начинающим линуксоидам.
VPN это чисто микрософтовская разработка и предназначена для
установки шифрованного соединения типа Point-To-Point. Это
аналогично тому соединению которое устанавливается при подключении
к интернет по модему. Однако, в используемом VPN протоколе
PPTP, осуществляется шифрация передаваемой информации с ключом
длиной 128 бит. Это по мнению разработчиков
(а я с ними сильно не согласен) ислючает возможность
перехвата информации (паролей, номеров кредиток...) передаваемой по
сетям общественного пользования,например, от вашего компьютера
к шлюзу. Как и все разработки от Микрософта VPN не очень дружит с Linux.


4.Подготовка к установке
Шаг 1
Для установки и настройки нам необходимо знание следующих параметров
Ваш IP адрес,имя компьютера,login, пароль, IP адреса первичного
и вторичного серверов DNS, IP адрес шлюза, IP адрес внешнего
(интернетовского) интерфейса через который пользователи выходят в сеть.
Ваш IP адрес, login и пароль выдается провайдером. Имя компьютера
Вы определяете сами. Для рботы некоторых сервисов (sendmail,lpd и др.)
необходимо, что бы было задано полное имя компьютера включая домен,
например, bambr.br . Адреса первичного, вторичного серверов DNS,
и адрес внешего (интернетовского)адреса компьтера через который
пользователи выходят в сеть)могут быть определены путем подключения
к VPN в ОС Windows и запуска программы типа winipcfg или взяты из
настоящего документа.
Таким образом будем считать, что
Ваш IP адрес: 192.168.99.99
Имя компьютера: bambr.bn
Логин: svirepyi_bambr (логин учебный)
Пароль: sEcReTnOe_Sl0v0 (пароль учебный)
IP адрес первичного DNS: 212.111.78.3
IP адрес вторичного DNS: 212.111.80.3
IP адрес шлюза: 192.168.2.1
IP адрес внешнего (интернетовского) интерфейса: 212.111.80.10

ШАГ 2
Перед началом установки проверте правильность сетевых настроек.
Для этого проверьте соответствующие файлы, если не знаете какие,
то запустите linuxconf. Если не запускается то установите его.
Если не знаете как установить, то man rpm.

5.Установка
Дальнейшее шаги описаны в предположении вы используете
дистрибутив ASPLInux 7.3 (Vostok) и все команды выдаются от имени
пользователя root.
ШАГ 1
Установка MPPE (Microsoft Point-To-Point Encryption)
Скачиваем с пакет ppp-mppe-2.4.0-4.i386.rpm
в директорию /var/tmp.
Устанавливаем пакет, игнорируя зависимости:
cd /var/tmp
rpm -Uhv --nodeps ppp-mppe-2.4.0-4.i386.rpm .
Получаем сообщение что мы должны собрать модуль ядра самостоятельно.
Для этого необходимо установить пакет исходных кодов ядра. Для этого
Вставляем диск #3 дистрибутива ASPLinux 7.3 привод и:
mount /dev/cdrom /mnt/cdrom
cd /mnt/cdrom/ASPLinux/RPMS/
rpm -i kernel-source-2.4.18-5asp.rpm
Если пакет становлен то вы получите соответствующее сообщение.
Далее:
cd /usr/src/linux-2.4.18-5asp/
cp /boot/config-2.4.18-5asp ./.config
make dep
На экране побегут строки ... По окончани собираем модуль ядра:
cd /usr/lib/ppp-mppe-2.4.0/linux/
./kmodbuild.sh /usr/src/linux-2.4.18-5asp
На экране снова побегут строки и могут появиться предупреждения, мы их игнорируем
Инсталлируем модуль ядра:
kernel-modules/kmodinst.sh kernel-modules/new-2.4.18-5asp .
подправляем файл /etc/modules.conf
строку alias char-major-108 ppp заменяем на char-major-108 ppp_generic
добавляем строку alias ppp-compress-18 mppe

ШАГ2
Установка PPTP
Скачиваем с пакет pptp-linux-1.1.0-1.i386.rpm
в директорию /var/tmp.
И устанавливаем его:
cd /var/tmp
rpm -Uhv pptp-linux-1.1.0-1.i386.rpm .

6.Настройка
Настройку можно осуществить как путем редактирования файлов так и с
помощью pptp-command.
ШАГ 1
Запускаем pptp скрипт:
Выбераем пункт 3:
/usr/sbin/pptp-command
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
Скрипт отображает ваш выбор вместе с информацией об определении локального имени:
Введите сдесь тот имя машины с которой вы соединяетсесь.
В вашем случае нужно вписать имя пользователя и домен к которому вы присоединяетесь
в форме домен\\имя пользователя (имя домена вы можете подсмотреть в windows)
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:svirepyi_bambr

ШАГ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: sEcReTnOe_Sl0v0
Adding bambr 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
Скрипт отображает ваш выбор и список тоннелей, которые были определены
в поставляемом конфигурационном файле.
Если конфигурационный файл не был установлен, то отобразится только один
тоннель "Other", и ваш выбор - 1.
Если конфигурационный файл был установлен, скрипт отображает список тоннелей,
определенных в этом файле.
В данном примере конфигурационный файл отсутствует; переходим к пункту 8.

Add a NEW PPTP Tunnel.

1.) Other
Which configuration would you like to use?: 1
Tunnel Name: BT
Server IP: 192.168.2.1
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( command.
Enter a blank line to stop.
route:

ШАГ8
Скрипт отображает информацию о вашем выборе и вновь отображает список. Чтобы сформировать resolv.conv,
выберете 7 пункт списка:

Local Name and Remote Name should match a configured CHAP secret.
Local Name is probably your NT domain\username.
NOTE: Any backslashes (\) must be doubled (\\).

Local Name: your_domain\\your_username
Remote Name [PPTP]:
Adding my_work_tunnel - 192.168.0.1 - your_domain\\your_username - PPTP
Added tunnel my_work_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",
который предлагает ввести
информацию о DNS серверах(не используйте IP DNS, приведенные здесь,если Вы не являетесь клиентом ЗАО "Инфолайн", использование "чужих" DNS-серверов -плохой тон ! ):

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: br
Enter the IP addresses of your nameservers
Enter a blank IP address to stop.
Nameserver IP Address:212.111.78.3
Nameserver IP Address:212.111.80.3
Nameserver IP Address:

ШАГ 10
Скрипт отображает информация о resolv.conv и вновь отображает его список.
Выбираем тоннель по умолчанию
(пункт , а потом выберете пункт 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.) B_T
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

7. Проверка работоспособности
Шаг 1
Регистрируемся в системе как обычный пользователь.
С помощью команды su получаем права супер пользователя.
Отменяем маршрутизацию по умолчанию
/sbin/route del default
ШАГ 2
Устанавливаем VPN соединение
/usr/sbin/pptp-command start
В файле /var/log/messages должны появиться строки:
Oct 27 15:07:00 bambr pptp[2168]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:580]: Client connection established.
Oct 27 15:07:01 bambr pptp[2168]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:708]: Outgoing call established (call ID 0, peer's call ID 50005).
Oct 27 15:07:01 bambr pppd[2170]: pppd 2.4.0 started by root, uid 0
Oct 27 15:07:01 bambr pppd[2170]: Using interface ppp0
Oct 27 15:07:01 bambr pppd[2170]: Connect: ppp0 <--> /dev/pts/1
Oct 27 15:07:01 bambr /etc/hotplug/net.agent: assuming ppp0 is already up
Oct 27 15:07:06 bambr pptp[2168]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:757]: PPTP_SET_LINK_INFO recieved from peer_callid 0
Oct 27 15:07:06 bambr pptp[2168]: log[pptp_dispatch_ctrl_packet:pptp_ctrl.c:760]: send_accm is 00000000, recv_accm is FFFFFFFF
...
Oct 27 15:07:06 bambr pppd[2170]: MPPE 128 bit, stateless compression enabled
Oct 27 15:07:06 bambr pppd[2170]: local IP address 212.111.80.34
Oct 27 15:07:06 bambr pppd[2170]: remote IP address 212.111.80.10
Смотрим таблицу процессов:
ps -ax | grep /pp
Там должны быть такие процессы:
2166 pts/3 S 0:00 /usr/sbin/pptp
2168 pts/3 S 0:00 /usr/sbin/pptp
2170 pts/1 S 0:00 /usr/sbin/pppd /dev/pts/1 38400 call W
2210 pts/3 S 0:00 grep /pp
ШАГ 3
Добавляем в таблицу маршрутизации шлюзом по умолчанию 212.111.80.10
/sbin/route add default gw 212.111.80.10
Смотрим таблицу маршрутизации
/sbin/route
Она должна выглядеть примерно так:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
212.111.80.10 * 255.255.255.255 UH 0 0 0 ppp0
192.168.0.0 * 255.255.0.0 U 0 0 0 eth0
127.0.0.0 * 255.0.0.0 U 0 0 0 lo
default 212.111.80.10 0.0.0.0 UG 0 0 0 ppp0
Завершаем сеанс пользователя root
exit
ШАГ 4
Проверяем работоспособность тоннеля.
ping 211.112.78.6 (это omega2.infline.ru)
Если получаем ответ то пробуем
ping omega2.infline.ru
Если и в этом случае получаем ответ то все нормально(если нет проверяем
настройки DNS серверов), запускаем любимый
браузер,например, Opera, и лазим по сети...
ШАГ 5
Останавливаем соединение
/usr/sbin/pptp-command stop

по окончании можно в файле /var/log/messages посмотреть сколько мы скачали
Oct 27 15:17:34 bambr pppd[2901]: Connect time 9.6 minutes.
Oct 27 15:17:34 bambr pppd[2901]: Sent 39973 bytes, received 218494 bytes.

ЕСЛИ НЕ ПОЛУЧАЕТСЯ
1) Проверьте сетевые настройки.
2) Почитайте раздел
Все очень подробно и интересно, но по английски.

Да забыл сказать, что для обеспечения нормальной скорости соединения ее нужно указать в файле /etc/ppp/options.pptp. А то многие говорят, что Linux медленее Windows.
Пример /etc/ppp/options.pptp (установка скорости в самом конце):
#
# Lock the port
#
lock
#Это отладка,ее можно включить при поиске ошибок в настройке.
#debug
#
# We don't need the tunnel server to authenticate itself
#
noauth
#
# Turn off transmission protocols we know won't be used
#
nobsdcomp
nodeflate
#
# We want MPPE
#
mppe-40
mppe-128
mppe-stateless
#
# We want a sane mtu/mru
#
mtu 1000
mru 1000
#
# Time this thing out of it goes poof
#
lcp-echo-failure 10
lcp-echo-interval 10
#Это скорость в Linux только фиксированные значения в *BSD - #любая
115200



Все статьи раздела "Сеть"

©"Linuxportal.Ru". Материалы сайта можно
использовать свободно при условии
сохранения этой свободы при дальнейшем
распространении, если явно не указано иное

Дизайн и программирование:

Поставьте
нашу кнопку:
Получить код кнопки
Linux Portal.ru ::: Линукс Портал.ру
Наш партнер: