Andrew85 Опубликовано 15 ноября, 2008 · Жалоба Всем привет. Имеется сабжевая связка, pppoe-server работает в режиме ядра. Всё работает нормально, но некоторые pppd-процессы, полученные в результате некорректного подключения клиента (чаще всего - неверное имя или пароль), остаются висеть и не умирают, несмотря на idle 1200 в конфиге. То есть, если юзер нормально подключился, на серваке поднялся соответствующий интерфейс, например, ppp5, выдалась айпиха, и имеется процесс pppd - ps aux показывает что-то в таком духе: pppd plugin /etc/ppp/plugins/rp-pppoe.so nic-eth0 rp_pppoe_sess 123:00:11:22:33:44:55 rp_pppoe_service Inet 10.1.1.1:10.1.1.139 nodetach noaccomp nobsdcomp nodeflate nopcomp novj novjccomp default-asyncmap Соответственно, когда клиент отключается, ppp5 разрывается, и вышеназванный процесс получает SIG 15 - то есть, всё замечательно. Но - бывает, что интерфейс не поднялся, к примеру, не прошла аутентификация радиуса. Тогда интерфейс pppX не поднимается, клиент, естественно, не подключился, но аналогичный процесс pppd запускается - и его уже только киллом сносить. При ~150-200 одновременных соединений таких висячих сессий может накапливаться ещё до 200, а то и больше, и как их отслеживать - ума не приложу.... А крови портят - огого как =\ Кто подскажет, как это можно побороть? В messages есть такое: Session 123 created for client 00:11:22:33:44:55 (10.16.0.139) on eth0 using Service-Name 'Inet' ... Session 123 closed for client 00:11:22:33:44:55 (10.16.0.139) on eth0 Но во-первых, что тут, что в ps для процесса pppd фигурируют свои IP-адреса, которые присваиваются для pppd - клиенту идёт айпишка, которую он получает от радиус-сервера, да ив во-вторых, с номерами сессий непонятки... Видел подобную проблему здесь, проделал всё так, как там, пробовал свои разные конфиги - но проблема не исчезла. Вот мой файлик pppoe-server-options: require-chap ktune idle 1200 lcp-echo-interval 10 lcp-echo-failure 2 ms-dns 10.1.0.1 nobsdcomp noendpoint noipdefault noipx novj logfile /var/log/ppp/pppd/log plugin /etc/ppp/plugins/radius.so radius-config-file /etc/radiusclient/radiusclient.conf Очень надеюсь на помощь! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ugenk Опубликовано 16 ноября, 2008 · Жалоба Так а попробовать для начала pppd из cvs (там версия уже как минимум 2.4.4b1) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vadimus Опубликовано 16 ноября, 2008 · Жалоба У меня конфиг такой require-pap refuse-chap refuse-mschap require-mschap-v2 ms-dns *.*.*.* mtu 1500 mru 1500 proxyarp login nobsdcomp novj nologfd nolog kdebug 0 nodetach nodeflate receive-all lcp-echo-interval 15 lcp-echo-failure 3 ipcp-accept-remote ipcp-accept-local plugin /usr/lib/pppd/2.4.4/radius.so plugin /usr/lib/pppd/2.4.4/radattr.so rp-pppoe-3.10-r1 и ppp-2.4.4-r21 (Gentoo). Работает вроде все хорошо. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Beginner Опубликовано 16 ноября, 2008 · Жалоба С ррр-2.4.2 были проблемы. Решалось скриптом прибивающим мертвые сессии, помещенным в крон. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrew85 Опубликовано 16 ноября, 2008 · Жалоба С ррр-2.4.2 были проблемы. Решалось скриптом прибивающим мертвые сессии, помещенным в кронКрон кроном, я не могу найти принцип, как эти сессии находить - если вручную сидеть,смотреть, то видно, что, например, куча сессий с одним маком висят - тогда понятно, что это неудачные попытки одного и того же юзера зайти - и можно сносить их, но предварительно нужно проверить, что он всё-таки не подключился и не прошёл аутентификацию нормально - тогда одна сессия точно не мёртвая и нужно убить все сессии, кроме этой. А другие версии пробовал - и 2.4.3, и 2.4.4 - там тот же косяк, плюс некоторые нестабильности вылазят Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Beginner Опубликовано 17 ноября, 2008 · Жалоба Если память не изменяет, сравнивались ps и ifconfig Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Andrew85 Опубликовано 17 ноября, 2008 · Жалоба Всё, наконец-то разобрался - снёс полностью pppd и rp-pppoe, установил заново rp-pppoe 3.10 и pppd 2.4.4. А то, как выяснилось, при предыдущих установках использовался какой-то древний плагин, который и глючил. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...