Abram Posted March 31, 2010 Posted March 31, 2010 Всем доброго времени суток. Есть следующая лажа - в последнее время часто разрывается PPTP у клиентов. На сервере ошибок нет, в радиусе - User-Request. Принимаю любые идеи и предложения, что ещё бл проверить, т.к. у самого уже голова кругом идет. В общем: Arch Linux, 2.6.31, pppd 2.4.5 (vanilla + gigawords), pptpd 1.3.4 (vanilla). Одна встроенная сетевая (sic!), на ней весь трафик. Сейчас подозреваю сетевую, однако ещё месяц назад при таком же раскладе всё отлично работало. В общем, жду идей. Даже самых странных, на грани бреда. Вставить ник Quote
EvilShadow Posted March 31, 2010 Posted March 31, 2010 (edited) Вирусы у клиентов. Левый софт. Ещё какая-то дрянь с клиентской стороны. Опрашивайте звонящих на предмет установленного софта и составляйте базу для анализа. Попробуй соорудить другой сервер pptpd (на другой ОС/дистрибутиве), раскидайте соединения поровну по ним и смотрите, есть ли какая-то зависимость разрывов от того, на какой сервер он попал. Edited March 31, 2010 by EvilShadow Вставить ник Quote
g7001 Posted March 31, 2010 Posted March 31, 2010 (edited) Часто клинты любят эксперементировать и ставить Windows от Zver.Были случаи когда отсутсвовал ВПН и браузер в сборке. Чаще встречается недо-сетевая служба-подключается и отключается по не выясненным причинам. 7ки и Висты тоже имели магические оссобенности. Поэтому выяснять что у пользователя там стоит,и посылать гонца сносить недо-софт Edited March 31, 2010 by g7001 Вставить ник Quote
Abram Posted March 31, 2010 Author Posted March 31, 2010 Всё чаще грешу на вирусы (судя по всему - эпидемия какой-то новой разновидности Kido). Вообще пока придумали такой вариант: заводить черный список софта (уже в списке: NOD 3/4, все Касперские), рекомендовать сносить, а особо ревностным - давать на недельку поюзать заведомо безглючный роутер, дабы доказать, что проблема в их компьютере. Но, увы, с такими раскладами народ очень сразу складывает о нас негативное мнение. Кстати, специально для 7-к у меня поднят паралельно РРРоЕ. Как костыль. Вставить ник Quote
EvilShadow Posted March 31, 2010 Posted March 31, 2010 Кстати, специально для 7-к у меня поднят паралельно РРРоЕ. Как костыль.А у меня наоборот - pptp поднят как костыль. Вместо pppoe :)Недавно убрал accel-pptp, который где-то раз в месяц вешал сервера, поселил вместо него обычный user-level pptpd - количество переключений контекста сразу подскочило в разы. Теперь вот буду пытаться использовать pptp только для тех случаев, когда pppoe по каким-то причинам использовать невозможно. Благо, бОльшая часть абонентов уже переведена на pppoe. Вставить ник Quote
Abram Posted March 31, 2010 Author Posted March 31, 2010 Кстати, специально для 7-к у меня поднят паралельно РРРоЕ. Как костыль.А у меня наоборот - pptp поднят как костыль. Вместо pppoe :)Недавно убрал accel-pptp, который где-то раз в месяц вешал сервера, поселил вместо него обычный user-level pptpd - количество переключений контекста сразу подскочило в разы. Теперь вот буду пытаться использовать pptp только для тех случаев, когда pppoe по каким-то причинам использовать невозможно. Благо, бОльшая часть абонентов уже переведена на pppoe. Короче, из огня да в полымя :-D.Думаю над L2TP. На примере Корбины - оно себя ведёт куда адекватней. Вставить ник Quote
EvilShadow Posted March 31, 2010 Posted March 31, 2010 Короче, из огня да в полымя :-D.Да, как-то так. Впрочем, на моих масштабах и в моих условиях туннели рулят и бибикают.А pptp на pppoe я сменил по таким причинам: 1. Зависимость pptp от dns, т.е. ещё одна точка отказа. Без dns никак нельзя, ибо это самый простой способ балансировки соединений. 2. Неприятные особенности поведения WinXP. По умолчанию для pptp она ставит mtu 1400, что иногда приводит к неочевидным последствиям. 3. Обкатанный kernel-level pppoe сервер. User-level pptpd даёт неоправданно высокую нагрузку, а accel-pptp ещё не настолько стабилен, чтоб поставить и забыть. 4. Большая надёжность pppoe, проистекающая из его бродкастовой сути. Например, есть два сервера pptp: x.x.x.x и y.y.y.y. У клиентов в качестве pptp-сервера указан какой-нибудь vpn.loc. DNS отдаёт на это имя два адреса, которые используются по кругу. В случае падения одного из серверов в 50% случаев клиент будет стучаться на мёртвый сервер и получать ошибки. В то же время, если падает один из двух pppoe-серверов, клиент на бродкастовый запрос получает ответ только от оставшегося и соответственно будет пытаться подключиться только к нему. 5. Да и вообще простые решения мне нравятся больше, чем сложные. А pppoe архитектурно проще. Хотя в некоторых случаях немаршрутизируемость pppoe может стать решающим фактором для того, чтоб его не использовать. Но, опять же, в моих условиях это не самый важный фактор :) Вставить ник Quote
Rivia Posted April 1, 2010 Posted April 1, 2010 По-моему как раз самое правильное - собирать статистику по клиентскому По и оборудованию для данных проблем. Как вариант - домашние роутеры клиентов, при приличных каналах вовне нагрузка на них ложится тоже соответствующая, особенно в свете pptp (а также всяких торрентов и мютп в оных), соотв-но под 100% загрузом цпу рутера у него сносит башню и сессия рвется. Вставить ник Quote
Abram Posted April 1, 2010 Author Posted April 1, 2010 Лично у меня дома D-Link DIR-300/NRU + OpenWrt - полёт отличный. Всё-таки буду собирать статистику. Сегодня ещё должна приехать сетевуха на 82576, буду пробовать. Вставить ник Quote
ichthyandr Posted April 1, 2010 Posted April 1, 2010 Всем доброго времени суток. Есть следующая лажа - в последнее время часто разрывается PPTP у клиентов. На сервере ошибок нет, в радиусе - User-Request. Принимаю любые идеи и предложения, что ещё бл проверить, т.к. у самого уже голова кругом идет. В общем: Arch Linux, 2.6.31, pppd 2.4.5 (vanilla + gigawords), pptpd 1.3.4 (vanilla). Одна встроенная сетевая (sic!), на ней весь трафик. Сейчас подозреваю сетевую, однако ещё месяц назад при таком же раскладе всё отлично работало. В общем, жду идей. Даже самых странных, на грани бреда. были похожие проблемы, избавились перейдя на freebsd + mpdmpd работает четко, потребеление памяти существенно ниже, можно настроить одновременно на pptp, pppoe, l2tp Вставить ник Quote
Andrei Posted April 1, 2010 Posted April 1, 2010 1. Зависимость pptp от dns, т.е. ещё одна точка отказа. Без dns никак нельзя, ибо это самый простой способ балансировки соединений.Посоветуйте - где почитать про балансировку с помощью dns? 2. Неприятные особенности поведения WinXP. По умолчанию для pptp она ставит mtu 1400, что иногда приводит к неочевидным последствиям.Что за последствия и как лечится? Вставить ник Quote
EvilShadow Posted April 1, 2010 Posted April 1, 2010 1. Зависимость pptp от dns, т.е. ещё одна точка отказа. Без dns никак нельзя, ибо это самый простой способ балансировки соединений.Посоветуйте - где почитать про балансировку с помощью dns? Где почитать - не знаю. Но делается это так:ac A x.x.x.1 ac A x.x.x.2 ac A x.x.x.3 У клиента сервером прописан ac, при подключении днс-сервер отдаёт ему сразу пачку адресов по кругу. Соответственно, один клиент пойдёт на первый сервер, другой - на второй и т.д. 2. Неприятные особенности поведения WinXP. По умолчанию для pptp она ставит mtu 1400, что иногда приводит к неочевидным последствиям.Что за последствия и как лечится? У меня был случай, когда у клиента на хостинге в интернетах MSS был всегда 1400 байт, что с учётом заголовков превышало MTU для клиентского pptp-туннеля. Вылечилось использованием pppoe у клиента :) Вставить ник Quote
Abram Posted April 1, 2010 Author Posted April 1, 2010 Поменял сегодня сетевую. Поставил сразу, не жлобясь, 82756 ;). Будем смотреть, что из этого получилось. Вставить ник Quote
Andrei Posted April 2, 2010 Posted April 2, 2010 У меня был случай, когда у клиента на хостинге в интернетах MSS был всегда 1400 байт, что с учётом заголовков превышало MTU для клиентского pptp-туннеля. Вылечилось использованием pppoe у клиента :)Т.е. для pptp это не лечится? Но делается это так:ac A x.x.x.1 ac A x.x.x.2 ac A x.x.x.3 У клиента сервером прописан ac, при подключении днс-сервер отдаёт ему сразу пачку адресов по кругу. Соответственно, один клиент пойдёт на первый сервер, другой - на второй и т.д. Почему другой пойдет на второй ас? При такой схеме получается скорее "горячее резервирование", а не балансировка. Или я что-то не допонял. Вставить ник Quote
EvilShadow Posted April 2, 2010 Posted April 2, 2010 Т.е. для pptp это не лечится?Лечится ковырянием виндового реестра. Но проще объяснить, как настроить pppoe, чем что где изменить в реестре. Но делается это так:ac A x.x.x.1 ac A x.x.x.2 ac A x.x.x.3 У клиента сервером прописан ac, при подключении днс-сервер отдаёт ему сразу пачку адресов по кругу. Соответственно, один клиент пойдёт на первый сервер, другой - на второй и т.д. Почему другой пойдет на второй ас? При такой схеме получается скорее "горячее резервирование", а не балансировка. Или я что-то не допонял. Потому что round-robin. При первом запросе клиент получитx.x.x.1 x.x.x.2 x.x.x.3 При втором x.x.x.3 x.x.x.1 x.x.x.2 При третьем x.x.x.2 x.x.x.3 x.x.x.1 И т.д. Вставить ник Quote
Andrei Posted April 3, 2010 Posted April 3, 2010 Лечится ковырянием виндового реестра. Но проще объяснить, как настроить pppoe, чем что где изменить в реестре. У нас на сети только pptp. Так что совет "настроить pppoe" не подходит. Или может быть можно на одной кошке (она у нас pptp терминирует) поднять еще и ppoe одновременно с pptp с авторизацией через один и тот же радиус? Вставить ник Quote
martin74 Posted April 3, 2010 Posted April 3, 2010 странная у вас какая то проблема с MTU -A FORWARD -p tcp --syn -j TCPMSS --set-mss 1350 и все... А если еще почитать ман - то даже от циферки можно избавиться ;) Вставить ник Quote
EvilShadow Posted April 3, 2010 Posted April 3, 2010 странная у вас какая то проблема с MTU -A FORWARD -p tcp --syn -j TCPMSS --set-mss 1350 и все... А если еще почитать ман - то даже от циферки можно избавиться ;) Не всё. В моём случае удалённый узел мало интересовался, какой MSS предложит ему клиент и ВСЕГДА выставлял 1400. Вставить ник Quote
Shturm_N Posted April 3, 2010 Posted April 3, 2010 странная у вас какая то проблема с MTU -A FORWARD -p tcp --syn -j TCPMSS --set-mss 1350 и все... А если еще почитать ман - то даже от циферки можно избавиться ;) Не всё. В моём случае удалённый узел мало интересовался, какой MSS предложит ему клиент и ВСЕГДА выставлял 1400. Это правило перепакует пакеты.Я сталкивался с неработоспособностью некоторых сайтов где стоит больно хитрый IIS. Это правило помогло. Вставить ник Quote
Ivan_83 Posted April 4, 2010 Posted April 4, 2010 У меня был случай, когда у клиента на хостинге в интернетах MSS был всегда 1400 байт, что с учётом заголовков превышало MTU для клиентского pptp-туннеля. Вылечилось использованием pppoe у клиента :) Для начала ICMP траффик резать не нужно было в обе стороны. В MPD5 есть "set iface enable tcpmssfix" (оно цепляет ng_ одноимённый) В PF есть "scrub out on $ext_if0 all max-mss 1400" в совсем исключительных случаях "scrub in all no-df", но по идее портит PMTU дискавери. scrub прописываются по принципу: срабатывает первое правило под которое попал пакет. Вставить ник Quote
EvilShadow Posted April 4, 2010 Posted April 4, 2010 У меня был случай, когда у клиента на хостинге в интернетах MSS был всегда 1400 байт, что с учётом заголовков превышало MTU для клиентского pptp-туннеля. Вылечилось использованием pppoe у клиента :) Для начала ICMP траффик резать не нужно было в обе стороны. В MPD5 есть "set iface enable tcpmssfix" (оно цепляет ng_ одноимённый) В PF есть "scrub out on $ext_if0 all max-mss 1400" в совсем исключительных случаях "scrub in all no-df", но по идее портит PMTU дискавери. scrub прописываются по принципу: срабатывает первое правило под которое попал пакет. Для начала - не беритесь судить, не зная фактов. Режу я только smtp, да и то выборочно. Так что Ваше "не нужно было" - полная ерунда.Что что-то есть в MPD5 - это просто чудесно, но ставить Фрю ради одной программы я не намерен. Вставить ник Quote
Abram Posted April 6, 2010 Author Posted April 6, 2010 Нашёл в логах вот такую фигню. PPTP: Apr 6 11:46:13 sax pptpd[24874]: CTRL: Client 10.2.0.200 control connection started Apr 6 11:46:13 sax pptpd[24874]: CTRL: Starting call (launching pppd, opening GRE) Apr 6 11:46:13 sax pptpd[24874]: GRE: Bad checksum from pppd. Apr 6 11:47:19 sax pptpd[24874]: CTRL: EOF or bad error reading ctrl packet length. Apr 6 11:47:19 sax pptpd[24874]: CTRL: couldn't read packet header (exit) Apr 6 11:47:19 sax pptpd[24874]: CTRL: CTRL read failed Apr 6 11:47:19 sax pptpd[24874]: CTRL: Reaping child PPP[24875] Apr 6 11:47:19 sax pptpd[24874]: CTRL: Client 10.2.0.200 control connection finished PPP: Apr 6 11:46:13 sax pppd[24875]: Plugin radius.so loaded. Apr 6 11:46:13 sax pppd[24875]: RADIUS plugin initialized. Apr 6 11:46:13 sax pppd[24875]: Plugin radattr.so loaded. Apr 6 11:46:13 sax pppd[24875]: RADATTR plugin initialized. Apr 6 11:46:13 sax pppd[24875]: pppd 2.4.5 started by root, uid 0 Apr 6 11:46:13 sax pppd[24875]: Using interface ppp182 Apr 6 11:46:13 sax pppd[24875]: Connect: ppp182 <--> /dev/pts/159 Apr 6 11:46:14 sax pppd[24875]: Cannot determine ethernet address for proxy ARP Apr 6 11:46:14 sax pppd[24875]: local IP address 10.0.0.6 Apr 6 11:46:14 sax pppd[24875]: remote IP address x.x.x.x Apr 6 11:47:19 sax pppd[24875]: LCP terminated by peer (User request) Apr 6 11:47:19 sax pppd[24875]: Connect time 1.1 minutes. Apr 6 11:47:19 sax pppd[24875]: Sent 116 bytes, received 76 bytes. Apr 6 11:47:19 sax pppd[24875]: Modem hangup Apr 6 11:47:19 sax pppd[24875]: Connection terminated. Apr 6 11:47:19 sax pppd[24875]: Exit. ЧЯДНТ? Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.