октября 18 2008 06:31 пп

Установка и настройка L2TP сервера xl2tpd или l2tpd

42-15315746.jpg

В википедии сказано: L2TP (англ. Layer 2 Tunneling Protocol) — сетевой протокол туннелирования канального уровня, сочетающий в себе протокол L2F (layer 2 Forwarding), разработанный компанией Cisco, и протокол PPTP корпорации Microsoft. Стандарт IETF. Позволяет организовывать VPN с заданными приоритетами доступа, однако не содержит в себе средств шифрования и механизмов аутентификации (для создания защищённой VPN его используют совместно с IPSec).

Работает он намного стабильнее vpn туннелей, поэтому и был выбран мной в качестве протокола для соединения 2х Linux серверов, vpn работал, но часто падал и в pppd нет нормально реальзованного контроля за соединением. В l2tp все намного лучше, есть специальный демон который контролирует соединение и тд. Я пользуюсь интернетом корбины, и в Спб не сразу появилась возможность работы по l2tp, было только vpn. Я использовал сначала роутер с поддержкой vpn, но он часто зависал, потом начал использовать собсвенно pppd, но и это не принесло мне счастья, коннект рвался несколько раз в день… С появлением l2tp все стало замечательно, коннект не рвется неделями… Дальше я опишу процесс установки  и настройки сервера и клиента l2tp для Linux Ubuntu.

В Ubuntu версии 7.04 и 7.10 пакет называется l2tpd, а начиная с версии 8.04 пакет стал называться xl2tpd. Синтаксис конфигурационных файлов и там и там одинаковый, разница только в имени пакета, если не вдаваться в подробности.

Я работал с убунту 7.10 в качестве сервера, и с 7.10 в качестве клиента, так что в моих примерах будет фигурировать имя пакета l2tp. L2tp поддерживает авторизацию типа хост-хост, но мне вполне хватило авторизации CHAP которая реальзована в pppd.

Итак, установим необходимые пакеты, начнем с сервера l2tp.

Код:


aptitude install l2tpd pptp-linux

За нормальную работу сервера отвечает несколько конфигурационных файлов, давайте отредактируем их по порядку, начнем с конфигурации l2tpd демона.
Перейдите в директорию /etc/l2tpd и скопируйте оригинальный файл l2tpd.conf в файл с именем l2tpd.conf.orig, затем очистите файл командой cat /dev/null > /etc/l2tpd/l2tpd.conf, и наконец отредактируйте его как показано ниже

Код:


[global] ;глобальная конфигурация
port = 1701 ;порт сервера
auth file = /etc/l2tpd/l2tp-secrets ;файл авторизации типа хост <-> хост
access control = no ; ограничение на доступ только с определенных хостов
rand source = dev
;
;
;
[lns hostname] ;имя нашего сервера, обычно исользуется просто имя вашего хоста
exclusive = no ;при параметре yes разрешено использовать один туннель с одного хоста.
ip range = 172.16.0.10-172.16.0.30 ;пул адресов выдаваемых клиентам
lac = 10.0.0.1 - 10.0.0.50 ;здесь пишем каким адресам можно использовать наш сервер
hidden bit = no
local ip = 172.16.0.5 ;внутренний айпи адрес нашего сервера
length bit = yes
require chap = yes ;требовать авторизацию CHAP
refuse pap = yes
refuse authentication = no
require authentication = no ;этот параметр указывает включена ли авторизация типа хост <-> хост
name = hostname ;тут пишите имя вашего хоста
ppp debug = yes ;для отладки на первое время
pppoptfile = /etc/ppp/options.l2tpd ;опции для pppd
flow bit = yes

Далее отредактируем файл опций для pppd, он у нас лежит тут: /etc/ppp/options.l2tpd

Код:


mtu 1410
mru 1410
lcp-echo-interval 3
lcp-echo-failure 8
nodeflate
noproxyarp
lock

И наконец впишем логин и пароль для одного из клиентов в файл /etc/ppp/chap-secrets

Код:


# Username server password ip-address
testuser * secret *

На этом настройка сервера закончена, перезапустите демона /etc/init.d/l2tpd restart и переходим к настройке клиента.
Установим нужные пакеты

Код:


aptitude install l2tpd pptp-linux

Дальше настроим демона l2tpd для работы в качестве клиента, конфигурационные файлы все те же самые. Начнем с /etc/l2tpd/l2tpd.conf

Код:


