Перейти к содержимому


Фото

OpenL2TP


  • Please log in to reply
13 replies to this topic

#1 Taviscaron

Taviscaron

    Новичок

  • Посетитель
  • 14 Сообщений:

Отправлено 11 Ноябрь 2010 - 16:39

Всем, кто использует или хочет использовать OpenL2TP рекомендую подключить в layman оверлей Андрея Савченко - bircoph, в котором есть пакет net-dialup/openl2tp, по странному стечению обстоятельств так и не включенный в portage. Важно, что в этом пакете добавлен патч, позволяющий указывать в openl2tp.conf адрес VPN-сервера в виде FQDN (tp.internet.beeline.ru), а не IP-адреса, как сделано по умолчанию.

gentoo ~ # layman -l
* bircoph [Git ] (git://git.overlays.gentoo.org/user/bircoph.git

gentoo ~ # equery m openl2tp
* net-dialup/openl2tp [bircoph]
Herd: no-herd
Maintainer: bircoph@gmail.com (Andrew Savchenko)
Upstream: None specified
Location: /var/lib/layman/bircoph/net-dialup/openl2tp
Keywords: 1.7:0:
Keywords: 1.7-r2:0: ~amd64 ~x86

Протестировано, работает отлично.

Сообщение изменено: Taviscaron (11 Ноябрь 2010 - 17:40 )

  • 0

#2 Terra Inc

Terra Inc

    Местный

  • Посетитель
  • 72 Сообщений:
  • Пол:Мужчина

Отправлено 11 Ноябрь 2010 - 18:31

Вопрос, кстати. Проблема в том, что в openl2tp нельзя указать свои опции в командную строку pppd. А мне очень был нужен unit, ибо в системе уже есть ppp0 настроенный в conf.d/net (т.е. unit 0) и хотелось, что бы openl2tp всегда был unit 1. Вот, может появятся идеи, куда это можно подсунуть, мож в какой options файл. Пока ограничился наколеночным патчем исходников.
А по сути - работает и правда очень неплохо, впечатление лучше, чем от xl2tpd и его повисающими реконнектами.

Второй ньюанс - собирать пакет нужно обязательно с USE="rpc", иначе будут реконнекты каждые две минуты (лечится опцией конфига openl2tp, но это не очень верный путь).

Третий ньюанс (можен для кого принципиальный) - логин и пароль передаются в командной строке, т.е. видны по ps xa. Хотя может можно их в chap-secrets запихнуть - для меня не принципиально.

И четвертый, самый ржачный ньюанс. Кто надоумил разработчиков, что набор цифр - это не строка, а логин и пароль должна быть строка - не знаю, но если у вас полностью цифровой логин и/или пароль - то в конфиге он кушаться не будет - выдает ошибку. Ну, благо в личном кабинете можно поставить свой логин и пароль ;)
  • 0

#3 Taviscaron

Taviscaron

    Новичок

  • Посетитель
  • 14 Сообщений:

Отправлено 11 Ноябрь 2010 - 21:00

Вопрос, кстати. Проблема в том, что в openl2tp нельзя указать свои опции в командную строку pppd. А мне очень был нужен unit, ибо в системе уже есть ppp0 настроенный в conf.d/net (т.е. unit 0) и хотелось, что бы openl2tp всегда был unit 1. Вот, может появятся идеи, куда это можно подсунуть, мож в какой options файл. Пока ограничился наколеночным патчем исходников.
А по сути - работает и правда очень неплохо, впечатление лучше, чем от xl2tpd и его повисающими реконнектами.

Где-то видел что-то на эту тему. Найду - отпишусь. Как вариант: почему бы в conf.d/net не растроить ppp1, openl2tp пусть поднимает ppp0?

Второй ньюанс - собирать пакет нужно обязательно с USE="rpc", иначе будут реконнекты каждые две минуты (лечится опцией конфига openl2tp, но это не очень верный путь).

