Домашний интернет Beeline и openl2tp. [почти SOLVED]
Здраствуйте. Решил попробовать настроить себе openl2tp (говорят работает быстрее чем xl2tpd и процессор не сильно грузит). Установил openl2tp из оверлея Андрея Савченко - bircoph (посредством layman)
# emerge openl2tp -pv These are the packages that would be merged, in order: Calculating dependencies... done! [ebuild R ] net-dialup/openl2tp-1.8-r2 USE="client examples pppd -doc -rpc -server -stats" 0 kB [1] Total: 1 package (1 reinstall), Size of downloads: 0 kB Portage tree and overlays: [0] /usr/portage [1] /var/lib/layman/bircoph
Пересобрал ядро со следующей конфигурацией:
[*] Networking support ---> Networking options ---> <M> Layer Two Tunneling Protocol (L2TP) ---> [*] L2TPv3 support (EXPERIMENTAL) <M> L2TP IP encapsulation for L2TPv3 <M> L2TP ethernet pseudowire support for L2TPv3 Device Drivers ---> [*] Network device support ---> <M> PPP over L2TP (EXPERIMENTAL)
Вот информация по моей системе.
Содержание /etc/conf.d/net
следующее:
GATEWAY="10.200.72.1" config_eth0="dhcp" modules="dhclient"
Содержание /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=beeline dest_ipaddr=tp.internet.beeline.ru \ persist=yes session create tunnel_name=beeline \ session_name=beeline user_name="my_login"
Содержание /etc/conf.d/openl2tpd
следующее:
# Settings for the OpenL2TP daemon. # OPENL2TPDARGS= : any extra command-line startup arguments for openl2tpd # -R - allow remote management using RPC # -d nnn - set debug trace mask to nnn # -L log-facility - set syslog facility (default LOG_DAEMON) # # OPENL2TPD_CONFIG_FILE= : a file containing L2TP config that # is loaded when openl2tpd starts up. # Use ipsec.so plugin for IPSec setups. #OPENL2TPDARGS="-p ipsec.so" OPENL2TPDARGS # Config file to load at openl2tpd startup. # /etc/openl2tpd.conf is used by default if none is provided here OPENL2TPD_CONFIG_FILE=/etc/openl2tpd.conf
Содержание /etc/ppp/ip-up
следующее:
cd /etc/ppp/ip-up.d || exit for SCRIPT in *.sh ; do . ./"${SCRIPT}" "$@" done GW="10.200.72.1" # роутинг до BRASа (?) route del $5 dev ppp0 route add -host $5 gw $GW # подсеть с BRASами route add -net 85.21.0.0 netmask 255.255.0.0 gw $GW # другие route add -host 78.107.1.254 gw $GW route add -host 78.107.1.255 gw $GW # DNS route add -host 195.14.50.1 gw $GW route add -host 213.234.192.8 gw $GW route add -host 85.21.192.3 gw $GW route add -host 195.14.50.21 gw $GW # внутренние адреса route add -net 10.0.0.0 netmask 255.0.0.0 gw $GW # локальные ресурсы route add -host 195.14.50.26 gw $GW route add -host 195.14.50.93 gw $GW route add -host 195.14.50.16 gw $GW route add -net 185.21.79.0 netmask 255.255.255.0 gw $GW route add -net 185.21.72.0 netmask 255.255.255.0 gw $GW route add -host 83.102.231.32 gw $GW # forum route add -host 85.21.72.83 gw $GW # irc route add -host 85.21.79.12 gw $GW # corbina.ru route add -host 89.179.135.67 gw $GW # mirror.corbina.ru route add -host 89.179.179.2 gw $GW # corbina.tv route add -host 78.107.23.0 gw $GW # iptv route add -net 172.16.16.0 netmask 255.255.255.0 gw $GW route add -net 224.0.0.0 netmask 240.0.0.0 gw $GW # смена пути по умолчанию route del default route add default dev ppp0
Содержимое /etc/ppp/ip-down
следующее:
cd /etc/ppp/ip-down.d || exit for SCRIPT in *.sh ; do . ./"${SCRIPT}" "$@" done GW="10.200.72.1" route del $5 route del default route add default dev eth1 gw $GW
Проблемма следующая при старте как дело доходит до старта openl2tpd начинаются жуткие тормоза! Просто жуткие proftpd по 5 мин грузится и samba тоже. Открыл логи, а там вот это:
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.
Получается соединение длилось 16 минут за это время отправленно 1,2Gb назад ничего не вернулось, соединение разорвалось и, кстати, тормоза пропали.
Что я делаю не так, и куда мне копать?
P.S.
Заранее благодарен.
- Для комментирования войдите или зарегистрируйтесь
net-dialup/rp-l2tp чем не
net-dialup/rp-l2tp чем не нравится? Вроде даже с openrc можно настроить совместно
Не грусти, товарищ! Всё хорошо, beautiful good!
openl2tp советовали потому,
openl2tp советовали потому, что он использует модули ядра (говорят из-за этого работает быстрее), а rp-l2tp использует ядро?
Чесно говоря не пробовал, да и на форумах beeline народ в основном xl2tpd и openl2tp пользуется...
Посмотрел
/etc/rp-l2tp/rp-l2tpd.conf.example
так вроде как на l2tp сервер похоже, а мне клиент нужен.Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Если смотреть со свежем
Если смотреть со свежем взглядом:
у вас
на выходе аж 2 раза перезаисывается так еще в конфиге какая-то переменная $5(может оно и не причем)
UPD А вот здесь он, кажется, начал прыгать по интерфейсам
知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"
.
В своё время наблюдал такую же картину (wireshark аж захлёбывался ;-)), и именно (но это лишь совпадение) на билайне, правда при экспериментах с xl2tp. Было это очень давно, и мануалы по конкретным фичам этого самого мухолайна в то время просто отсутствовали напрочь. Зато сейчас их навалом, но не рекомендую напрямую пользоваться ни одним из них - уж такой там местами бред, что мама не горюй! Так что настоятельная рекомендация - подойти к вопросу системно, т.е. изучить суть и функционирование VPN, конфигурирование L2TP, ну и man pppd - ессно, в первую очередь... Навскидку (к сож., за давностию, что именно тогда конкретно косячило - уже не помню) просто опишу к какому состоянию должна придти система после поднятия ppp-интерфейса:
1. В /etc/resolve.conf должны находиться адреса "внешних" билайновых DNS-серверов. Заостряю на этом внимание отнюдь не "на всякий случай" - в зависимости от от того, на чьей сети в вашей местности паразитирует мухолайн (своих сетей они не строят - используют готовые решения от поглощённых/разорённых корбины, голдентелекома, etc...) для внутренней и внешней сети задействуются разные сервера DNS
2. В таблице маршрутизации должны присутствовать обязательные маршруты:
до районного шлюза через ethX
до VPN-сервера через ethX
дефолт через pppX
и не должно остаться маршрутов:
до VPN-сервера через pppX
дефолт через ethX
Не полагайтесь на скрипты инициализации, обязательно проверьте это после поднятия интерфейса... А теперь некоторые, возможно не вполне очевидные условия/рекомендации:
1. Не знаю, каким образом (похоже - не кошерным) вы поднимаете ppp-интерфейс, но в любом случае вручную сконфигурьте для данного интерфейса правильный MTU
2. Способ аутентификации на VPN - CHAP
3. Отключены все опции сжатия для pppd
4. Логин/пассворд в /etc/ppp/chap-secrets в виде ваш_log * ваш_pass * (без указания домена в логине и прочей лабуды, как это можно встретить в каких-либо мануалах)
5. В ядре должны быть включены IP_MULTICAST, NET_IPGRE_DEMUX, NET_IPGRE, INET_AH, INET_ESP
6. iptables желательно временно заткнуть, когда всё наладите - возможно понадобятся доп. правила для AH, GRE, мультикаста во внутреннюю сеть
Если все условия соблюдены - в принципе этого должно хватить, а уж вылизывать до идеала - это уже другая тема (и, кстати, исправьте в теме очепятку)...
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Огромное спасибо. Обязательно
Огромное спасибо. Обязательно подойду системно. Нет уверенности, что удастся это в ближайшие дни, но в ближайшие выходные постараюсь реализовать Ваши рекомендации.
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
А вы используйте xl2tpd,
А вы используйте xl2tpd, очень всё просто настраивается, нагрузка на систему - нулевая.
Если бы вы получение сетевых маршрутов, что выдаются вроде как по опции classless-static-routes заботали и описали здесь, то цены б вам не было. В данный момент у меня dhclient получает мизерное количество маршрутов (буквально в инет и только), dhcpcd - побольше (23), но всё-таки не всё. Главные маршруты - до p2p.corbina.ru и далее до мегараздатчиков - всё-таки не видны, оч жаль.
Хорошо всё это или не хорошо? Если не хорошо (что несомненно), то чем же именно не хорошо? А если, может быть, и хорошо (что тоже возможно), то чем же, опять, хорошо?
Сидел, ковырялся, вот к каким
Сидел, ковырялся, вот к каким результатам пришел...
Попробовал настроить соединение через
xl2tpd
. Куча инструкций нашел: на opennet.ru и на homenet.beeline.ru. Ни одна из них не оказалась исчерпывающей. Та, что представленна наopennet.ru
привлекла тем, что маршруты получаются по dhcp, но в моем случае dhclient не получает маршрутов к внутренним DNS (вообще всего 17 маршрутов получает, тогда как если воткнуть кабель в виндовую машину их аж 34). В любом случае необходимые адреса можно получить вычеленив их из вывода ifconfig, hosts (как предоагают делать на homenet.beeline.ru), а адреса DNS серверов можно вычеленить из выводаcat /etc/resolv.conf
. Вообщем маршруты конечно не все dhclient ловит, но путем вычеленения можно добиться необходимого кол-ва.Взял за основу то, что на homenet.beeline.ru предлагают.
Начинаем с
/etc/conf.d/net
вот мой вариант:Добавил маршрутов до DNS серверов, убрал логин и пароль все это в
/etc/ppp/chap-secrets
находится и прекрасно работает. Дальше, там где комментарий - "Из-за того, что адрес VPN-сервера совпадает с адресом шлюза, создаваемый автоматически маршрут к VPN-серверу использует интерфейс ppp0, а не eth0, исправляем", я жестко добавил маршрут до VPN сервера через eth0 (route add -host $VPN gw 10.200.72.1 dev eth0
).Мне остался непонятен смысл:
В настоящий момент в
resolv.conf
адреса внутренних DNS серверов (они доступны до поднятия VPN), но все работает. Может это особенность данной сети beeline (Corbina).Все это мною соблюдено.
Способ наверное действительно не кошерный:
/etc/init.d/xltpd start
или/etc/init.d/openl2tpd start
, вот только послеxl2tpd
:Sep 25 09:12:13 jazz_bass pppd[2804]: pppd 2.4.5 started by root, uid 0 Sep 25 09:12:13 jazz_bass pppd[2804]: Script /bin/true finished (pid 2837), status = 0x0 Sep 25 09:12:13 jazz_bass pppd[2804]: Serial connection established. Sep 25 09:12:13 jazz_bass pppd[2804]: using channel 1 Sep 25 09:12:13 jazz_bass pppd[2804]: Using interface ppp0 Sep 25 09:12:13 jazz_bass pppd[2804]: Connect: ppp0 <--> /dev/pts/0 Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [LCP ConfReq id=0x1 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x2567190f> <pcomp> <accomp>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [LCP ConfReq id=0x1 <asyncmap 0x0> <magic 0xf155cb73>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [LCP ConfRej id=0x1 <pcomp> <accomp>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [LCP ConfAck id=0x1 <asyncmap 0x0> <magic 0xf155cb73>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [LCP ConfReq id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x2567190f>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [LCP ConfAck id=0x2 <mru 1460> <asyncmap 0xa0000> <auth chap MD5> <magic 0x2567190f>] Sep 25 09:12:14 jazz_bass pppd[2804]: CHAP authentication succeeded Sep 25 09:12:14 jazz_bass pppd[2804]: CHAP authentication succeeded Sep 25 09:12:14 jazz_bass pppd[2804]: sent [IPCP ConfReq id=0x1 <compress VJ 0f 01> <addr 172.23.8.8>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [IPCP ConfReq id=0x1 <addr 85.21.0.141>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [IPCP ConfAck id=0x1 <addr 85.21.0.141>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [IPCP ConfRej id=0x1 <compress VJ 0f 01>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [IPCP ConfReq id=0x2 <addr 172.23.8.8>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [IPCP ConfNak id=0x2 <addr 89.179.243.205>] Sep 25 09:12:14 jazz_bass pppd[2804]: sent [IPCP ConfReq id=0x3 <addr 89.179.243.205>] Sep 25 09:12:14 jazz_bass pppd[2804]: rcvd [IPCP ConfAck id=0x3 <addr 89.179.243.205>] Sep 25 09:12:14 jazz_bass pppd[2804]: local IP address 89.179.243.205 Sep 25 09:12:14 jazz_bass pppd[2804]: remote IP address 85.21.0.141
А после
openl2tpd
: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
Почему так?
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Вообщем xl2tpd работает
Вообщем xl2tpd работает нормально, а вот openl2tpd победить не получается!
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
xl2tpd работает просто
xl2tpd работает просто отлично, никаких тормозов/падений/прочего. При дисконекте сам переподключается. Зачем ради эфемерных "быстрее работает" чтото ломать?
не в кассу
Тема топика "Домашний интернет Beeline и openl2tp.", а не "openl2tpd vs xl2tpd".
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Удалось добиться
Удалось добиться положительного результата после изучения "Настройка VPN в Mandriva".
Результат:
Вот только все равно что-то не так...
До момента получения внешнего IP с момента старта openl2tpd - срашные тормоза.
Что не так?
Не надо бояться, что жизнь закончится - надо бояться, что она не начнется!
Обрати внимание на строчку
Интересная строка:
for vpnaddr in $(host vpn.internet.beeline.ru | awk '{ print $NF }'); do route add $vpnaddr gw $GATEWAY dev eth0; done;
Убедись, что она работает как надо.
Я рыл в интернете и тоже позаимствовал эту строку. Но вот команды host у меня не было. Установил пакет host, появилась команда hostx.
Даже после того, этой правки стало ясно, что l2tp сервера идут диапазоном 85.21.0.240-85.21.0.255. hostx выдаёт только 2 IP. А надо пробросить маршрут для всех 16. Сделать маршрут для подсети не получилось, поэтому для каждого сделал
route add 85.21.0.240 gw $GW dev eth0
(где GW - твой гейтвей, мой отличается).
До этого тунель при открытии начинал заворачивать свой трафик в себя же (после того, как правилами подъёма ppp удалялся дефолтный маршрут на eth0 и устанавливался на ppp0). При этом трафик на ppp0 накручивался с астрономической скоростью, но L2TP сервер ничего не получал.
покупайте за 1т.р dlink-320 и
покупайте за 1т.р dlink-320 и не парьте себе мозг
Спасибо за заботу...
Спасибо за заботу... Как раз поднял сервер после того, как убил бутлоадер DIR-300/NRU (за 1200 р. купил), в очередной раз прошивая его самосборной прошивкой Wive-NG.
Где же фантазия и желание познавать новое? Роутер не вытягивал моё 40-ка мегабитовое соединение, на нём не поставишь трренты на ночь, если захочешь делать вебсервер, понадобится ещё одна машина и проброска портов...
Вот сейчас сижу через раздаваемый сервером инет. На самом сервере подключение настроено через xl2tpd и openl2tpd. Сейчас отлаживаю последний. Выяснил, что удачно можно подключиться не по всем IP, соответствующим tp.internet.beeline.ru. Точно работает 85.21.0.247. Почему так, пока не знаю.
Конфиги кого интересуют?
Цитата: Конфиги кого
Если не сложно выложите обязательно... мой провайдер тоже чешется что-то новое замостырить ;) (dhcp pppoe уже имеются)
知る者は言わず言う者は知らず
"Бабло, побеждает даже зло"
по поводу таблицы маршрутизации
Как выяснилось, полную таблицу маршрутизации корбины-билайн, аналогичную той, которую получают вендовые клиенты, можно получить следующим образом: использовать dhcpcd, добавив в /etc/dhcpcd.conf опцию
и создав файлик в /lib64/dhcpcd/dhcpcd-hooks/, добавляющий маршруты от опции static_routes (имя переменной - new_static_routes) и прописывающий шлюз по умолчанию, полученный в переменной $new_routers.
Получается небольшая чехарда - если не дописывать опцию ms_classless_static_routes, то в роутинг прописываются маршруты, полученные как static_routes и шлюз, всё работает, кроме локальных маршрутов. С опцией ms_classless_static_routes в роутинг прописываются маршруты из ms_classless_static_routes без шлюза! Ну а static_routes и шлюз получаются клиентом, но не задаются, поэтому именно их и надо прописывать в скрипте:
Хорошо всё это или не хорошо? Если не хорошо (что несомненно), то чем же именно не хорошо? А если, может быть, и хорошо (что тоже возможно), то чем же, опять, хорошо?