Настройка openl2tpd в Linux
Материал из campus.mephi.ru
Данная статья описывает установку и настройку openl2tpd, рекомендуется также обращаться к официальной документации и сайту разработчиков.
Содержание |
Установка
- Необходимо ядро не менее 2.6.23. В ядре должна быть включена поддержка ppp-over-l2tp (
CONFIG_PPPOL2TP=y|m
). - Установите пакет openl2tp или соберите из исходников. Настоятельно рекомендуется использовать последнию версию (на момент написания статьи 1.7).
- Сборки для Debian, FC9 а также последний тарбол доступны на sf.net
- Пользователи Gentoo могут взять готовый ebuild тут, не забудьте все вспомогательные файлы!
Настройка
Все необходимые настройки содержатся в файле /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-скрипте.