Не понимаю о чем Вы, никаких реконнектов нет при session_establish_timeout=0. А вот с rpc собирать крайне не безопасно, так что у меня оно отключено, чего всем и рекомендую.

Третий ньюанс (можен для кого принципиальный) - логин и пароль передаются в командной строке, т.е. видны по ps xa. Хотя может можно их в chap-secrets запихнуть - для меня не принципиально.

Если все настроено правильно - в командной строке pppd передается только логин. А пароли должны быть действительно в chap-secrets.

И четвертый, самый ржачный ньюанс. Кто надоумил разработчиков, что набор цифр - это не строка, а логин и пароль должна быть строка - не знаю, но если у вас полностью цифровой логин и/или пароль - то в конфиге он кушаться не будет - выдает ошибку. Ну, благо в личном кабинете можно поставить свой логин и пароль ;)

Будет исправлено в релизе 1.8:

We're fixing some of the file parser limitations that you mention in the 1.8 release. Specifically, numeric names are now allowed by enclosing the name in double quotes. We've also added support for non-ASCII characters in usernames and passwords.

Сообщение изменено: Taviscaron (11 Ноябрь 2010 - 21:13 )

  • 0

#4 Terra Inc

Terra Inc

    Местный

  • Посетитель
  • 72 Сообщений:
  • Пол:Мужчина

Отправлено 11 Ноябрь 2010 - 23:49

Как вариант: почему бы в conf.d/net не растроить ppp1, openl2tp пусть поднимает ppp0?

М... можно, почему-то не подумал, хотя я настроил скрипты, что бы default gate выбирался в порядке приоритета номера ppp. Ну и вообще люблю, когда каждому сказано его место явно ;)

Не понимаю о чем Вы, никаких реконнектов нет при session_establish_timeout=0. А вот с rpc собирать крайне не безопасно, так что у меня оно отключено, чего всем и рекомендую.

Я же сказал, что лечится опцией в конфиге. Но как следствие - если по каким-то причинам линк не поднимется, реконнекта не будет. В общем не очень кошерно отключать таймаут, поставленный на стражу того, что бы поднять линк. А насчет небезопасности... сомневаюсь, что у пользователей gentoo есть проблемы с фаирволом ;)
  • 0

#5 Taviscaron

Taviscaron

    Новичок

  • Посетитель
  • 14 Сообщений:

Отправлено 12 Ноябрь 2010 - 00:49

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

persist и holdoff 10 в /etc/ppp/options решают и эту проблему, имхо.
  • 0

#6 t0nik

t0nik

    Новичок

  • Посетитель
  • 1 Сообщений:

Отправлено 18 Декабрь 2010 - 16:14

Собрал версию 1.8 без rpc, только для работы с конфигом, а вот соединиться не получается. В новой версии поддерживается обращение по hostname и разные символы в имени юзера (я цифры в кавычках поставил - ошибок парсинга не выдаёт, без кавычек ругается).
Мой конфиг:
system modify \
    deny_remote_tunnel_creates=yes \
    tunnel_establish_timeout=60 \
    session_establish_timeout=30 \
    tunnel_persist_pend_timeout=60 \
    session_persist_pend_timeout=60

peer profile modify profile_name=default lac_lns=lac

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

tunnel create \
    tunnel_name=beeline \
    dest_ipaddr=tp.internet.beeline.ru \
    persist=yes

session create \
    tunnel_name=beeline \
    session_name=beeline \
    user_name="0891234567" \
    user_password=password
Что я делаю не так?
Может ли кто поделиться рабочим конфигом?
  • 0

#7 Terra Inc

Terra Inc

    Местный

  • Посетитель
  • 72 Сообщений:
  • Пол:Мужчина

Отправлено 25 Декабрь 2010 - 05:23

В логи говорит что-нибудь?
  • 0

#8 zxzxz

