Перейти к содержимому
Калькуляторы

rp-pppoe-3.10+pppd2.4.2=мёртвые сессии

Всем привет. Имеется сабжевая связка, 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

Очень надеюсь на помощь!

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Так а попробовать для начала pppd из cvs (там версия уже как минимум 2.4.4b1)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

У меня конфиг такой

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).

Работает вроде все хорошо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С ррр-2.4.2 были проблемы. Решалось скриптом прибивающим мертвые сессии, помещенным в крон.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С ррр-2.4.2 были проблемы. Решалось скриптом прибивающим мертвые сессии, помещенным в крон
Крон кроном, я не могу найти принцип, как эти сессии находить - если вручную сидеть,смотреть, то видно, что, например, куча сессий с одним маком висят - тогда понятно, что это неудачные попытки одного и того же юзера зайти - и можно сносить их, но предварительно нужно проверить, что он всё-таки не подключился и не прошёл аутентификацию нормально - тогда одна сессия точно не мёртвая и нужно убить все сессии, кроме этой.

 

А другие версии пробовал - и 2.4.3, и 2.4.4 - там тот же косяк, плюс некоторые нестабильности вылазят

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Если память не изменяет, сравнивались ps и ifconfig

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Всё, наконец-то разобрался - снёс полностью pppd и rp-pppoe, установил заново rp-pppoe 3.10 и pppd 2.4.4. А то, как выяснилось, при предыдущих установках использовался какой-то древний плагин, который и глючил.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.