DHCP + PPTP on WAN
-
Приветсвую всех пользователей интернета по "технологии" PPTP/L2TP поверх DHCP!
Слежу за различнми решениями поддерживающими работу PPTP/L2TP поверх DHCP с 2009г., в том числе и за pfsense с марта 2010г., но на тот момент у меня не получилось настроить работу Билайна :(
Поэтому еще в октябре 2010г. я начал регулярно "дергать" разработчиков ИКС (Интернет Контроль Сервер см. http://xserver.a-real.ru) по поводу нормальной и стабильной реализации PPTP/L2TP поверх DHCP.
И наконец 28 марта 2013 года в версии ИКС-4.4.5.15464 от 26.03.2013 релиз, о котором представитель техн. поддержки сообщил:
@Александр:@aen1975:
Рассматриваем ИКС как вариант для покупки на роль интернет-шлюза и почтовика. Провайдер использует L2TP -подключение (АтлантТелеком (Минск, Беларусь) Езернет, DHCP, после подключения - получаем статик айпи). Все ли проблемы с L2TP на сегодня решены?
На последней версии проблем при тестировании не обнаружилось.
Предлагаю присоединиться к пользователям ИКС, который до 8-ми пользователей бесплатен (см. http://xserver.a-real.ru/description/iks_lite.php).
И принять участие в оптимизации работы PPTP/L2TP поверх DHCP см. http://xserver.a-real.ru/forum/viewtopic.php?p=25953#25953
С Вашим опытом и знаниями уверен это будет очень плодотворно!ИКС достаточно оперативно развивается и "обрастает" новым функционалом см. голосование http://ics.reformal.ru/
-
Hi,
i'm not using pfsense so wasn't on the forum, but saw this thread so:
ncat, i think you mixed changes made to two different code branches.
The changes i made were mostly before the merge from gnhb branch (pages ~4 and such in that thread),
and made on the 2.0 BETA. they are mostly irrelevant now, as gnhb merged the code later and made a gui
http://forum.pfsense.org/index.php/topic,25465.msg180054.html#msg180054 -
Micky, thx for post. I'll check the information
-
ncat, спасибо за проделаную работу!
Сделал все как было указано - поднялось с первого раза )
Пробую опять вернуться на пфсенс - отпишусь сколько проработает в таком режиме без проблем. -
Для версии 2.1 pfsense не подходят скрипты от ncat, нужно что то другое, разработчики что то там наваяли другое. Интернет от билайна теперь вообще не хочет запускаться.
-
Для версии 2.1 pfsense не подходят скрипты от ncat, нужно что то другое, разработчики что то там наваяли другое. Интернет от билайна теперь вообще не хочет запускаться.
Я пока не ставил, и, думаю что не стоит торопиться. Почитаю отзывы, подожду фиксов (2.1.1). Для Вас решение простое - откатиться назад ;) бэкап, надеюсь, сделали?
А может они сделали так что теперь Билайн работает без костылей?Вообще, конечно, интересно поэкспериментировать надеюсь будет время.
-
В 2.1 Release WAN_DHCP+L2TP поднимается после падения линка само, без скриптов. Неделя полёт нормальный.
Зато других глюков добавили - не принимает ICMP на L2TP интерфейс, тоесть пинговать извне не получается, rules никакие не помогают, при этом NAT работает :) -
2.1 Обновился
dhcp+pptp
Стояла 2,0 все работало, правда с реконектом были проблемы
Настройка такова ВАН-дхцп опт1 на вани там пптп
Все тоже в 2,1 лыжи не едут, захочет подключится, захочет нет….
Такое чувство что подключается не через ВАН, а через ХЗ
Подскажите что делать? Реконект важен....После обновы сбросил в заводские.
-
немного разобрался, конектится он через дефолтный гетвей, потому при его смене перестает все работать, ну и по прежнему при старте нет конекта, надо пинать кнопкой, после этого реконект есть, проверено высовыванием кабеля, вроде как еще есть плавающая проблема, с реконектом, но это нужно подтвердить еще….
Какую версию поставить для ставить для стабильного конекта????? -
на 2.0 костыль использовали для pptp?
-
Щас тупо откатил на 2.0 RC3 закинув через вебморду, работает, реконекты не проверял, но после перезагрузки завелось само…
Костыли никогда не использовал. и так работало.... Правда не всегда хорошо :)
Версия i386
К слову х64 когда-то ставил, недопилы в дровах там были.... -
Коллеги, подскажите, какая сейчас ситуация с l2tp поверх dhcp для Beeline?
У меня не поднимается l2tp ((
Мои настройки:
Interfaces:WAN
Enable: Enanable Interface
Description:WAN
IPv4 Configuration Type: DHCP
IPv6 Configuration Type: None
Остальные параметры не менял
Interface: LAN
Enable: Enanable Interface
Description:LAN
IPv4 Configuration Type: Static IPv4
IPv6 Configuration Type: None
IPv4 address: 192.168.20.100/24
Остальные параметры не менял
Interfaces: PPP
Link Type: L2TP
Link Interfaces: WAN
Description: Beeline
Username: 089xxxxxxx
Password: xxxxxxxxxxxx
Local IP(em1): 9x.xxx.xxx.xxx (у меня статика). Почему маска 32 недоступна?
Remote IP address: 85.21.0.255 (tp.internet.beeline.ru)
Interfaces: OPT1
Enable: Enanable Interface
Description:OPT1
IPv4 Configuration Type: L2TP
IPv6 Configuration Type: None
Username:089xxxxxxxxxx
Password:xxxxxxxxxx
Local IP address: 9x.xxx.xxx.xxx (у меня статика). Почему маска 32 недоступна?
Remote IP address: 85.21.0.255 (tp.internet.beeline.ru)
Enable-on-Demand mode: yes
Idle timeout: 15
Interfaces: Assign network ports
WAN - em1
LAN - em0
OP1 - l2tp0(wan) - Beelineifconfig выдает ppp0:
inet addr: 9x.xxx.xxx.xxx P-t-P:85.21.0.255 Mask:255.255.255.255 -
А поискать - не судьба?
https://www.google.com.ua/search?client=opera&q=Beeline+pfsense
http://forum.pfsense.org/index.php/topic,64367.15.html
-
@werter
Спасибо за гугловую ссылку, она он очень помогает. Я переформулирую вопрос: До сих пор нужно все допиливать, что описано в этой ветки? (просто сейчас версия 2.1, и прошло уже достаточно времени со времен постов) -
Просто у вас провайдер "чудесный". Pfsense тут ни при чем.
-
Здравствуйте!
Я вот недавно по совету коллеги решил на pfSense перейти(канал не качает RT-N16) и сижу дома на том самом чудесном провайдере Билайн. Еще в пору WL500GpV2 и RT-N16 приходилось бороться(писать скрипт в Крон) с его чудными замутами с tp.internet.beeline.ru и сменой айпишника без дропа PPPTP(при переходе на l2tp такая беда почти пропала). Но на pfSense - это просто чума какая то!
Пробовал местный солюшен с правкой /etc/inc/interfaces.inc и скриптами в Крон - хрен там. Не пашет! Последил nslookup-ом в течение двух вечеров что делается на tp.internet.beeline.ru - он с переодичностью в ~30мин - 2ч полностью меняет пару айпишников гейтов(по двум DNS у меня приходят). Я пробовал менять на "протухший" айпи в интерфейсе Opt1(l2tp0) из какой то предыдущей пары при совершенно иной другой паре IP - работает до какого то момента и после очередной смены как то все падает.
В итоге я решил так попробовать сделать(пока самый простой вариант) решения проблемы "протухания" гейта:
в Cron добавил команду(берет первый IP гейта из пары, соотвественно самый "быстрый"):
nslookup tp.internet.beeline.ru | grep "Address: " -m 1 | grep "ddress: " | cut -d : -f 2 | cut -c 2-13 >/tmp/l2tp0_routerс настройкой времени запуска minute: */1 и всеми остальными *, пока тестирую - все живет и не падает. с переодичностью 1 минуту меняется IP(или не меняется если текущий гейт "шустрее") в gateway на интерфейсе OPT1(l2tp0), связь не рвется.
При этом в настройках l2tp прописан прямой IP одного из гейтов(самый "частый" по наблюдениям).
Такой вариант кто то пробовал? Это я до Плацебо додумался или это какое то реальное решение?
UPD спустя сутки мониторинга: роутер без дропов, падений физ-линка, l2tp прожил сутки. При этом я извне периодически смотрел какой IP у Gateway на l2tp - пару раз менялись пары, но ни разу не прерывалось. Кажется проблема с гейтами решена без особого куроченья файлов системы.
-
2 NailMan
Спасибо! Если неделю не будет проблем - это еще одно решение в "борьбе" с Пчелайном.
P.s.
(канал не качает RT-N16)
Советую взглянуть на прошивку Tomato - http://tomato.groov.pl/
Описание прошивки - http://www.bxtra.net/articles/2012-12-23/how-to-flash-tomatousb-by-shibby-on-asus-rt-n12-b1c1-wireless-n-routerВаша будет по адресу - http://tomato.groov.pl/download/K26/build5x-115-EN/tomato-K26USB-1.28.RT-MIPSR2-115-AIO.trx
P.s. Есть ньюанс в настройке Dual\Russian , но могу подсказать как решить:
1. В веб-морде на WAN настраиваете L2TP.
2. С помощью скриптов настраивате "серый" адрес на WAN и маршрутизацию (подставляйте свои данные!) :Firewall:
iptables -A POSTROUTING -t nat -o vlan1 -j SNAT –to-source 172.25.83.245
ip route change 172.25.0.0/16 dev vlan1 via 172.25.83.1WAN UP:
ifconfig vlan1 172.25.83.245 netmask 255.255.255.0
route add -net 172.25.0.0 netmask 255.255.0.0 gw 172.25.83.1vlan1 - WAN-интерфейс (у вас он может называться на роутере по-другому - команда ifconfig покажет)
172.25.83.245 - заменить на свой локальный IP
172.25.0.0 netmask 255.255.0.0 - заменить на адрес(-а) сети(-ей) и подсети(-ей) вашего провайдера
172.25.83.1 - заменить на адрес вашего локального шлюза
И не забываем отключить "Предотвращать DNS-атаки" - блокирует впн и торрент.
-
2 NailMan
Спасибо! Если неделю не будет проблем - это еще одно решение в "борьбе" с Пчелайном.
Рано я радовался :( , проблемы не решены полностью таким простым способом. Смену гейтов на l2tp0 мой фокус позволяет побороть, но периодически физический WAN "теряет" оба DNS-сервера и все встает в клин. Вот как раз пока я сегодня на работу ехал, оно отвалилось от WAN. Вчера тоже самое случилось когда я был дома. Успел сохранить лог чтобы покопаться в ситуации.
Надо сделать скриптик и отслеживать наличие DNS на WAN порту, если не нашлись - делаем WAN down/up. Примерно похоже я на линуксе на wl500/n16 делал, только я там получал IP своего DDNS-домена и если он был отличен от того что реально на L2TP порту то физзинк линк перезапускался.
Вечером попробую воплотить скриптик.
-
Итак, потестировал несколько дней, нарвался на сброс DNS на физическом WAN, подробно проанализировал ситуацию с интерфейсами и адресами и с радостью оттестировал два скрипта(пришлось кой чего подправить). Прошу не пинать - я не линуксоид и тем более не фришник. Давным давно программировал на дельфях, потому может покажется не красиво и неоптимально.
Вот что вышло у меня для решения проблем с линком на Билайне. Делаем 2 скрипта и добавляем их в Крон:
1. Патчинг gatways для L2TP. Я разместил его в /root/etc/watch_gw.sh#!/bin/sh nslookup tp.internet.beeline.ru | grep "Address: " -m 1 | grep "ddress: " | cut -d : -f 2 | cut -c 2-13 >/tmp/l2tp0_router nslookup tp.internet.beeline.ru | grep "Address: " -m 2 | grep "ddress: " | cut -d : -f 2 | cut -c 2-13 >/tmp/l2tp0_defaultgw
где первый из полученный адресов засунется в /tmp/l2tp0_router (как я понял это адрес шлюза), второй засунется в дефолтный шлюз( вчем между ними разница я не знаю, допирал интуитивно)
В Кроне он запускается раз в минуту, т.е. minutes = */1, остальное *
2. следилка за WAN. Проверяет поднят ли WAN(если нет, стартует его и l2tp вслед за ним[код использовал частично из местного солюшена]), если поднят, то проверяет наличие записей в /etc/resolv.conf и если там 2 строки - первая домен и вторая это адрес локалхоста, то гасит и подымает wan и стартует L2TP. После делает тоже самое что и watch_gw.sh (на всяк пожарный). размещается в /root/etc/watch_dns.sh
#!/bin/sh wanisup=$(ifconfig ue0 | grep "UP" | cut -d "<" -f 2 | cut -d "," -f 1) if [ -z $wanisup ]; then ifconfig ue0 down sleep 5 ifconfig ue0 up sleep 10 if [ -f /var/run/l2tp_opt1.pid ] then # If l2tp connection is down (no IP) and mpd5 for this connection is running we kill mpd # to be able to change connection settings, specifically l2tp peer. # Because if (for example) l2tp peer is down we can get different l2tp peer IP using hostname. res2=$(cat /var/run/l2tp_opt1.pid) echo "l2tp is down - killing mpd5" | logger echo `date` "l2tp is down - killing mpd5" >>/tmp/watch_dns.log kill $res2 fi echo "restart l2tp by mpd5" | logger echo "restart l2tp by mpd5" >>/tmp/watch_dns.log /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt1.conf -p /var/run/l2tp_opt1.pid -s ppp l2tpclient sleep 10 else dns=$(wc -l /etc/resolv.conf | cut -d ' ' -f 8) dnsip=$(cat /etc/resolv.conf | grep "nameserver " | cut -d ' ' -f 2) if [ "$dns" == "2" ] && [ "$dnsip" == "127.0.0.1" ]; then ifconfig ue0 down sleep 5 ifconfig ue0 up sleep 10 if [ -f /var/run/l2tp_opt1.pid ] then # If l2tp connection is down (no IP) and mpd5 for this connection is running we kill mpd # to be able to change connection settings, specifically l2tp peer. # Because if (for example) l2tp peer is down we can get different l2tp peer IP using hostname. res2=$(cat /var/run/l2tp_opt1.pid) echo "l2tp is down - killing mpd5" | logger echo `date` "l2tp is down - killing mpd5" >>/tmp/watch_dns.log kill $res2 fi echo "restart l2tp by mpd5" | logger echo "restart l2tp by mpd5" >>/tmp/watch_dns.log /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt1.conf -p /var/run/l2tp_opt1.pid -s ppp l2tpclient sleep 10 fi nslookup tp.internet.beeline.ru | grep "Address: " -m 1 | grep "ddress: " | cut -d : -f 2 | cut -c 2-13 >/tmp/l2tp0_router nslookup tp.internet.beeline.ru | grep "Address: " -m 2 | grep "ddress: " | cut -d : -f 2 | cut -c 2-13 >/tmp/l2tp0_defaultgw fi
Соответственно ue0 - в данном случае мой физический WAN, L2tp на OPT1
В Кроне отрабатывается раз в 2 мин, соотвественно minutes */2
Итог работы - отследился и сбросился-поднялся физлинк и за ним L2TP при ситуации "пропадания" DNS-ов, и постоянно "держится на пульсе" гейвей. С первым скриптом не падало подряд 3 дня. Сейчас будет не падать постоянно.
Вот как то так.
ДА! Релиз у меня 2.1-RELEASE (i386) если это важно.
-
2 NailMan
Еще раз выражаю благодарность.
Вот уж действительно полезный пост.