zxzxz

    Местный

  • Посетитель
  • 79 Сообщений:
  • Пол:Не определился

Отправлено 02 Январь 2011 - 17:30

при выставлении в конфиге
tunnel_establish_timeout=60 \ 
    session_establish_timeout=30 \ 
    tunnel_persist_pend_timeout=60 \ 
    session_persist_pend_timeout=60

время повторного соединения составляет 5-6 минут, можно ли его как нибудь сократить ?

Сообщение изменено: zxzxz (02 Январь 2011 - 17:31 )

  • 0
Будут новые победы,
Встанут новые бойцы!

#9 ZafiRUS

ZafiRUS

    Новичок

  • Посетитель
  • 11 Сообщений:

Отправлено 07 Январь 2011 - 23:32

Пытался настроить openl2tp. Первый день работал нормально, на второй отвалился. Попытки поднять соединение заново ни к чему не привели. Сейчас сижу через xl2tpd, но очень понравился ядреный l2tp.
Симптомы следующие. При попытке соединения через openl2tpd не приходит никакого ответа (пакеты ловил wireshark-ом). При этом xl2tpd (не ядерный) соединяется.
У меня одного такое, или корбиновские сервера не любят openl2tp?

Сообщение изменено: ZafiRUS (07 Январь 2011 - 23:33 )

  • 0

#10 ZafiRUS

ZafiRUS

    Новичок

  • Посетитель
  • 11 Сообщений:

Отправлено 08 Январь 2011 - 21:05

Проблема как-то решилась сама собой. Сегодня все работает. Посмотрим, что будет дальше
  • 0

#11 vasiliy terkin

vasiliy terkin

    Новичок

  • Посетитель
  • 4 Сообщений:
  • Пол:Мужчина

Отправлено 23 Январь 2011 - 15:26

подскажите пожалуйста, как настроить сабж через conf.d/net
  • 0

#12 Pilot6

Pilot6

    Местный

  • Посетитель
  • 178 Сообщений:
  • Пол:Не определился

Отправлено 18 Март 2011 - 00:19

время повторного соединения составляет 5-6 минут, можно ли его как нибудь сократить ?

Можно. Именно 5 минут. Это дефолт. Видимо файл парсится не очень хорошо.
Проверьте в командной строке

l2tpconfig
system show configuration

Видимо баг какой-то не удается установить меньше 300. Хотя мне кажется, что удавалось.

Сообщение изменено: Pilot6 (18 Март 2011 - 00:19 )

  • 0

#13 Vallon

Vallon

    Новичок

  • Посетитель
  • 1 Сообщений:

Отправлено 29 Март 2011 - 02:07

Ядро >= 2.6.23
CONFIG_L2TP=y
CONFIG_PPP=y
CONFIG_PPPOL2TP=y
как работают таймауты не вполне понимаю
tp.corbina.ru можно заменить на IP конкретного BRASа с наименьшим пингом
логин 0123456789 изменить на свой; если начинается с буквы, можно не ставить кавычки
/etc/openl2tpd.conf
system modify deny_remote_tunnel_creates=yes \
        deny_remote_tunnel_creates=yes \
        tunnel_establish_timeout=12 \
        session_establish_timeout=0 \
        tunnel_persist_pend_timeout=12 \
        session_persist_pend_timeout=12

peer profile modify profile_name=default lac_lns=lac

ppp profile modify profile_name=default \
        mru=1450 mtu=1450 auth_pap=no \
        auth_eap=no auth_none=no \
        default_route=no proxy_arp=no auth_mschapv1=no auth_mschapv2=yes

tunnel create tunnel_name=corbina2 dest_ipaddr=tp.corbina.ru \
        persist=yes

session create tunnel_name=corbina2 \
        session_name=corbina2 \
        user_name="0123456789"
