Настройка openl2tpd в Linux
Материал из campus.mephi.ru
Строка 37: | Строка 37: | ||
tunnel create \ | tunnel create \ | ||
tunnel_name=campus \ | tunnel_name=campus \ | ||
- | dest_ipaddr=10.50.0. | + | dest_ipaddr=10.50.0.1x \ |
use_udp_checksums=off \ | use_udp_checksums=off \ | ||
trace_flags=31 \ | trace_flags=31 \ | ||
Строка 50: | Строка 50: | ||
=== Комментарии к опциям === | === Комментарии к опциям === | ||
+ | * Вместо x для 1-го корпуса надо написать 8 (10.50.0.18), для 2-го - 6 (10.50.0.16). Можно также сделать <code>host l2tp</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>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> опции вносить не рекомендуется. |
Версия 09:41, 25 июля 2012
Данная статья описывает установку и настройку openl2tpd, рекомендуется также обращаться к официальной документации и сайту разработчиков.
Содержание |
Установка
- Необходимо ядро не менее 2.6.23. В ядре должна быть включена поддержка ppp-over-l2tp (
CONFIG_PPPOL2TP=y|m
). - Установите пакет openl2tp или соберите из исходников. Настоятельно рекомендуется использовать последнию версию (на момент написания статьи 1.7).
- Сборки для Debian, FC9 а также последний тарбол доступны на sf.net
- Пользователи Gentoo могут взять готовый ebuild тут, не забудьте все вспомогательные файлы!
- Пользователям Arch Linux openl2tp доступен в AUR.
Настройка
Все необходимые настройки содержатся в файле /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.1x \ 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
Комментарии к опциям
- Вместо x для 1-го корпуса надо написать 8 (10.50.0.18), для 2-го - 6 (10.50.0.16). Можно также сделать
host l2tp
, и посмотреть, что оно выведет. - Обязательны опции
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 *
- Проследите, чтоб права доступа chap-secrets были 0600.
Пожалуйста убедитесь, что /etc/ppp/options не содержит конфликтующих опций. Этот файл в любом случае будет читаться и обрабатываться демоном pppd.
Запуск
Для запуска достаточно запустить демон:
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-скрипте.
Автозагрузка
Для автоматического установления l2tp-соединения необходимо добавить init-скрипт в вашу RC систему:
- Если у вас установлен chkconfig, выполните
chkconfig --add openl2tpd
; пожалуйста, проследите, чтоб openl2tpd запускался после инициализации вашего сетевого интерфейса. - Пользователям openrc достаточно выполнить:
rc-config add openl2tpd default
- Если вы используете SysV Init, создайте симлинк на openl2tpd в нужном ранлевеле, либо пропишите нужные операции в rc.local и т.п. инитскрипты финального исполнения.