Translation(s): Русский

(!) ?Обсуждения


OpenL2TP >> Установка OpenL2TP

Установка OpenL2TP

Инструкции по установке

OpenL2TP требует драйвер ядра (pppol2tp), драйвер встроен в ядро, начиная с версии 2.6.23. Если вы используете более раннюю версию ядра, то, в таком случае, используйте openl2tp-0.19 вместе с пакетом pppol2tp-kmod.

Бинарная установка


Установите бинарный пакет через менеджер пакетов вашего дистрибутива.

Для пакетов дистрибутива Fedora, чтобы установить в автозагрузку программу OpenL2TP, сделайте:

chkconfig openl2tpd on

Для пакетов дистрибутива Debian, openl2tpd будет запускаться при загрузке автоматически, после того как пакет будет установлен.

Ручная установка


  1. Если требуется, отредактируйте настраиваемые параметры сборки в верху файла l2tp_private.h. Обычно этого делать не нужно.

  2. Если нужно, то отредактируйте настраиваемые параметры настройки в файле "Make", или, при вызове make, просто переустановите свои значения вместо значений по-умолчанию. Параметры настройки, доступные во время компиляции, более подробно описаны ниже.

  3. Соберите и установите программное обеспечение.

make
make install

"make install" установит следующие файлы:

/usr/bin/l2tpconfig
/usr/sbin/openl2tpd
/usr/lib/openl2tp/ppp_unix.so
/usr/share/man/man1/l2tpconfig.1.gz
/usr/share/man/man4/openl2tp_rpc.4.gz
/usr/share/man/man7/openl2tp.7.gz
/usr/share/man/man8/openl2tpd.8.gz

Для того, чтобы установить в другой каталог, т.н. скажем в "/tmp", используйте:

make install DESTDIR=/tmp

Для кросс-компиляции, укажите префикс CROSS_COMPILE, то есть:

make CROSS_COMPILE=ppc_7xx-

Вам также, возможно, потребуется указать READLINE_DIR в случае, если readline не установлен в дереве кросс-компилятора.

Проверьте наличие записей для l2tp в файле /etc/services. Должны быть строчки, похожие на:

l2tp 1701/tcp l2f
l2tp 1701/udp l2f

Тест после установки


modprobe pppol2tp

В случае, если у вас нет modprobe (на некоторых встроенных платформах), то сначала должны быть загружены эти PPP-модули:

insmod drivers/net/slhc.ko
insmod drivers/net/ppp_generic.ko
insmod drivers/net/pppox.ko
insmod drivers/net/pppol2tp.ko

/usr/sbin/pppd debug nodetach noauth plugin pppol2tp.so pppol2tp 42

на выходе должно быть что-то вроде этого

Plugin pppol2tp.so loaded.
Given FD for PPPoL2TP socket invalid (Bad file descriptor)

/usr/sbin/openl2tpd

/usr/bin/l2tpconfig
l2tp> system show version
l2tp> tunnel create tunnel_name=one dest_ipaddr=127.0.0.1
l2tp> tunnel list
l2tp> ppp profile create profile_name=one local_ipaddr=10.3.1.1 remote_ipaddr=10.3.1.2
l2tp> ppp profile modify profile_name=default auth_none=yes
l2tp> session create tunnel_name=one session_name=one ppp_profile_name=one
l2tp> session list tunnel_name=one
l2tp> session show tunnel_name=one session_name=one

Если всё было установлено правильно, должно появиться два новых PPP-интерфейса с IP-адресами, заданными выше.


Заметьте, что openl2tpd вызывает pppd из /usr/sbin/pppd. Если требуется альтернативное расположение для pppd, openl2tpd должен быть перенастроен и пересобран как описано выше.

Параметры настройки, доступные во время компиляции


При желании, можно скомпилировать OpenL2TP с поддержкой множества функциональных возможностей. Каждой функциональной возможностью управляет директива препроцессора, которая называется "L2TP_FEATURE_XXX". Доступные функциональные возможности записаны в файл l2tp_options.h файлом makefile на высоком уровне. Для изменения настроек функциональных возможностей, подредактируйте файл makefile в этом каталоге, или укажите параметры настройки при вызове make, т.н. :

make L2TP_FEATURE_LNS_SUPPORT=n

Если доступная память или место в файловой системе на жёстком диске не сильно ограничены, большинство пользователей должны использовать настройки по-умолчанию.

Параметры настройки, доступные во время компиляции:

L2TP_FEATURE_LAC_SUPPORT

Включить поддержку LAC. Для простых клиентов L2TP (т.н. соединяющихся с VPN предприятия) должна быть включена поддержка LAC.

L2TP_FEATURE_LAIC_SUPPORT

LAIC - это Входящие Вызовы LAC (англ. "LAC Incoming Calls", "LAIC"). Название "LAIC" может сбить вас с толку, потому что "входящие" - это с точки зрения LNS. Поэтому, в случае если Вы соединяетесь с удалённым LNS как клиент, то потребуется поддержка LAIC. Включено по-умолчанию, если включён "LAC_SUPPORT".

L2TP_FEATURE_LAOC_SUPPORT

LAOC - это Исходящие Вызовы LAC (англ. "LAC Outgoing Calls", "LAOC"). LAOC - это сеансы, инициируемые от LNS. Поддержка LAOC включена по-умолчанию, когда включён "LAC_SUPPORT".

L2TP_FEATURE_LNS_SUPPORT

Включить поддержку LNS. В случае, если OpenL2TP используется в качестве VPN-сервера типа L2TP, куда подсоединяются один или более клиентов, такие как пользователи VPN типа L2TP от Microsoft , то требуется поддержка LNS.

