allexch Опубликовано 27 сентября, 2010 · Жалоба Те если 1 IP качает то все 20 может дать, если 2 то по 10Мбит разделится, или по необходимости (1+19 или 2+18), те что бы сеть полисилась...Как при этом должна происходить аутентификация пользователя? То есть, что должно приходить в User-Name первоначально? Я полагаю, что USER-NAME должен приходить тот который идет от пользователя(ip address), а вот Radius(БД) должен хранить "новый атрибут"-маску подсети для этого IP(для всех IP в этой сети), что бы ISG знала что полисится не только этот IP но и вся сеть(те после 1-го IP уже создать правило для полисинга всей сети). Далее если приходит новый IP из этой сети, то все тоже самое, на ISG клиент авторизовался, получил атрибут = маске и пошли резаться уже 2 IP, по уже созданному правилу. Framed-IP-Netmask Есть такой атрибут вроде даже... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 27 сентября, 2010 · Жалоба В ридми же написано:but first you need to reference tree-like structures automaticallycreated using IPTables::SubnetSkeleton, f.e.: iptables -t nat -I PREROUTING -j stat_nat_dst_skeleton iptables -t nat -I POSTROUTING -j stat_nat_src_skeleton Ну а сама цепочка stat_nat_dst_skeleton ,на которую указывает ссылка из примера, должна создаваться автоматически или всё же отдельным скриптом? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
EvilShadow Опубликовано 27 сентября, 2010 · Жалоба tree-like structures automatically created using IPTables::SubnetSkeleton У меня так автоматически и создавалось, мне оставалось только добавить указанные правила, что трафик в эти цепочки пошёл. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
shaytan Опубликовано 27 сентября, 2010 (изменено) · Жалоба tree-like structures automatically created using IPTables::SubnetSkeletonУ меня так автоматически и создавалось, мне оставалось только добавить указанные правила, что трафик в эти цепочки пошёл. Хм, а у меня не создалась. PS. Всё ОК, просто конфиг не тот поправил. Изменено 27 сентября, 2010 пользователем shaytan Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 27 сентября, 2010 · Жалоба allexch, то есть подсчет раздельный (1 сессия - 1 IP из подсети), а bandwidth один на всех? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 27 сентября, 2010 (изменено) · Жалоба allexch, то есть подсчет раздельный (1 сессия - 1 IP из подсети), а bandwidth один на всех? Давно об этом думаю(мечтаю). Вроде лучше будет, чтобы логином приходило правило из iptables (192.168.0.0/28 например). Тогда не надо будет на всю сеть заводить тучу логинов. А в iptables добавить параметр -net, чтобы отличить разбор сети поIPшно или всю сеть. А вот в Calling-Station-Id чтобы пришел IP компьютера (можно и с MAC адресом). Так и выйдет, что подсчет раздельный (в билинге уже можно как угодно по складывать, но и носом ткнуть в конкретного качальщика), а bandwidth один на всю сеть Изменено 27 сентября, 2010 пользователем SNeon Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
allexch Опубликовано 28 сентября, 2010 · Жалоба allexch, то есть подсчет раздельный (1 сессия - 1 IP из подсети), а bandwidth один на всех? Мне кажется что подсчет на каждом IP не нужен, нужен суммарный (и то для информации), (обычно же нет таких тарифов, сетка на 16 IP 5 Гигов трафика в месяц каждый IP). А вот Bandwidth нужен общий на всю сеть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
~pavel~ Опубликовано 28 сентября, 2010 · Жалоба allexch, то есть подсчет раздельный (1 сессия - 1 IP из подсети), а bandwidth один на всех? Я думаю подразумевается чтобы ISG могла оперировать не одиночными ip а еще и сетями. Чтобы можно было открыть сессию привязав ее к сети, соответственно и аккаунтинг на всю сеть. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 28 сентября, 2010 · Жалоба Маленькая проблемка с COA. echo NAS-Identifier="isg",User-Name="192.168.0.100",Cisco-Account-Info="Au4000" | radclient -x 192.168.0.1:3799 coa secret Sending CoA-Request of id 66 to 192.168.0.1 port 3799 NAS-Identifier = "isg" User-Name = "192.168.0.100" Cisco-Account-Info = "Au4000" rad_recv: CoA-NAK packet from host 192.168.0.1 port 3799, id=66, length=26 Error-Cause = Session-Context-Not-Found /usr/local/ISG/bin/ISG.pl | grep 192.168.0.100 Appr 192.168.0.100 0.0.0.0 Virtual737 6446D456863597C3 3630 1409326 2199828 0 0 Что я делаю не так ? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 28 сентября, 2010 · Жалоба allexch, то есть подсчет раздельный (1 сессия - 1 IP из подсети), а bandwidth один на всех?Мне кажется что подсчет на каждом IP не нужен, нужен суммарный (и то для информации), (обычно же нет таких тарифов, сетка на 16 IP 5 Гигов трафика в месяц каждый IP). А вот Bandwidth нужен общий на всю сеть. с одной стороны и не нужен. Но есть клиенты-фирмы. У них 5-30 сотрудников и 5 мегабит. Так вот один начинает качать, все начинают паниковать. Сразу звонки в т.п. де наша скорость. Если есть подсчет по IP то можно сказать, что так мол и так, пните "хакера" с IP таким-то. Даже если на той стороне трубки меня не поймут - криков поубавится. А вот если ответить "да у вас канал весь забит - сами разбирайтесь" начнутся принеприятные качели. В билинге или интерфейсе к нему просуммировать не большая проблема, даже при 3000+ онлайн. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 28 сентября, 2010 · Жалоба Маленькая проблемка с COA.Воспроизвести не удалось к сожалению. У Вас модуль ядра и userspace-обвязка (ISG/ISGd) одной версии (из одного релиза)? Cisco-Account-Info="Au4000"А вот такое точно не заработает в текущей версии. Могу предложить подождать следующий релиз. чтобы логином приходило правило из iptables (192.168.0.0/28 например).Если у Вас например будет 50 сеточек, то такой подход окажется неэффективным (100 правил в FORWARD - это не очень). Пока не могу обещать раздельный учет по IP-адресам в подсети, но суммарный подсчет/полисинг на сессию для подсети в будущем сделаю. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
pchol Опубликовано 28 сентября, 2010 (изменено) · Жалоба Релиз один. Абсолютно точно. Тоесть на данный момент через COA можно менять только Class ? Изменено 28 сентября, 2010 пользователем pchol Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 29 сентября, 2010 · Жалоба Тоесть на данный момент через COA можно менять только Class ? Да. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
allexch Опубликовано 29 сентября, 2010 · Жалоба Пока не могу обещать раздельный учет по IP-адресам в подсети, но суммарный подсчет/полисинг на сессию для подсети в будущем сделаю. Круто! Ждем. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
SNeon Опубликовано 29 сентября, 2010 · Жалоба Пока не могу обещать раздельный учет по IP-адресам в подсети, но суммарный подсчет/полисинг на сессию для подсети в будущем сделаю. Клас! А можно это в ближайший релиз? А то только отсутствие полисинга подсетей останавливает от внедрения Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
allexch Опубликовано 30 сентября, 2010 · Жалоба to Умник Возникла еще 1 просьба. Хотелось бы в идеале получить иерархический qos. Пример. Есть тариф 50 Мбит/с и в этих 50 не больше 10М/бит торрента. Торрент я мечу метками DSCP еще до ISG, на входе ISG получает 50 Мбит. ТЕ если там нет dscp то дать 50, если там dscp меток на 5Мбит, то дать клиента 45, если там dscp на 15Мбит, то 5 зарезать, оставить 10 Мбит/с DSCP остальное просто Интернет. Я так понимаю что такого не планировалось вводить, но с учетом лавинообразного роста трафика и появления в обозримом будующем тарифов в 100Мбит/с для физиков это становиться актуально(торрент на 100 от каждого пускать нельзя :) ). Возможно такое прикрутить к вашему софту или нет? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 октября, 2010 · Жалоба Добрый день, очень нужна помощь в решении проблемы. Есть CentOS - 5.5, система настроена в режиме шейпирующего бриджа. Пытаюсь поставить lISG, все ставиться, но работать не хочет. Собралось все без ошибок, модули на iptables установились и загрузились. [root@shaper bin]# lsmod Module Size Used by ipt_ISG 50008 4 iptable_filter 36161 1 ip_tables 55201 1 iptable_filter x_tables 50505 2 ipt_ISG,ip_tables bridge 91249 0 igb 153020 0 /var/log/messages Oct 1 11:01:01 shaper kernel: ip_tables: (C) 2000-2006 Netfilter Core Team Oct 1 11:01:01 shaper kernel: ipt_ISG: Network hash table (8192 Kbytes of 1048576 buckets, using /20 prefixes) Oct 1 11:01:01 shaper kernel: ipt_ISG: Loaded (built on 2010-07-31 11:38:19) Oct 1 11:06:48 shaper ISG[2689]: Refreshing traffic classification table Oct 1 11:06:48 shaper ISG[2689]: 13 prefixes loaded to TC table Oct 1 11:06:48 shaper kernel: ipt_ISG: Listener daemon with pid 2692 registered Oct 1 11:06:48 shaper ISG[2692]: ISG job initialization done for NAS '127.0.0.1', entering main loop Oct 1 11:07:31 shaper ISG[2692]: Session '91.xx.xx.194' on 'Virtual1' accepted by '127.0.0.1:1812' [root@shaper bin]# iptables -L FORWARD -vn Chain FORWARD (policy ACCEPT 17M packets, 12G bytes) pkts bytes target prot opt in out source destination 579 47662 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG initiator src mode 174 14544 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG Далее [root@shaper bin]# ./ISG.pl User IP-address NAT IP-address Port number Uniq. Identifier Durat. Octets-in Octets-out Rate-in Rate-out Service name Flags 91.xx.xx.194 0.0.0.0 Virtual1 9C6E660DCEF9CA66 639 14544 0 0 0 Undefined A [root@shaper bin]# В tc.conf создан класс ALL_INET 0.0.0.0/0 В config.pl ## Format for download and upload rates: "rate;normal burst" (in bit/s) ## Use zero values (0;0) for no rate limit $cfg{srv}{GOROD_MIR}{download_rate} = "400000;256000"; $cfg{srv}{GOROD_MIR}{upload_rate} = "400000;256000"; $cfg{srv}{GOROD_MIR}{no_accounting} = 1; $cfg{srv}{GOROD_MIR}{traffic_classes} = [ "ALL_INET" ]; Радиус говорит Fri Oct 1 11:25:31 2010 User-Name = "91.xx.xx.194" Calling-Station-Id = "91.xx.xx.194" Service-Type = Framed-User NAS-IP-Address = 127.0.0.1 NAS-Identifier = "127.0.0.1" Called-Station-Id = "127.0.0.1" NAS-Port = 1 NAS-Port-Type = Virtual Acct-Status-Type = Interim-Update Acct-Authentic = RADIUS Acct-Session-Id = "9C6E660DCEF9CA66" Acct-Session-Time = 1080 Acct-Input-Packets = 174 Acct-Output-Packets = 0 Acct-Input-Octets = 14544 Acct-Output-Octets = 0 Acct-Input-Gigawords = 0 Acct-Output-Gigawords = 0 Cisco-AVPair = "client-mac-address=001e.58d6.b001" Cisco-Control-Info = "I0;14544" Cisco-Control-Info = "O0;0" Acct-Unique-Session-Id = "8381968b8c623c0a" Timestamp = 1285921531 Request-Authenticator = Verified Но самой авторизации нет, сквозь бридж ничего не проходит. Подскажите где искать ??? В логах тишина ... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 1 октября, 2010 · Жалоба 579 47662 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG initiator src mode 174 14544 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG Здесь ошибка. Во второй строке адрес должен быть в dst. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 октября, 2010 · Жалоба 579 47662 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG initiator src mode 174 14544 ISG all -- * * 91.xx.xx.194 0.0.0.0/0 ISG Здесь ошибка. Во второй строке адрес должен быть в dst. Спасибо огромное, невнимательность меня погубит... Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 октября, 2010 (изменено) · Жалоба Рано обрадовался.. Полисер не отработал ## Format for download and upload rates: "rate;normal burst" (in bit/s) ## Use zero values (0;0) for no rate limit $cfg{srv}{GOROD_MIR}{download_rate} = "400000;256000"; $cfg{srv}{GOROD_MIR}{upload_rate} = "400000;256000"; $cfg{srv}{GOROD_MIR}{no_accounting} = 1; $cfg{srv}{GOROD_MIR}{traffic_classes} = [ "ALL_INET" ]; В radius в файле users 91.xx.xx.194 Cleartext-Password := "91.xx.xx.194" Auth-Type := Local, Cisco-Account-Info = AGOROD_MIR А пишет [root@shaper etc]# ../bin/ISG.pl User IP-address NAT IP-address Port number Uniq. Identifier Durat. Octets-in Octets-out Rate-in Rate-out Service name Flags 91.xx.xx.194 0.0.0.0 Virtual1 FDFD112D87AF5361 625 22281068 58144024 0 0 Undefined A [root@shaper etc]# И попутно вопрос почему service name - undefined ? Rate-in, Rate-out по нулям ... Пытаюсь выставить вручную для данной сессии.. /usr/local/bin/ISG.pl change_rate Virtual1 1070 1070 [root@shaper etc]# /usr/local/bin/ISG.pl User IP-address NAT IP-address Port number Uniq. Identifier Durat. Octets-in Octets-out Rate-in Rate-out Service name Flags 91.хх.хх.194 0.0.0.0 Virtual1 31B62DBB2EA35543 2221 23422086 68515968 1070000 1070000 Undefined A [root@shaper etc]# Выставляет, но скорость все равно не ограничивается ... Изменено 1 октября, 2010 пользователем kww Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 1 октября, 2010 (изменено) · Жалоба kww, ISG.pl без параметров выдает список сессий. Чтобы посмотреть список сервисов для данной сессии, нужно сделать ISG.pl show_services Virtual1. В Вашем случае сессия никак не ограничена. Хотя внутри сервиса скорость должна ограничиваться, иначе бы у Вас вообще трафик не ходил. Изменено 1 октября, 2010 пользователем Умник Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 октября, 2010 · Жалоба kww, ISG.pl без параметров выдает список сессий. Чтобы посмотреть список сервисов для данной сессии, нужно сделать ISG.pl show_services Virtual1. В Вашем случае сессия никак не ограничена. Хотя внутри сервиса скорость должна ограничиваться, иначе бы у Вас вообще трафик не ходил. смотрим [root@shaper lisg]# ISG.pl show_services Virtual1 User IP-address NAT IP-address Port number Uniq. Identifier Durat. Octets-in Octets-out Rate-in Rate-out Service name Flags 91.xx.xx.194 0.0.0.0 Virtual1 5AD7D29E85B02C13 13587 24014766 194332552 400000 400000 GOROD_MIR SOU [root@shaper lisg]# ISG.pl show_services Virtual1 В каких единицах Rate-in Rate-out ?? У меня скорость на входе 20 мбит на ширину всего канала получается (( Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 1 октября, 2010 · Жалоба kww, интересно. Значение скорости - в битах. А счетчик (octets-in/out) выдает верное значение? По-идее после остановки сессии, выполнения iptables -Z, и перезапуска сессии счетчики: 1) В ISG-правилах iptables 2) Выдаваемые ISG.pl 3) Реальный объем, который замерен на тестовом клиенте (91.xx.xx.194) должны примерно совпадать. Это так? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
kww Опубликовано 1 октября, 2010 (изменено) · Жалоба kww, интересно. Значение скорости - в битах. А счетчик (octets-in/out) выдает верное значение? По-идее после остановки сессии, выполнения iptables -Z, и перезапуска сессии счетчики: 1) В ISG-правилах iptables 2) Выдаваемые ISG.pl 3) Реальный объем, который замерен на тестовом клиенте (91.xx.xx.194) должны примерно совпадать. Это так? Счетчик выдает похожее на правду, завтра замерю поподробнее, но после сброса сессии обьемы были похожи. Смущает другое, все это крутиться на бридже, может мешать ? но iptables c FORWARD то отрабатывают.. br0 Link encap:Ethernet HWaddr 00:1B:21:55:AC:00 inet6 addr: fe80::21b:21ff:fe55:ac00/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2667 errors:0 dropped:0 overruns:0 frame:0 TX packets:6 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0 RX bytes:122682 (119.8 KiB) TX bytes:468 (468.0 b) eth1 Link encap:Ethernet HWaddr 00:1B:21:55:AC:00 inet addr:10.0.0.1 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::21b:21ff:fe55:ac00/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1263792936 errors:0 dropped:0 overruns:0 frame:0 TX packets:1317200840 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:632314125201 (588.8 GiB) TX bytes:1175701009456 (1.0 TiB) eth2 Link encap:Ethernet HWaddr 00:1B:21:55:AC:01 inet addr:10.0.0.2 Bcast:10.0.0.255 Mask:255.255.255.0 inet6 addr: fe80::21b:21ff:fe55:ac01/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:1317197854 errors:0 dropped:0 overruns:0 frame:0 TX packets:1263763455 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:1176435433179 (1.0 TiB) TX bytes:630721809458 (587.4 GiB) Изменено 1 октября, 2010 пользователем kww Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Умник Опубликовано 2 октября, 2010 (изменено) · Жалоба Смущает другое, все это крутиться на бридже, может мешать ? Нет, это мешать не должно раз трафик все равно проходит через FORWARD. Возможно проблема в ядре 2.6.18 - там еще вроде бы никто не тестировал полисинг. Я проверю. Изменено 2 октября, 2010 пользователем Умник Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...