логин и пароль изменить на свои
/etc/ppp/chap-secrets
0123456789 * password
параметры pppd помимо передаваемых openl2tpd
/etc/ppp/options
persist
holdoff 10
настройка роутинга при старте системы
/etc/local.d/beeline.start
Spoiler

настройка роутинга при установлении соединения
/etc/ppp/ip-up
Spoiler

настройка роутинга при разрыве соединения
/etc/ppp/ip-down
Spoiler

пакеты
Spoiler

были использованы советы с этого форума
  • 0

#14 luntsevy

luntsevy

    Новичок

  • Посетитель
  • 11 Сообщений:
  • Пол:Мужчина

Отправлено 20 Сентябрь 2011 - 21:19

Настроил все в соответствии с постом Vallon'а. И столкнулся со следующей проблемой: когда дело доходит до старта openl2tpd начинаются жуткие тормоза. Вот логи:
Sep 20 01:24:06 jazz_bass kernel: PPP generic driver version 2.4.2
Sep 20 01:24:06 jazz_bass kernel: L2TP core driver, V2.0
Sep 20 01:24:06 jazz_bass kernel: NET: Registered protocol family 24
Sep 20 01:24:06 jazz_bass kernel: PPPoL2TP kernel driver, V2.0
Sep 20 01:24:06 jazz_bass openl2tpd[2507]: Start, trace_flags=00000000
Sep 20 01:24:06 jazz_bass openl2tpd[2507]: OpenL2TP V1.8, (c) Copyright 2004-2010 Katalix Systems Ltd.
Sep 20 01:24:06 jazz_bass openl2tpd[2507]: Loading plugin /usr/lib/openl2tp/ppp_unix.so, version V1.5
Sep 20 01:24:06 jazz_bass openl2tpd[2507]: Using config file: /etc/openl2tpd.conf
Sep 20 01:24:07 jazz_bass pppd[2515]: Plugin pppol2tp.so loaded.
Sep 20 01:24:07 jazz_bass pppd[2515]: pppd 2.4.5 started by root, uid 0
Sep 20 01:24:07 jazz_bass pppd[2515]: Using interface ppp0
Sep 20 01:24:07 jazz_bass pppd[2515]: Connect: ppp0 <--> 
Sep 20 01:24:07 jazz_bass pppd[2515]: Overriding mtu 1500 to 1450
Sep 20 01:24:07 jazz_bass pppd[2515]: Overriding mru 1500 to mtu value 1450
Sep 20 01:24:07 jazz_bass pppd[2515]: Overriding mtu 1460 to 1450
Sep 20 01:24:07 jazz_bass pppd[2515]: Overriding mru 1460 to mtu value 1450
Sep 20 01:24:07 jazz_bass pppd[2515]: CHAP authentication succeeded
Sep 20 01:24:07 jazz_bass pppd[2515]: CHAP authentication succeeded
Sep 20 01:24:07 jazz_bass pppd[2515]: local  IP address 89.179.243.205
Sep 20 01:24:07 jazz_bass pppd[2515]: remote IP address 85.21.0.141
Тут вроде все понятно, все нормально. Но потом происходит вот это:
Sep 20 01:40:49 jazz_bass pppd[2515]: Terminating on signal 15
Sep 20 01:40:49 jazz_bass pppd[2515]: Connect time 16.7 minutes.
Sep 20 01:40:49 jazz_bass pppd[2515]: Sent 1234590644 bytes, received 0 bytes.
Sep 20 01:40:49 jazz_bass pppd[2515]: Overriding mtu 1500 to 1450
Sep 20 01:40:49 jazz_bass pppd[2515]: Overriding mru 1500 to mtu value 1450
Sep 20 01:40:55 jazz_bass pppd[2515]: Connection terminated.
Sep 20 01:40:55 jazz_bass pppd[2515]: Modem hangup
Sep 20 01:40:55 jazz_bass pppd[2515]: Exit.
Причем как только соединение рвется, тормоза пропадают.
Что я делаю не так?
  • 0