Lynx10 Опубликовано 27 января, 2011 · Жалоба Выложите, если можно, скрипты для привязки сего чуда к Abills. Буду очень благодарен.Выкладывал на форуме Abills. Там, правда, кое-чего нету, но при желании дописывается за полчаса. да - там есть - рабочее !НЕмного в сторону! но в тему ! Abram - тут проскакивало что вы DHCP демона на перле реализовываете (или реализировали) - мы тоже этим занимаемся! Кроме того тут проскакивал дхцп костыль к ЛИСГ - который тоже по тому же принципу работает есть одни вопрос! - если конечно сталкивались..... У нас перловый демон должен слушать не один интерфейс а все интерфейсы - на брас сходятся вланы! С одним интерфейсом всё работает прекрасно - но когда дело доходит до нескольких - то есть проблема определить с какого интерфейса пришёл дхцп запрос - чтобы правильно ему бродкастно отдать! Сталкивались ? решали ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 27 января, 2011 · Жалоба У нас перловый демон должен слушать не один интерфейс а все интерфейсы - на брас сходятся вланы! С одним интерфейсом всё работает прекрасно - но когда дело доходит до нескольких - то есть проблема определить с какого интерфейса пришёл дхцп запрос - чтобы правильно ему бродкастно отдать! Сталкивались ? решали ? А в чем смысл перлового демона, если туда сходится пачка vlan-ов? Чем ISC не устроил? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Lynx10 Опубликовано 27 января, 2011 · Жалоба У нас перловый демон должен слушать не один интерфейс а все интерфейсы - на брас сходятся вланы! С одним интерфейсом всё работает прекрасно - но когда дело доходит до нескольких - то есть проблема определить с какого интерфейса пришёл дхцп запрос - чтобы правильно ему бродкастно отдать! Сталкивались ? решали ?А в чем смысл перлового демона, если туда сходится пачка vlan-ов? Чем ISC не устроил? гибко раздавать адреса - интегрировать с базой и т д! можна крутить вертеть как угодно Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 27 января, 2011 · Жалоба У нас перловый демон должен слушать не один интерфейс а все интерфейсы - на брас сходятся вланы! С одним интерфейсом всё работает прекрасно - но когда дело доходит до нескольких - то есть проблема определить с какого интерфейса пришёл дхцп запрос - чтобы правильно ему бродкастно отдать! Сталкивались ? решали ?А в чем смысл перлового демона, если туда сходится пачка vlan-ов? Чем ISC не устроил? гибко раздавать адреса - интегрировать с базой и т д! можна крутить вертеть как угодно Слишком много логики надо писать. Вы себе не представляете даже, СКОЛЬКО там подводных камней. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dir1212 Опубликовано 27 января, 2011 · Жалоба Выкладывал на форуме Abills. Там, правда, кое-чего нету, но при желании дописывается за полчаса.Ссылка мертвая. Можно на почту gdir1212[at]gmail.com Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 27 января, 2011 · Жалоба Выкладывал на форуме Abills. Там, правда, кое-чего нету, но при желании дописывается за полчаса.Ссылка мертвая. Можно на почту gdir1212[at]gmail.com Пардон, но уже все проепролюблено :(. Найду - сброшу куда-нибудь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 28 января, 2011 · Жалоба Перехали с фрирадиуса на радиус биллинга (ланбиллинг), лог засыпало ошибками. Jan 28 05:24:31 shaper ISG[6915]: No more servers to retry for 'x.x.246.107', give up Jan 28 05:24:31 shaper ISG[6915]: No more servers to retry for 'x.x.238.88', give up Jan 28 05:24:31 shaper ISG[6915]: No more servers to retry for 'x.x.237.214', give up Jan 28 05:24:31 shaper ISG[6915]: No more servers to retry for 'x.x.247.69', give up Jan 28 05:24:32 shaper ISG[6915]: No more servers to retry for 'x.x.233.21', give up Jan 28 05:24:32 shaper ISG[6915]: No more servers to retry for 'x.x.232.214', give up Непонимаю в чём дело. Радиус по этим клиентам нормально отдаёт информацию. shaper:/var/log#radtest х.х.237.214 х.х.237.214 192.168.90.200 1812 blscrns Sending Access-Request of id 149 to 192.168.90.200 port 1812 User-Name = "х.х.237.214" User-Password = "х.х.237.214" NAS-IP-Address = х.х.226.11 NAS-Port = 1812 rad_recv: Access-Accept packet from host 192.168.90.200 port 1812, id=149, length=65 Session-Timeout = 86400 Service-Type = Framed-User Framed-Protocol = PPP Class = 0x3030303734303031 Acct-Interim-Interval = 60 Class = 0x343030302f34303030 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 9 марта, 2011 · Жалоба Внимание, грабли! В коммитах от 16-17 февраля изменено поведение RADIUS-атрибута Class. changeset: 36:00dc45285358 tag: tip user: sysoleg date: Thu Feb 17 09:37:34 2011 +0300 summary: Use 'Class' RADIUS-attribute as per RFC changeset: 35:edb6de789e20 user: sysoleg date: Wed Feb 16 22:57:24 2011 +0300 summary: Don't use 'Class' attribute to store rate limiting information, please see README for 'Cisco-Account-Info = QU;cir;normal burst;D;cir;normal burst' Теперь вместо Class=xxx/yyy передаем Cisco-Account-Info=QU;cir;normal burst;D;cir;normal burst . Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 14 апреля, 2011 (изменено) · Жалоба Проект еще жив ? Изменено 14 апреля, 2011 пользователем kww Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 14 апреля, 2011 · Жалоба Во всяком случае все работает :))) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 14 апреля, 2011 · Жалоба Проект еще жив ? Да, и не так давно даже были коммиты. Умник втихую пилит :). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shicoy Опубликовано 15 апреля, 2011 · Жалоба "недавно" очень растяжимое понятие. last commit 5 weeks ago... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
C@T Опубликовано 29 апреля, 2011 (изменено) · Жалоба За проектом наблюдаю практически с самого начала, но наконец-то нашлось время потестировать его. Возник вопрос, может кто подскажет... Многократное прочтение README не помогло. Одна из основных задач - смена скорости несколько раз в сутки как без участия пользователей, так и при помощи турбо-кнопки. Как я понимаю, без CoA тут не обойтись. берем последнюю версию из git'а Смотрим README In "Change of Authorization" messages you can currently change only this attributes of session: * Class (the attribute is using in lISG for rate policing) но Don't use 'Class' attribute to store rate limiting information, please see README for 'Cisco-Account-Info = QU;cir;normal burst;D;cir;normal burst' через атрибут "Class" скорость передавать больше не удастся? при попытке передать CoA: xx@nas1:# echo NAS-Identifier="10.10.10.1",User-Name="10.10.10.10",Class="5000/5000" | radclient -x 127.0.0.1:3799 coa apple Sending CoA-Request of id 211 to 127.0.0.1 port 3799 NAS-Identifier = "10.10.10.1" User-Name = "10.10.10.10" Class = 0x353030302f35303030 rad_recv: CoA-ACK packet from host 127.0.0.1 port 3799, id=211, length=20 но Rate-in/Rate-out у сессии все также остается нулевым. Как в новом атрибуте Class передать скорость осталось неясным даже после прочтения RFC README: Attribute: Class = cookie_value Description: Standard attribute (as per RFC). String up to 32 chars. Example: Class = user_id_31 ткните пожалуйста носом, хоть примерно, как динамически применять новые параметры скорости? или единственный выход - это найти ту версию, где скорость передавалась в атрибуте "Class" ? PS: пришлось пока поставить одну из предыдущих версий, где скорость передается через атрибут "class", там CoA работает нормально Изменено 29 апреля, 2011 пользователем C@T Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 29 апреля, 2011 · Жалоба C@T, В одном из последних коммитов было изменение. Видимо, не попало в README. В Class теперь можно вписывать только классы трафика, определенные в конфиге, а скорость нужно писать в Cisco-Account-Info. Т.е. либо указываем класс трафика из конфига, в котором уже есть всё (и скорость тоже), либо по старинке, вручную, через Cisco-Account-Info. Как-то так: /bin/echo NAS-IP-Address=$nasip,Acct-Session-Id=$session,Cisco-Account-Info=\"QU\;$speed_out\;$burst_out\;D\;$speed_in\;$burst_in\" |/usr/local/bin/radclient -d /etc/freeradius -x $nasip:3799 coa $naspw Кстати, не забываем экранировать спецсимволы. Я на этом когда-то долго топтался :). В Perl, например, получается такая строчка (именно так используется и работает у меня): print ("/bin/echo NAS-IP-Address=$nasip,Acct-Session-Id=$session,Cisco-Account-Info=\\\"QU\\\;$speed_out\\\;$burst_out\\\;D\\\;$speed_in\\\;$burst_in\\\" |/usr/local/bin/radclient -d /etc/freeradius -x $nasip:3799 coa $naspw"); Кроме всего прочего, есть ещё одни грабли. В Class скорость раньше указывалась в килобитах, а в Cisco-Account-Info - в битах. Соответственно, перед приёмом внутрь подстановкой переменных скорости нужно на 1024 умножить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
C@T Опубликовано 1 мая, 2011 · Жалоба Abram, большое спасибо! Класс трафика из конфига передать так и не удалось пока-что, но зато работает все остальное! Осталось самое сложное - все это как-то с BGbilling связать ) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 8 июня, 2011 · Жалоба Можно узнать - как у вас реализованно следующее : 1. Стоп сессии при отрицательном балансе абонента 2. Смена скорости (в частности через сервисы/классы) Это задачи биллинга. 1. Отсылать PoD-пакет для остановки сессии. 2. Отсылать CoA для смены скорости/класса. Либо, как вариант - указывать класс в Access-Accept, в котором уже есть интервалы. Но лично мне удобней первое. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
klisha Опубликовано 14 июля, 2011 · Жалоба Abram, большое спасибо! Класс трафика из конфига передать так и не удалось пока-что, но зато работает все остальное! Осталось самое сложное - все это как-то с BGbilling связать ) Удалось ли связать с вышеназванным биллингом?? Очень интересует сей вопрос :-) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 14 июля, 2011 · Жалоба Abram, большое спасибо! Класс трафика из конфига передать так и не удалось пока-что, но зато работает все остальное! Осталось самое сложное - все это как-то с BGbilling связать ) Удалось ли связать с вышеназванным биллингом?? Очень интересует сей вопрос :-) Всё работает без какого либо шаманства. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 27 июля, 2011 · Жалоба http://dl.dropbox.com/u/12495607/web_auth_v2.patch Редирект неавторизованных сессий на страницу авторизации. Если кому надо - просьба проверить и отписаться. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
MARTINii Опубликовано 13 сентября, 2011 · Жалоба умы помогите! :) понадобилось получать детализацию. сразу говорю - у меня нат и надо детализацию реальника во внешку. ктонить через ULOG собирал? какое правило для iptables прописать? допустим входящий отловил так: iptables -t mangle -I PREROUTING -d xxx.xxx.xxx.xxx -j ULOG --ulog-nlgroup 1 а вот как быть с исходящим? ни в одной таблице не нашел :( все время серый на внешку Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 14 сентября, 2011 · Жалоба MARTINii, Сразу перед правилами, заворачивающими на nat skeleton. Должно прокатить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mnemonic Опубликовано 21 сентября, 2011 · Жалоба http://dl.dropbox.com/u/12495607/web_auth_v2.patch Редирект неавторизованных сессий на страницу авторизации. Если кому надо - просьба проверить и отписаться. Попробовал ваш патч. 1. При успешной авторизации IP всё равно попадает в таблицу web_auth и редиректится 2. Редирект получается зацикленным, то есть получается что iptables постоянно редиректит уже отредирекченный запрос. До сервера авторизации куда надо редиректить запросы не доходят 3. В скрипте исправил параметры "add" "del" "flush" на "--add" "--del" "--flash" так-как синтаксис у ipset у меня другой На чём тестирую: OS: ArchLinux kernel = 2.6.32-lts iptables = v1.4.12.1 ipset v4.5, protocol version 4. Perl = v5.14.1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mnemonic Опубликовано 22 сентября, 2011 · Жалоба http://dl.dropbox.com/u/12495607/web_auth_v2.patch Редирект неавторизованных сессий на страницу авторизации. Если кому надо - просьба проверить и отписаться. Попробовал ваш патч. 1. При успешной авторизации IP всё равно попадает в таблицу web_auth и редиректится 2. Редирект получается зацикленным, то есть получается что iptables постоянно редиректит уже отредирекченный запрос. До сервера авторизации куда надо редиректить запросы не доходят 3. В скрипте исправил параметры "add" "del" "flush" на "--add" "--del" "--flash" так-как синтаксис у ipset у меня другой На чём тестирую: OS: ArchLinux kernel = 2.6.32-lts iptables = v1.4.12.1 ipset v4.5, protocol version 4. Perl = v5.14.1 1. Закоментировал строку в коде и стало работать как надо out: my $username = ISG::long2ip($ev->{'ipaddr'}); do_log("err", "No more servers to retry for '$username', give up"); # web_auth("--add", $username); return 0; 2.Сервер авторизации должен быть доступен из сети а не через Linux ISG, тогда никаких проблем с редиректом. Abram, большое спасибо за патч! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 23 сентября, 2011 · Жалоба mnemonic, Редирект получается зацикленным, то есть получается что iptables постоянно редиректит уже отредирекченный запрос. До сервера авторизации куда надо редиректить запросы не доходят Да, сервер должен быть доступен из сети. При успешной авторизации IP всё равно попадает в таблицу web_auth и редиректится Т.е. если от RADIUS-а приходит Access-Accept? Странно. Было, после CoA не обнулялось - уже исправил. В скрипте исправил параметры "add" "del" "flush" на "--add" "--del" "--flash" так-как синтаксис у ipset у меня другой У меня тоже Arch, ipset v6.8, protocol version: 6 - более свежий. Я веб-авторизацию еще немного доделал - на днях выложу патч. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mnemonic Опубликовано 26 сентября, 2011 · Жалоба В лог постоянно сыпятся сообщения вида. Sep 26 18:55:16 localhost ISG[1330]: No more servers to retry for 'X.X.127.101', give up Для изменения скорости сессии использую: echo NAS-Identifier="192.168.13.101",User-Name="X.X.127.101",Class=2048/2048|radclient -x 192.168.13.101 coa apple для удаления echo NAS-Identifier="192.168.13.101",User-Name="X.X.127.101" |radclient -x 192.168.13.101 disconnect apple Для одной сессий всё прокатывает. Если сессий несколько то выдаётся ошибка: Sending Disconnect-Request of id 137 to 192.168.13.101 port 3799 NAS-Identifier = "192.168.13.101" User-Name = "X.X.127.101" rad_recv: Disconnect-NAK packet from host 192.168.13.101 port 3799, id=137, length=26 Error-Cause = Session-Context-Not-Found Может кто сталкивался с подобным! Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...