Настройка openl2tpd в Linux

Материал из campus.mephi.ru

(Различия между версиями)
Перейти к: навигация, поиск
Строка 1: Строка 1:
 +
Данная статья описывает установку и настройку [http://openl2tp.sourceforge.net openl2tpd], рекомендуется также обращаться к официальной документации и сайту разработчиков.
 +
== Установка ==
== Установка ==
Строка 45: Строка 47:
     user_name=your_login
     user_name=your_login
-
=== Комментарии ===
+
=== Комментарии к опциям ===
-
Комметрарии к опциям:
+
 
* Обязательны опции <code>system modify session_establish_timeout=0</code>, <code>tunnel create use_udp_checksums=off</code> и <code>session create use_sequence_numbers=no</code>. Без них у вас ничего (толком) работать не будет.
* Обязательны опции <code>system modify session_establish_timeout=0</code>, <code>tunnel create use_udp_checksums=off</code> и <code>session create use_sequence_numbers=no</code>. Без них у вас ничего (толком) работать не будет.
* С данной конфигурацией <code>ppp profile modify auth_*</code> будет использоваться CHAP для аутентификации, можно добавить <code>auth_chap=no</code> для использования MSCHAPv2 (раньше с ним были проблемы, сейчас, вроде бы, работает). Иные изменения в <code>auth_*</code> опции вносить не рекомендуется.
* С данной конфигурацией <code>ppp profile modify auth_*</code> будет использоваться CHAP для аутентификации, можно добавить <code>auth_chap=no</code> для использования MSCHAPv2 (раньше с ним были проблемы, сейчас, вроде бы, работает). Иные изменения в <code>auth_*</code> опции вносить не рекомендуется.
Строка 55: Строка 57:
:<code>login * pass *<code>
:<code>login * pass *<code>
:Проследите, чтоб права доступа chap-secrets были 0600.
:Проследите, чтоб права доступа chap-secrets были 0600.
 +
 +
== Запуск ==
 +
 +
Для запуска достаточно запустить демон:
 +
openl2tpd
 +
 +
Однако, желательно использовать init-скрипт, установленный на вашей системе, напимер:
 +
/etc/init.d/openl2tpd start
 +
или (для Gentoo):
 +
rc-config start openl2tpd
 +
 +
''Обратите внимание'', что если ваш '''логин состоит только из цифр''', то из-за ошибки в парсере openl2tpd такой конфиг не может быть загружен. В этом случае нужно запустить openl2tpd без чтения конфига и загрузить конфигурационный файл с помощью l2tpconfig:
 +
openl2tpd -c /dev/null
 +
l2tpconfig config restore file=/etc/openl2tpd.conf
 +
 +
Для пользователей Gentoo данная операция уже реализована в [https://bugs.gentoo.org/attachment.cgi?id=249764 init-скрипте].

Версия 02:20, 12 октября 2010

Данная статья описывает установку и настройку openl2tpd, рекомендуется также обращаться к официальной документации и сайту разработчиков.

Содержание

Установка

  1. Необходимо ядро не менее 2.6.23. В ядре должна быть включена поддержка ppp-over-l2tp (CONFIG_PPPOL2TP=y|m).
  2. Установите пакет openl2tp или соберите из исходников. Настоятельно рекомендуется использовать последнию версию (на момент написания статьи 1.7).
    1. Сборки для Debian, FC9 а также последний тарбол доступны на sf.net
    2. Пользователи Gentoo могут взять готовый ebuild [1], не забудьте все вспомогательные файлы!

Настройка

Все необходимые настройки содержатся в файле /etc/openl2tpd.conf, а также могут изменяться во время работы программы с помощью RPC посредством утилиты l2tpconfig. Данная утилита предоставляет мощный CLI-интерфейс для полного управления демоном, настоятельно рекомендуется изучить man l2tpconfig для понимания описанных ниже опций.

Рабочий конфиг

Пример работающего конфига для кампуса МИФИ:

system modify \
    deny_remote_tunnel_creates=yes \
    tunnel_establish_timeout=30 \
    session_establish_timeout=0 \
    tunnel_persist_pend_timeout=60 \
    session_persist_pend_timeout=60

ppp profile modify \
    profile_name=default \
    mtu=1460 \
    mru=1460 \
    auth_peer=no \
    auth_pap=no \
    auth_eap=no \
    auth_mschapv1=no \
    lcp_echo_interval=10 \
    lcp_echo_failure_count=3 \
    default_route=yes

tunnel create \
    tunnel_name=campus \
    dest_ipaddr=10.50.0.18 \
    use_udp_checksums=off \
    trace_flags=31 \
    persist=yes

session create \
    tunnel_name=campus \
    session_name=campus \
    use_sequence_numbers=no \
    user_name=your_login

Комментарии к опциям

  • Обязательны опции system modify session_establish_timeout=0, tunnel create use_udp_checksums=off и session create use_sequence_numbers=no. Без них у вас ничего (толком) работать не будет.
  • С данной конфигурацией ppp profile modify auth_* будет использоваться CHAP для аутентификации, можно добавить auth_chap=no для использования MSCHAPv2 (раньше с ним были проблемы, сейчас, вроде бы, работает). Иные изменения в auth_* опции вносить не рекомендуется.
  • Опции lcp_echo_* и persist обеспечивают автоматическое восстановление соединения после разрывов или подвисаний (когда соединение формально есть, а трафик не идёт).
  • Аргументом dest_ipaddr можно указать любой из ip, принадлежащих l2tp.campus.mephi.ru. Указать dns-имя, к сожалению, нельзя.
  • Аргументом user_name укажите ваш логин.
  • Пароль нужно сохранить в /etc/ppp/chap-secrets в стандарном для этого файла формате, например, таким образом:
login * pass *<code>
Проследите, чтоб права доступа chap-secrets были 0600.

Запуск

Для запуска достаточно запустить демон:

openl2tpd

Однако, желательно использовать init-скрипт, установленный на вашей системе, напимер:

/etc/init.d/openl2tpd start

или (для Gentoo):

rc-config start openl2tpd

Обратите внимание, что если ваш логин состоит только из цифр, то из-за ошибки в парсере openl2tpd такой конфиг не может быть загружен. В этом случае нужно запустить openl2tpd без чтения конфига и загрузить конфигурационный файл с помощью l2tpconfig:

openl2tpd -c /dev/null
l2tpconfig config restore file=/etc/openl2tpd.conf

Для пользователей Gentoo данная операция уже реализована в init-скрипте.