[global]
access control = no
auth file = /etc/l2tpd/l2tp-secrets
[lac hostname] ;сюда имя хоста или адрес сервера
lns = 10.0.0.50 ;сюда вписывать айпи адрес или доменное имя сервера
redial = yes ;перезванивать при разрывах
redial timeout = 1 ;сколько секунд ждать
require chap = yes ;включена авторизация CHAP
require authentication = no ;авторизация типа хост <-> хост
name = username ;имя пользователя
ppp debug = yes
pppoptfile = /etc/ppp/options.l2tp
require pap = no
autodial = yes ;соединять автоматически

Теперь настроим pppd (файл /etc/ppp/options.l2tpd)

Код:


mtu 1410
mru 1410
lcp-echo-interval 3
lcp-echo-failure 8
logfile /var/log/pppd
nodeflate
noproxyarp
noauth
defaultroute
replacedefaultroute
lock

Затем впишите имя пользователя и пароль которые вы задали на сервере в файл /etc/ppp/chap-secrets

Код:


# Secrets for authentication using CHAP
# client server secret IP addresses
testuser * secret *

На этом настройка клиента закончена, осталось прописать маршруты и прочие правила в файлы в директории /etc/ppp/ip-up.d и /etc/ip-dovn.d для автоматического применения маршрутов и тд.

Остановим l2tpd командой /etc/init.d/l2tpd stop и запустим в отладочном режиме командой l2tpd -D что позволит нам посмотреть правильность настроек. Если все верно запустите l2tpd нормально командой /etc/init.d/l2tpd start и посмотрите появился ли интерфейс ppp№.

На этом пожалуй все, очень надеюсь что статья поможет вам и будет полезной, удачи в настройке.





13 комментариев »


13 комментариев to “Установка и настройка L2TP сервера xl2tpd или l2tpd”

  1. romanex on 20 Окт 2008 at 16:55 #

    спасибо, как всегда отличная статья!

  2. Stepanoff on 20 Окт 2008 at 17:03 #

    Рад что Вам понравилось, спасибо

  3. flashback on 04 Апр 2009 at 18:15 #

    Спасибо, очень доступно излагаете!
    Я так понимаю, для такого сервера необходим модуль pppol2tp ?

  4. Stepanoff on 04 Апр 2009 at 18:25 #

    Дополнительных модулей не требуется для поднятия XL2TPD сервера.

  5. flashback on 05 Апр 2009 at 23:54 #

    Понятно. А есть опыт использования xl2tpd при больших нагрузках, большом количестве ppp_сессий? Интересно насколько он стабильно себя ведёт. Просто есть не совсем удачный опыт с openl2tpd, хотелось бы их сравнить…

  6. Stepanoff on 06 Апр 2009 at 00:02 #

    К сожалению потестировать на больших количествах клиентов не доводилось.

  7. Arsen G Bespalov on 11 Фев 2010 at 12:42 #

    У меня при настройке серверной части на двух разных машинах Ubuntu и Debian выдает одинаковое сообщение при запуске:

    irk01:~# xl2tpd -D
    xl2tpd[31115]: parse_config: line 4: no ‘=’ in data
    xl2tpd[31115]: init: Unable to load config file

  8. Stepanoff on 11 Фев 2010 at 13:43 #

    Что в конфиге в 4ой строке?

  9. ig on 09 Окт 2011 at 15:25 #

    win xp 738 ошибка 🙁

  10. vlad on 09 Окт 2012 at 12:52 #

    Здрасте всем!!=) хорошая статья, все подробно. этого так не хватает парой) Спасибо авторам!!! Хотя у меня появилась проблемка. Я все сделал как описано на ubuntu 10.04. И клиент у меня не может найти сервер, может я что то в ip напутал. Как IP в конфигах связаны с реальными машинами? Помогите неумехе)

  11. Максим Степанов on 09 Окт 2012 at 16:44 #

    xl2tpd не перезапускается командой стоп или рестарт, конфиги не перечитает. Надо его kill -9, затем стартовать.

  12. vlad on 10 Окт 2012 at 11:26 #

    По идеи после перезагрузки и клиент и сервер все ровно должны запуститься, хотя ваше предложение я попробовал, не получается все ровно…вероятно ошибка у меня в другом месте. В конфигах играют роль имена хостов?

  13. Максим Степанов on 10 Окт 2012 at 11:44 #

    Имеют, если они прописаны, но не резолвятся

Trackback URI | Comments RSS

Leave a Reply

You must be logged in to post a comment.


« | »

  • Реклама

  • Ссылки



    sfp ge t
    fti-optronic.com

    Продажа приборов учета газов и жидкостей
    fruitoil.ru

  • Теги



Server load average: 0.00, 0.00, 0.00
Server uptime: 358 days, 20:36
Your IP is: 54.162.236.133.