forum.bitel.ru http://forum.bitel.ru/ |
|
Вкладка "Ограничения" - не могу заставить отработать правила http://forum.bitel.ru/viewtopic.php?f=5&t=4275 |
Страница 1 из 1 |
Автор: | dlkustov [ 08 июл 2010, 16:43 ] |
Заголовок сообщения: | Вкладка "Ограничения" - не могу заставить отработать правила |
Всем привет! Ситуация такая: в модуле Dialup, привязанного в договоре к пользователю во вкладке "Логины" есть вкладка "Ограничения", для чего это надо достаточно просто и понятно!!! Пытаюсь по документации сделать, как там написано т.е.: "То есть, если вы решите пускать пользователя только на телефон 111111, то добавление ограничения Разрешить вход на 111111 ничего не даст, т.к. вход на него и так разрешён по умолчанию. Следует сделать запрет на все телефоны доступа, указав в качестве телефона 0, а затем добавить строку с разрешением входа на 111111. Группировка по типам при авторизации делается для того, чтобы ограничения одного типа не перекрывали другие." Бьюсь уже не один день(может я конечно такой тупой ![]() |
Автор: | snark [ 09 июл 2010, 15:08 ] | ||
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила | ||
как то так ...
|
Автор: | dlkustov [ 09 июл 2010, 16:10 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
В том то и дело, что мы таки и делаем, правила все равно не отрабатываются . Возможно проблема в том , что NAS находящийся на 2821 кошке с PPtP - сервером на ней не отдает Calling-Station-Id, соответственно не отрабатывают ограничения, все радиус-параметры на кошке введены по документации биллинга! Т.е. вопрос тогда получается такой - реально эти ограничения должны отрабатывать на стандартных конфигах из биллинга, или просто где-то , что-то я просто не указал? Перерыл уже все , что можно , но все равно не хотят эти правила работать. |
Автор: | snark [ 09 июл 2010, 16:48 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
тыц!!!111 |
Автор: | dlkustov [ 09 июл 2010, 16:52 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
Этот скрипт преобработки стоит, но всеравно не работает. ![]() |
Автор: | snark [ 09 июл 2010, 17:07 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
что значит "не работает"? может покажете хоть один лог сессии что ли, чтоб посмотреть у Вас вообще предобработка работает или нет |
Автор: | dlkustov [ 09 июл 2010, 17:12 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
Вот последний лог радиуса с скриптом предобработки: Код: 09 12:43:14
Type=AUTHENTICATION_REQUEST Attributes: User-Name=test NAS-Port-Id=Uniq-Sess-ID345 CHAP-Password=\u1?q? ?w?:\u21)?°?\u14?? NAS-IP-Address=10.0.0.12 NAS-Port=605 Service-Type=2 Framed-Protocol=1 NAS-Port-Type=5 09 12:43:14 Type=AUTHENTICATION_ACCEPT Process time auth: 50 init_tariff: 1; set_ip: 1; common_auth: 26 Attributes: Acct-Interim-Interval=60 Service-Type=2 Framed-Protocol=1 Framed-IP-Address=1.1.1.1 cisco-avpair=lcp:interface-config=rate-limit input 1024000 192000 384000 conform-action transmit exceed-action drop cisco-avpair=lcp:interface-config=rate-limit output 2048000 384000 768000 conform-action transmit exceed-action drop Trace: Login found. 09 12:43:14 Type=ACCOUNTING_REQUEST Attributes: User-Name=test NAS-IP-Address=10.0.0.12 Tunnel-Medium-Type= NAS-Port=605 Service-Type=2 Tunnel-Client-Endpoint=10.6.0.13 Tunnel-Server-Endpoint=10.0.0.12 Framed-Protocol=1 Framed-IP-Address=1.1.1.1 <AttrCode[196]>=undef Acct-Status-Type=1 Acct-Delay-Time=0 Acct-Session-Id=0000025D Acct-Authentic=1 NAS-Port-Id=Uniq-Sess-ID345 Tunnel-Assignment-ID=1 Calling-Station-Id=10.6.0.13 NAS-Port-Type=5 Called-Station-Id=10.0.0.12 cisco-avpair=connect-progress=LAN Ses Up 09 12:43:14 Type=ACCOUNTING_REQUEST Attributes: User-Name=test NAS-IP-Address=10.0.0.12 Tunnel-Medium-Type= NAS-Port=605 Service-Type=2 Tunnel-Client-Endpoint=10.6.0.13 Framed-Protocol=1 Tunnel-Server-Endpoint=10.0.0.12 Framed-IP-Address=1.1.1.1 <AttrCode[196]>=undef <AttrCode[198]>=undef <AttrCode[193]>=undef <AttrCode[192]>=undef <AttrCode[195]>=undef NAS-Port-Id=Uniq-Sess-ID345 Tunnel-Assignment-ID=1 Calling-Station-Id=10.6.0.13 Called-Station-Id=10.0.0.12 Acct-Input-Octets=20175 Acct-Output-Octets=22439 Acct-Status-Type=2 Acct-Delay-Time=0 Acct-Session-Time=2937 Acct-Input-Packets=731 Acct-Session-Id=0000025D Acct-Authentic=1 Acct-Terminate-Cause=0 Acct-Output-Packets=689 <AttrCode[190]>=undef <AttrCode[191]>=undef NAS-Port-Type=5 cisco-avpair=disc-cause-ext=No Reason cisco-avpair=connect-progress=LAN Ses Up |
Автор: | snark [ 09 июл 2010, 17:50 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
скрипт отрабатывает, но тут Вы пишите: dlkustov писал(а): ip - адрес(типа 10.6.0.14) а тут, у Вас: dlkustov писал(а): Код: Tunnel-Client-Endpoint=10.6.0.13 Tunnel-Server-Endpoint=10.0.0.12 ... Calling-Station-Id=10.6.0.13 Called-Station-Id=10.0.0.12 отсюда возникает резонный вопрос - какой именно IP адрес Вы пишите? по настройке - мануал говорит нам: мануал писал(а): При авторизации ограничения сортируются по типам просматриваются в порядке их указания, каждое последующее перекрывает предыдущее только если он одного типа. То есть, если вы решите пускать пользователя только на телефон 111111, то добавление ограничения Разрешить вход на 111111 ничего не даст, т.к. вход на него и так разрешен по умолчанию. Следует сделать запрет на все телефоны доступа, указав в качестве телефона 0, а затем добавить строку с разрешением входа на 111111. Группировка по типам при авторизации делается для того, чтобы ограничения одного типа не перекрывали другие. То есть, если человек не прошел по телефону доступа, его не должно пустить только потому, что доступ в это время разрешен. Дополнительные сведения по ограничениям: - * означает любое значение в телефонах доступа; т.е. делаете 2 ограничения "По телефону клиента":
но может и не сработать, т.к. у Вас в AUTHENTICATION_REQUEST нет IP адреса |
Автор: | dlkustov [ 09 июл 2010, 18:04 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
То что скипт отрабатывает это и так понятно, но при установленных ограничениях 5 deny* 8.07.2010 Комент 5 allow 10.6.0.13 8.07.2010 комент Он пускает как и должно вроде все пучком! Ошибок нет логи в норме. Теперь берем и тупо заходим с соседней рабочей станции соответственно ip у нее 10.6.0.14 c этим же логином и паролем ну и он пускает тоже. Вывод ограничение не отрабатывает! Что и писалось в самом первом посте. |
Автор: | snark [ 09 июл 2010, 18:25 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
dlkustov писал(а): Вывод ограничение не отрабатывает! Что и писалось в самом первом посте. смотрите ... у Вас dlkustov писал(а): Код: 09 12:43:14 Type=AUTHENTICATION_REQUEST Attributes: User-Name=test NAS-Port-Id=Uniq-Sess-ID345 CHAP-Password=\u1?q? ?w?:\u21)?°?\u14?? NAS-IP-Address=10.0.0.12 NAS-Port=605 Service-Type=2 Framed-Protocol=1 NAS-Port-Type=5 а я уже писал snark писал(а): может и не сработать, т.к. у Вас в AUTHENTICATION_REQUEST нет IP адреса вывод - работать не будет, до тех пор пока Ваш кот не начнет слать эти атрибуты в Access-Request, т.е. надо сказать что-то в духе: Код: radius attribute 66 include-in-access-req
|
Автор: | dlkustov [ 09 июл 2010, 18:32 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
аттрибут "8 Framed IP address attribute" - на кошке присутствует radius-server attribute 8 include-in-access-req может нужен DEBUG с кошки радиус-запроса? Могу скинуть показать. |
Автор: | snark [ 09 июл 2010, 18:41 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
Вы разницу между RADIUS Attribute 8 (Framed-IP-Address) и RADIUS Attribute 66 (Tunnel-Client-Endpoint) понимаете? в первом случае - это IP адрес РРТР соединения, а во втором - это IP адрес с которого поисходит подключение ... я писал что нужно в реквесте отправлять Tunnel-Client-Endpoint |
Автор: | dlkustov [ 09 июл 2010, 19:27 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
Само сабой понимаем! Такой команды на 66 параметр на этой кошке нет. Но коша этот параметр Tunnel-Client-Endpoint радиусу передает иначе бы просто не отработал бы скипт предобработки. |
Автор: | snark [ 09 июл 2010, 20:25 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
он у вас передается в interim update и в stop а должен присутствовать и при start! это важно! в БГБ попросту не может отработать запрет потому что при авторизации юзера он не видит параметра по которому надо принять решение о том пустить юзера или нет и сравнивая пустоту с введенными Вами параметрами он принимает решение о том что всетаки да, пустить ... если не сможете найти иос который передает атрибут 66 в start пакете, то у Вас есть только 2 варианта: - продолжать использовать РРТР и проверять IP адрес в скрипте и дропать сессию если адрес не совпадает с разрешенным, но это приведет к появлению over 9000 сессий которые были сброшены сразу после начала - перейти на РРРоЕ - там Calling-Station-Id при старте есть всегда |
Автор: | dlkustov [ 12 июл 2010, 10:35 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
Все понятно! Огромное человеческое спасибо, только ответьте еще на один несложный вопрос))) что значит скрипт ? т.е. это скрипт пердобработки NAS`а или это скрипт по событию радиус-аутентификации? т.е. как правильно сделать - привязать скрипт радиус-аутентификации к пользователю , или все это можно получить через NAS(скрипт предобработки), просто в самом биллинге мы еще достаточно плаваем! И хотелось бы по началу не допускать по крайней мере мелких и глупых ошибок! ![]() |
Автор: | snark [ 12 июл 2010, 16:04 ] |
Заголовок сообщения: | Re: Вкладка "Ограничения" - не могу заставить отработать правила |
в идеале хотелось ответить так: Цитата: рисуете примерно такой скрипт радиус аутентификации (это самое оптимальное место, да к тому же только отсюда можно послать отлуп): Код: import bitel.billing.server.radius.*; import bitel.billing.server.processor.event.*; response = event.getResponse(); /* тут SELECT-ом получаете, назовем переменную userIpArrd, разрешенный IP адрес, например из таблицы ограничений (рано или поздно Вы научите Вашего кота его отдавать при старте) или из параметров договора или из объекта или еще откуда - зависит от Вашей фантазии и оттого куда вы будете писать оный IP */ if (userIpArrd != null) { if (userIpArrd != разрешенному) { response.setPacketType(RadiusPacket.AUTHENTICATION_REJECT); return; } } и все - юзер коннектится, и получает ошибку 691 но вся сложность заключается в том что у Вас при старте нету IP адреса юзера:( а в радиус аутентификация отрабатывает только при старте, поэтому скорее всего придется запускать некий скрипт по таймеру, но это не самое оптимальное решение, т.к. сессия юзера может к тому времени провисеть уже минуту ![]() Вы все же попробуйте скормить коту Код: vpdn aaa attribute nas-ip-address vpdn-nas тогда получите IP адрес клиента, то ли в RADIUS Attribute 8 (Framed-IP-Address) то ли в RADIUS attribute 32 (NAS-Identifier) - я не поню ![]() ![]() |
Страница 1 из 1 | Часовой пояс: UTC + 5 часов [ Летнее время ] |
Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |