DHCP + PPTP on WAN
-
В 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
Еще раз выражаю благодарность.
Вот уж действительно полезный пост. -
2 NailMan
Еще раз выражаю благодарность.
Вот уж действительно полезный пост.Да не зачто, просто думаю много людей мучалось с этим провайдером и pfsense и перешло на что то другое. Почему то тот солюшен совсем у меня не заработал. Просто я бы сказал рушил всю систему работы с интерфейсами. Судя по файлу interfaces.inc в солюшене версия pfsense старей текущей 2.1 и что то не совмещается с чем то. Я нашел очень много отличий пока пробовал встроить в свой pfsense. Потому вариант с раскурочиванием системы не вариант или вариант под конкретную версию. Я не люблю такого, всегда предпочитал универсальность.
Итак маленький апдейт сделал скрипта-следилки за dns/wan. Еще одна проблема с "Корбайном" нашлась - они сбрасывают DHCP IP на WAN, но при этом в resolv.conf не удаляются сервера dns. Предыдущий скрипт этой ситуации не ловил(ее и не случалось прежде). Потому добавил детектинг того что IP ушел, а nameserver-ы остались, ну и down/up им делаю.
#!/bin/sh wanisup=$(ifconfig ue0 | grep "UP" | cut -d "<" -f 2 | cut -d "," -f 1) # echo "$wanisup" if [ "$wanisup" != "UP" ] then echo `date` "WAN interface is down, up it!" >>/tmp/watch_dns.log echo "WAN interface is down, up it!" | logger # echo "WAN interface is down, up it!" 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" >>/tmp/watch_dns.log echo "l2tp is down - killing mpd5" | logger # echo "l2tp is down - killing mpd5" kill $res2 fi echo "restart l2tp by mpd5" >>/tmp/watch_dns.log echo "restart l2tp by mpd5" | logger # echo "restart l2tp by mpd5" /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt1.conf -p /var/run/l2tp_opt1.pid -s ppp l2tpclient else #if have no WAN ip and nameservers in /etc/resolv.conf present or noit present waniptype=$(ifconfig ue0 | grep inet | cut -d " " -f 1 | cut -c 2-6) # echo "$waniptype" if [ "$waniptype" == "inet6" ] then echo `date` "No WAN IP present! Restart WAN interface" >>/tmp/watch_dns.log echo "No WAN IP present! Restart WAN interface" | logger # echo "No WAN IP present! Restart WAN interface" ifconfig ue0 down echo "WAN interface down..." >>/tmp/watch_dns.log echo "WAN interface down..." | logger # echo "WAN interface down..." ifconfig ue0 up sleep 10 echo "WAN interface up..." >>/tmp/watch_dns.log echo "WAN interface up..." | logger # echo "WAN interface up..." 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" >>/tmp/watch_dns.log echo "l2tp is down - killing mpd5" | logger # echo "l2tp is down - killing mpd5" kill $res2 fi echo "restart l2tp by mpd5" >>/tmp/watch_dns.log echo "restart l2tp by mpd5" | logger # echo "restart l2tp by mpd5" /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt1.conf -p /var/run/l2tp_opt1.pid -s ppp l2tpclient else #if WAN ip is present and nameservers is lost 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 echo "WAN interface down..." >>/tmp/watch_dns.log echo "WAN interface down..." | logger # echo "WAN interface down..." ifconfig ue0 up sleep 10 echo "WAN interface up..." >>/tmp/watch_dns.log echo "WAN interface up..." | logger # echo "WAN interface up..." 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" >>/tmp/watch_dns.log echo "l2tp is down - killing mpd5" | logger # echo "l2tp is down - killing mpd5" kill $res2 fi echo "restart l2tp by mpd5" >>/tmp/watch_dns.log echo "restart l2tp by mpd5" | logger # echo "restart l2tp by mpd5" /usr/local/sbin/mpd5 -b -k -d /var/etc -f mpd_opt1.conf -p /var/run/l2tp_opt1.pid -s ppp l2tpclient fi fi fi
Плюс оба скрипта я в Кроне раз в минуту запускаю. По статистике(по логу /tmp/watch_dns.log) игра с DNS/WAN IP у Билайна случается раз 5-6 в сутки и скрипт их успешно отрабатывает. Да, изнутри в это время падает инет, ничего тут не поделаешь. Но пока эту хрень в pfSense не пофиксили, придется костылями довольстоваться.
Кстати на Линукс-роутерах это как то ловится в основной массе, но вот с ситуацией когда WAN IP теряется они не справлялись у меня самостоятельно.
-
Не сочтите за рекламу, но Netgear r6300 работает с Пчилайном без проблем - Вот это загадка (( ))
-
Не сочтите за рекламу, но Netgear r6300 работает с Пчилайном без проблем - Вот это загадка (( ))
Да за такие деньги он должен работать со всем подряд - http://hotline.ua/network-besprovodnoe-oborudovanie/netgear-r6300/ (~275 $)
У меня с "пчелайном" и Asus RT-N12 C1\D1 за 30$ и RT-N10P за 20$ с прошивкой Tomato (Shibby's mod) как часы трудится.
P.s. Пардон за оффтоп, я бы лучше Tenda W1800R-ую (http://hotline.ua/network-besprovodnoe-oborudovanie/tenda-w1800r/) взял. И перепрошил в Tomato. Или что-то из Mikrotik-a.
А так - нахрена дома роутер почти за 300$? "Хороший понт - дороже денег"@ не моё. -
А решение от асус сюда никак нельзя перенести?
-
А то что в Асусе с Томатой на борту все же Линух (и попиленный) , а не BSD - ничего ?
Тем более, что ув. NailMan опубликовал вполне рабочее решение.
-
А вот это решение http://code.google.com/p/vpnpptp/ никак нельзя под наши нужды использовать, чтобы конечному пользователю нужно было делать минимум телодвижений? (да, я понимаю, что там опять линуксы, а тут фряха)?
Еще вопрос - если у меня внешний статический IР, то будет ли у меня падать интернет, как описано в посте с изменением настроек/скриптами?
Почему я использую именно это решение - хочу после настройки попробовать отказоустойчивость и балансировку нагрузки.