L2TP_FEATURE_LNIC_SUPPORT

LNIC - это Входящие вызовы LNS (англ. "LNS Incoming Calls", "LAOC"). В случае, если OpenL2TP используется в качестве VPN-сервера, то требуется поддержка LNIC. Включено по-умолчанию, если включён "LNS_SUPPORT".

L2TP_FEATURE_LNOC_SUPPORT

LNOC - это Исходящие вызовы LNS (англ. "LNS Outgoing Calls", "LNOC"), то есть инициируются от LNS. Включено по-умолчанию, если включён "LNS_SUPPORT".

L2TP_FEATURE_RPC_MANAGEMENT

По проекту, OpenL2TP поддерживает стандартное сетевое средство, называемое RPC, Remote Procedure Call, Вызов удалённых процедур. Это позволяет удалённому (возможно) приложению создавать запросы для OpenL2TP, чтобы им управлять или запросить с него информацию. Однако, в некоторых окружающих средах, особенно в некоторых встроенных системах, RPC не доступен из-за ограничений ресурсов. В таких окружающих средах может быть отключён RPC. Заметьте, что, когда RPC отключён, то приложение l2tpconfig не доступно - OpenL2TP должен быть настроен, используя локальный файл настроек (смотрите ниже).

L2TP_FEATURE_LOCAL_CONF_FILE

OpenL2TP поддерживает настройку через локальный файл настроек (/etc/openl2tpd.conf, если не задано значение параметра-ключа "-c" из командной строки). Заметьте, что полностью одна и та же работа может быть сделана, используя команду l2tpconfig - "config restore", когда доступно управление по RPC. В случае, когда эта функциональная возможность активирована, демону openl2tpd может быть отправлен сигнал SIGHUP для того, чтобы openl2tpd перечитал свой файл настроек. По-умолчанию эта функциональная возможность отключена, так как она увеличивает размер файла openl2tpd приблизительно на 15%, и RPC - это всё таки способ требующий привелегий суперпользователя для управления приложением. Когда RPC доступен, то механизм "config restore" становится методом требующим привелегии суперпользователя для того, чтобы восстановить настройки. Пример использования механизма "config restore" находится в скриптах автозагрузки, в подкаталоге каталога "/etc". Смотрите ниже.

L2TP_FEATURE_LOCAL_STAT_FILE

При помощи этой функциональной возможности OpenL2TP будет записывать файлы состояния в каталог "/var/run/openl2tpd/" для каждого профиля, peer, туннеля и сеанса. Затем могут использоваться команды shell, такие как "ls" и "cat" для того, чтобы получить информацию о настройках и информацию о состоянии от OpenL2TP. Туннели и сеансы при сохранении записывают уникальные номера идентификатора туннеля (tunnel-id) L2TP и идентификатора сеанса (session_id). В случае, когда эта функциональная возможность активирована, то размер openl2tpd увеличится приблизительно на 10%, так как код для распечатки структуры программы каждого контекста будет включён в демон openl2tpd. (Тот же самый код присутствует и в утилите командной строки, l2tpconfig.) Имеется также задержка времени выполнения, так как информация в файлы записывается при каждом событии, таком как создание, изменение или удаление сетевого запроса. По-умолчанию эта функциональная возможность отключена. Большинство администраторов не должно включить эту функциональную возможность - она предоставляется для окружающих сред, у которых нет доступа к RPC. В случае, когда данная функциональная возможность включена в скомпилированное приложение, то задействовать функциональную возможность можно используя параметр-ключ -S при запуске openl2tpd.

Запуск

Пользователи ?RedHat Fedora для управления OpenL2TP, могут установить скрипты запуска в каталог /etc. Для того, чтобы установить скрипты, скопируйте их в каталог /etc, например:

tar cf - etc | (cd /; tar xpf -)

service openl2tpd start
service openl2tpd status
service openl2tpd stop

Для автоматического запуска OpenL2TP во время загрузки, используйте chkconfig, например:

chkconfig --add openl2tpd

При желании, скрипт запуска будет применять сохранённые настройки из файла. Используйте l2tpconfig утилиту для настройки OpenL2TP, затем используйте следующую команду утилиты l2tpconfig для того, чтобы сохранить настройки в файл:

l2tp> config save file=

Скопируйте файл в куда-нибудь подходящее место (рекомендуется /usr/lib/openl2tp), а затем отредактируйте "/etc/sysconfig/openl2tpd" для того, чтобы изменить указатель "OPENL2TPD_CONFIG_FILE" на путь к вашему файлу.

L2TP/IPSec

OpenL2TP может использоваться с пакетом ipsec-tools (racoon/setkey) для того, чтобы предоставлять L2TP/IPSec клиентам, таким как клиенты операционной системы Windows XP. Сначала должна быть настроена База данных Политики Безопасности IPSec (IPSec Security Policy Database), используя утилиту setkey(8) из пакета ipsec-tools. Демон racoon(8) предоставляет поддержку протокола IKE. Затем, запустите openl2tpd с параметром-ключём "-p ipsec.so" для того, чтобы установить IPSec-правила на обработку по требованию запросов L2TP-тоннелей, т.н.:

bash# openl2tpd -p ipsec.so

Для настроек, где имеется множество L2TP/IPSec клиентов за шлюзом NAT в одной или более удалённых сторонах, необходимы дополнительное ядро и патчи ipsec-tools. Для деталей смотрите файл "README" в подкаталоге ipsec.

Ссылки