Abram Опубликовано 29 августа, 2012 · Жалоба success story есть у кого? есть данные по нагрузкам? Нагрузка от самого lISG стремится к нулю. Можете считать, что нагрузки будут как при простом forwarding + NAT. Success story есть - уже больше года в продакшене. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
alexmern Опубликовано 30 августа, 2012 · Жалоба success story есть у кого? есть данные по нагрузкам? http://forum.nag.ru/forum/index.php?showtopic=53156&view=findpost&p=701412 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sfedu Опубликовано 12 сентября, 2012 · Жалоба Всем привет. Братцы, подскажите, для того чтобы запустить минимальную конфигурацию, наличие radius обязательно? Если исходить из мануала, то да. Rules labeled with "--session-init" parameter is so called"initialization" rules. When packet hits this rule, ipt_ISG kernel module tries to detect if this packet is belongs to "approved" session. If not, ipt_ISG drop packet and send NETLINK message to ISGd.pl. Daemon contacts RADIUS server to authorize this packet using its src IP address as User-Name attribute. If RADIUS accepting this request, session turn its state to "approved", daemon applies bandwidth policy to the session and starts accounting. Otherwise session remains in "unapproved" state for approve_retry_interval time (see ipt_ISG module parameters). А есть ли способ обойтись без радиуса? Может кто подскажет small биллинг для заявязки lisg+freeradius+админка? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 12 сентября, 2012 · Жалоба А есть ли способ обойтись без радиуса? Ага. Переписать код ISGd. :) В общем, проще поднять радиус. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 12 сентября, 2012 · Жалоба Может кто подскажет small биллинг для заявязки lisg+freeradius+админка? Пилите свой, на перле пара недель если минимум сделать. Ну или полновесный ставьте, абиллс к примеру. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sfedu Опубликовано 13 сентября, 2012 · Жалоба Может кто подскажет small биллинг для заявязки lisg+freeradius+админка? Пилите свой, на перле пара недель если минимум сделать. Ну или полновесный ставьте, абиллс к примеру. abills есть, давно им пользуюсь для pptp. Но для abills не готов модуль lisg, кто-то пытался прикрутить самописный, но в wiki у асмодеуса тишина по этому поводу, да и когда он его допилит, скорей всего он будет небесплатный. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 13 сентября, 2012 · Жалоба Может кто подскажет small биллинг для заявязки lisg+freeradius+админка? Пилите свой, на перле пара недель если минимум сделать. Ну или полновесный ставьте, абиллс к примеру. abills есть, давно им пользуюсь для pptp. Но для abills не готов модуль lisg, кто-то пытался прикрутить самописный, но в wiki у асмодеуса тишина по этому поводу, да и когда он его допилит, скорей всего он будет небесплатный. У меня работает самописный уже больше года. Что я делаю не так? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sfedu Опубликовано 14 сентября, 2012 (изменено) · Жалоба У меня работает самописный уже больше года. Что я делаю не так? Все так. Поделится кодом можешь? Буду примного благодарен. Смотрел твою тему тут Пытался тянуть тут, не тянется. p.s. что-то с моими bbcode не то, толи что-то не так делаю, толи от того что новичек на форуме. Изменено 20 сентября, 2012 пользователем Shiva Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
sfedu Опубликовано 18 сентября, 2012 · Жалоба 2 Abram, не могу бы ты перезалить abills_lisg.tar.gz? по твоей ссылке он не доступен. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kamae1ka Опубликовано 18 сентября, 2012 · Жалоба Доброе время суток! Решил поставить 2 ISG сервак, но увы что-то пошло не так, увидел много изменений. Запустил сессию, но SHAPE атрибут не присвоился, iptables добавил правила на трафик, но увы роутов нет в bgp Linux isg-eman-01.localdomain 2.6.32-279.5.1.el6.x86_64 #1 SMP Tue Aug 14 23:54:45 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux iptables v1.4.7 User IP-address NAT IP-address Port number Uniq. Identifier Durat. Octets-in Octets-out Rate-in Rate-out Service name Flags 10.40.0.2 195.191.82.156 Virtual1 132ADA9AE33A699C 2 68 0 0 0 Undefined A что сделал не так?) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 18 сентября, 2012 · Жалоба sfedu, Да, вижу. Увы, то, что было на выложено на форуме, безвозвратно потеряно. У меня есть полностью рабочий модуль, но я его устанавливаю только под заказ - там куча доделок под себя и для клиентов. kamae1ka, См. readme. Во-первых, насчет маршрутов: нужна патченная quagga для правильной работы с blackhole маршрутами. Можно взять quagga-kernel-blackhole-add.diff отсюда: http://aur.archlinux.org/packages.php?ID=53139 . Во-вторых, насчет шейпера: версия из git? Там менялся атрибут. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kamae1ka Опубликовано 18 сентября, 2012 (изменено) · Жалоба kamae1ka, См. readme. Во-первых, насчет маршрутов: нужна патченная quagga для правильной работы с blackhole маршрутами. Можно взять quagga-kernel-blackhole-add.diff отсюда: http://aur.archlinux.org/packages.php?ID=53139 . Во-вторых, насчет шейпера: версия из git? Там менялся атрибут. ну... дело в том что маршрут в blackhole вообще не появляется патч я давно применил) тоже винил на него,но увы, дело не в нем ='( Изменено 18 сентября, 2012 пользователем kamae1ka Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 18 сентября, 2012 · Жалоба ISGd.pl, где-то 400 строка: if (defined($nat_ipaddr)) { $oev->{'nat_ipaddr'} = ISG::ip2long($nat_ipaddr); if (defined($cfg{static_nat}) && $nat_ipaddr !~ /^192\.168/ && $exp_login ne $nat_ipaddr) { skel_static_nat("add", $exp_login, $nat_ipaddr); bh_route("add", $nat_ipaddr); } } Маршрут добавляется вместе с правилами iptables. Если этого не происходит - смотреть bh_route: sub bh_route { my ($act, $real_ip) = @_; return if ($act ne "add" && $act ne "del"); `ip route $act blackhole $real_ip 2>/dev/null`; } Оно вызывает ip route add blackhole 1.2.3.4 . Может, у Вас iproute2 не установлен? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kamae1ka Опубликовано 18 сентября, 2012 · Жалоба iproute2 установлен, выяснил что блекхол создается, но уперто ен хочет его отдавать зебра, даже в список не выводит [root@isg-eman-01 sbin]# ip route blackhole 195.191.82.156 [root@isg-eman-01 sbin]# netstat -rn 195.191.82.156 0.0.0.0 255.255.255.255 UH 0 0 0 * вывод ip route kernel: K>* 0.0.0.0/0 via 195.191.82.33, eth1 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 18 сентября, 2012 · Жалоба kamae1ka, Значит, с патчем что-то не то. Вы пробовали тот, что я давал? Это не такой, как в ридми. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kamae1ka Опубликовано 19 сентября, 2012 · Жалоба сейчас ставлю centos 5.X заодно твой патч применю ;) думаю прокатит фишка Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kamae1ka Опубликовано 20 сентября, 2012 · Жалоба поставил 5.X оказалось ядрышко не то. поставил 6.3 + quagga 99.15 завелось, по непонятным причинам 99.20 не хотела со мной дружить =\ всем спасибо за внимание ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
vladd Опубликовано 2 октября, 2012 · Жалоба Посидел на досуге и дописал модуль RAWNAT для xtables-extensions, с целью улучшения работы 1-to-1 ната. Теперь можно создать пару правил SNAT/DNAT, а сопоставления IP заносить в отдельные таблицы, хранящиеся в памяти модуля, через специальную userspace-утилиту. Это гораздо удобнее, чем создавать миллион правил для всех подключенных клиентских IP. Пишу здесь, т.к. именно это и делает lisg. Результат - при трафике 2 гигабита и 4-х ядрах самое загруженное ядро - 20%. Можно на десятку теперь переходить. Если кому интересно, могу выложить патч здесь. К lisg нужно будет прикручивать отдельно, т.к. у нас другое решение, но там не должно быть ничего сложного. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
cpulink Опубликовано 13 октября, 2012 · Жалоба Результат - при трафике 2 гигабита и 4-х ядрах самое загруженное ядро - 20%. Можно на десятку теперь переходить. Если кому интересно, могу выложить патч здесь. К lisg нужно будет прикручивать отдельно, т.к. у нас другое решение, но там не должно быть ничего сложного. Очень интересно попробовать этот патч! Выложите, если есть время и возможность. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 19 октября, 2012 · Жалоба Уже давно пользуюсь Lisg в продакшне. И все это время не дает покоя одна странность с редиректом клиента на нужный URL, когда он не оплатил. С обычной связкой TPROXY + squid загрузка рутера взлетает от 20 до 80% на каждое ядро, и это при каких-то жалких 20-30 запросах в секунду. Отключив сквид - сразу обычные 20%. Что важно - вся загрузка только на Software interrupts, user+system+nice съедают меньше 5%. Достаточно даже одного клиента с торрентом, чтобы так подгрузить рутер. Трафик - до 4Гбит-фулл и чуть больше 1Mpps. NAT не использую (и естественно модули NAT'a в ядре не загружены). Подозреваю следующее - переключения userspace-ядро затирает кеш проца и поэтому обработка пакетов начинает жрать больше CPU. По сему вопрос к коллегам - может кто-то находил ядерный L4-редирект для iptables ? Ну или вообще хоть что-то подобное ? все что нарыл в гуглях - ядерный http-сервер, но он какой-то совсем не стабильный да и не совсем то, что нужно... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 21 октября, 2012 · Жалоба arni, А зачем так сложно, с squid-ом-то? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 21 октября, 2012 · Жалоба arni, А зачем так сложно, с squid-ом-то? можно конечно через iptables -j redirect, но это уже требует conntrack, а мне оно перформанс раза в 2 опускает на рутере. пробовал и tproxy - но там один коннект = один процесс, а это не есть гуд. Может есть еще какой-то метод? я с удовольствием потестирую :) идеально, если в kernel-mode ;) Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 22 октября, 2012 · Жалоба arni, Во-первых, боремся с conntrack: 1) Заводим ipset таблицу с неавторизованными адресами и заполняем её из ISGd.pl. 2) в -t mangle делаем ACCEPT на адреса из этой таблицы, следующее правило - -j NOTRACK. В conntrack попадает только то, что нам нужно, остальное - мимо. Во-вторых, редирект: 1) Запускаем на 127.0.0.1 на каком-нибудь порту nginx, единственное назначение которого - отдавать HTTP Temporary Redirect на внешнюю страницу с авторизацией/порталом/"дай денег" и тд. Таким образом избегаем cache poisoning у клиента - в браузере будет URL страницы-заглушки, а не того, что он просил. 2) В -t nat делаем -j REDIRECT на адреса из этой же таблицы. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
arni Опубликовано 23 октября, 2012 · Жалоба arni, Во-первых, боремся с conntrack: 1) Заводим ipset таблицу с неавторизованными адресами и заполняем её из ISGd.pl. 2) в -t mangle делаем ACCEPT на адреса из этой таблицы, следующее правило - -j NOTRACK. В conntrack попадает только то, что нам нужно, остальное - мимо. Во-вторых, редирект: 1) Запускаем на 127.0.0.1 на каком-нибудь порту nginx, единственное назначение которого - отдавать HTTP Temporary Redirect на внешнюю страницу с авторизацией/порталом/"дай денег" и тд. Таким образом избегаем cache poisoning у клиента - в браузере будет URL страницы-заглушки, а не того, что он просил. 2) В -t nat делаем -j REDIRECT на адреса из этой же таблицы. Спасибо за совет! Попробую, отпишусь. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Abram Опубликовано 23 октября, 2012 · Жалоба arni, Я где-то здесь выкладывал патч. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...