Название: pptpd linux + nodeny 49.32 Отправлено: slava от 22 Апреля 2010, 06:54:23 Доброго времени суток!
Проблема такого плана: на сервере стоит Gentoo linux установил nodeny 49.32 с авторизатором работает нормально. Поднял радиус 1.1.7, pptpd-1.3.4. Авторизация заработала инет появился но примерно через минуту пропадает. Если снова прервать соединение и пересоединится инет появится но тоже приметрно на минуту. Наблюдение показало что через минуту нодени посылает сигнал дисконнекта для пользователя хотя баланс положительный и если поставить всегда онлай или подключится авторизатором все работает нормально. Как написано в докуметнации по установке Цитировать Mpd настраивается таким образом, что с определенным периодом будет посылать radius-у так называемые accounting пакеты для каждого соединения. Эти пакеты будут интерпретироваться как keep-alive пакеты, сообщающие ядру, что соединение не зависло. но это для MPD. Как это реализовать на pptpd + radius? Просьба не предлагать перейти на FreeBSD. Название: Re: pptpd linux + nodeny 49.32 Отправлено: Efendy от 22 Апреля 2010, 09:19:49 ну так, если pptpd поддерживает радиус, значит там тоже есть accounting, значит его можно использовать как признак keep-alave
Название: Re: pptpd linux + nodeny 49.32 Отправлено: slava от 29 Апреля 2010, 09:03:36 с этим разобрался
Еще вопрос подскажите кто знает как правильно передать атрибут скорости пробую так: DROP PROCEDURE IF EXISTS `radreply`; DELIMITER $$ CREATE PROCEDURE `radreply` (IN login VARCHAR(64)) BEGIN DECLARE usr_id INT; DECLARE usr_ip VARCHAR(15); DECLARE speed VARCHAR(15); SELECT id,ip INTO usr_id,usr_ip FROM users WHERE name=login; INSERT into dblogin (mid,act,time) VALUES (usr_id,47,unix_timestamp()); SELECT speed from plans2 where id=(select paket from users where id=usr_id); SELECT NULL,login,'Framed-IP-Address',usr_ip,'='; SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','='; SELECT NULL,login,'Framed-Protocol','PPP','='; SELECT NULL,login,'Acct-Interim-Interval','60','='; SELECT NULL,login,'Ascend-Data-Rate','speed','='; END$$ DELIMITER ; но поле такого запроса radtest выдает Sending Access-Request of id 112 to 127.0.0.1 port 1812 User-Name = "test" User-Password = "12345" NAS-IP-Address = 255.255.255.255 NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=112, length=44 и содержимое radattr.ppp0: Service-Type Framed-User Framed-Protocol PPP если запрос сформирован так: DROP PROCEDURE IF EXISTS `radreply`; DELIMITER $$ CREATE PROCEDURE `radreply` (IN login VARCHAR(64)) BEGIN DECLARE usr_id INT; DECLARE usr_ip VARCHAR(15); SELECT id,ip INTO usr_id,usr_ip FROM users WHERE name=login; INSERT into dblogin (mid,act,time) VALUES (usr_id,47,unix_timestamp()); SELECT NULL,login,'Framed-IP-Address',usr_ip,'='; SELECT NULL,login,'Framed-IP-Netmask','255.255.255.255','='; SELECT NULL,login,'Framed-Protocol','PPP','='; SELECT NULL,login,'Acct-Interim-Interval','60','='; END$$ DELIMITER ; то radattr.ppp0 : Service-Type Framed-User Framed-Protocol PPP Framed-IP-Address 195.58.243.254 Framed-IP-Netmask 255.255.255.255 Acct-Interim-Interval 60 Название: Re: pptpd linux + nodeny 49.32 Отправлено: slava от 13 Мая 2010, 14:45:06 Продолжение предыдущего поста
radtest все таки выдает Ascend-Data-Rate но = 0 но даже с этим параметром этой записи нет в radattr.ppp0 Sending Access-Request of id 55 to 127.0.0.1 port 1812 User-Name = "slavavpn" User-Password = "123456" NAS-IP-Address = 255.255.255.255 NAS-Port = 0 rad_recv: Access-Accept packet from host 127.0.0.1:1812, id=55, length=56 Framed-IP-Address = 195.58.243.254 Framed-IP-Netmask = 255.255.255.255 Framed-Protocol = PPP Acct-Interim-Interval = 60 Ascend-Data-Rate = 0 inet raddb # запрос SELECT speed from plans2 where id=(select paket from users where id=usr_id); где вместо usr_id подставить id пользователя выдает параметр скорости помогите разобраться почему Ascend-Data-Rate не появляется в radattr.ppp0 и Ascend-Data-Rate не подхватывает параметр скорости даже если ее задать константой Название: Re: pptpd linux + nodeny 49.32 Отправлено: Efendy от 14 Мая 2010, 08:19:54 Код: DECLARE spd INT; обрати внимание на отсутствие кавычек в последнем select Название: Re: pptpd linux + nodeny 49.32 Отправлено: slava от 14 Мая 2010, 13:19:35 Спасибо большое Efendy за подсказку
результат ниже кому интересно Код: DROP PROCEDURE IF EXISTS `radreply`; ATTRIBUTE PPPD-Upstream-Speed-Limit-1 232 integer ATTRIBUTE PPPD-Downstream-Speed-Limit-1 233 integer |