Перейти к содержимому
Калькуляторы

Попробовал отправить при авторизации пользователя

Сisco-Account-Info = AREDIR;

Интернет у пользователя появился

Статус Accept. Сервис не назначился

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как быть при системе влан-на-абонента.

Т.е. на свиче доступа есть 24 порта(вланы 100-124), которые заворачиваются в s-vlan 1000.

И так например 24 порта на коммутаторе ядре имеют 24 s-vlan-а, которые отдаются на сервер L-ISG.

В реале на узле стоит 5 коммутаторов в стеке по 24 порта, а на доступе в среднем не менее 30 портов занято.

В итоге это 3600 интерфейсов.

Сможет ли сервер обработать такую схему?

можно ли в username передавать название интерфейса?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А как быть при системе влан-на-абонента.

Т.е. на свиче доступа есть 24 порта(вланы 100-124), которые заворачиваются в s-vlan 1000.

И так например 24 порта на коммутаторе ядре имеют 24 s-vlan-а, которые отдаются на сервер L-ISG.

В реале на узле стоит 5 коммутаторов в стеке по 24 порта, а на доступе в среднем не менее 30 портов занято.

В итоге это 3600 интерфейсов.

Сможет ли сервер обработать такую схему?

можно ли в username передавать название интерфейса?

Вам к accel-ppp.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо Abram, уже начали крутить accel-ppp. вроде даже получается )

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А подскажите бояре, где подправить исходники на обработку своих атрибутов радиуса в качестве скорости?

У меня ответ выглядит так (биллинг УТМ)

radtest:

Sending Access-Request of id 15 to ххххххх port 1812

User-Name = "ххх"

User-Password = "ххх"

NAS-IP-Address = 127.0.0.1

NAS-Port = 12

Message-Authenticator = 0x00000000000000000000000000000000

rad_recv: Access-Accept packet from host ххххххх port 1812, id=15, length=70

Service-Type = Framed-User

Framed-Protocol = PPP

Framed-IP-Address = 192.168.6.136

Framed-IP-Netmask = 255.255.255.255

Framed-Routing = None

Session-Timeout = 86400

Acct-Interim-Interval = 63

Attr-230 = 0x3130

Attr-231 = 0x3130

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

А не подскажите, какие атрибуты нужно передавать для скорости?

Я так понимаю все приходит в циско аккаунт инфо?

 

Я в перле как то не особо, сложно сообразить как принять мой атрибут и на его основе задать скорость.

 

Смастерил такое:

после

if ($rp->code eq "Access-Accept" || ($rp->code eq "Access-Reject" && defined($cfg{unauth_service_name_list}))) {

my $oev;

my @rate_info;

my %srv_list;

вставил

#$rp->dump;

my $my_limit= $rp->attr("Traffic-Shape-in");

if (defined($my_limit)) {

my $speed=$my_limit*1024;

my $burst=($my_limit*1024)/8*1.5;

@rate_info=($speed,$burst,$speed,$burst);

}

но чувствую что то тут не то, т.к. вроде в Rate-in/Rate-out написано по 10240 но интернет не работает, хотя пингуется.

Видимо что то с берстом не то...

$my_limit = 10

10мб/с

если делаю так:

my $speed=$my_limit*1024*1024;

my $burst=$speed/8*0.25;

@rate_info=($speed,$burst,$speed,$burst);

входящая держится на уровне 9,4мб/с а исходящая 5мб/с (по спидтесту)

 

П.С. А если надо выдать реальный ИП, как быть?

сейчас у меня биллинг выдает серые адреса типо 192.168.х.х

# /opt/ISG/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

10.10.11.3 192.168.6.141 Virtual1 514E051806CCDBAC 12150 255877775 247367450 0 0 Main session A

10.10.11.2 192.168.6.140 Virtual2 B5084E5DB34ED579 13814 18786724 51208758 10485760 10485760 Main session A

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Cramac,

Мне сейчас сложновато вникнуть, да и я уже на accel-ppp перехожу.

Вот commit, в котором перелопачен полисер и радиус: https://bitbucket.org/sysoleg/lisg/commits/ae283775f86bd94e0b952468826f50c515442220 . Поможет понять, как там что.

Внешний IP выдается NAT-ом 1-в-1, но в коммите https://bitbucket.org/sysoleg/lisg/commits/b52e00171b1b7c20ea79cc4fd70e13932565a390 он выпилен.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а чем не устроил ISG если не секрет?

да и тут не понятно, как быть с сменой тарифа в начале месяца, тупо всем сбросить авторизацию...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а чем не устроил ISG если не секрет?

1) NAT 1 в 1.

2) Старый код, проблемы на новых ядрах, некоторые нерешенные проблемы на высокой нагрузке.

 

Ну и недостатки собственно самой схемы перед vlan per user.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

а чем не устроил ISG если не секрет?

1) NAT 1 в 1.

2) Старый код, проблемы на новых ядрах, некоторые нерешенные проблемы на высокой нагрузке.

А можно в двух словах что за проблемы с новыми ядрами и высокой нагрузкой?

У меня все собирается на новых ядрах без проблем.

 

Ну и недостатки собственно самой схемы перед vlan per user.

С помощью isg схема влан per user реализуется как и любая другая схема. Мне кажется проблема isg в том, что все-лишь простой интрумент, вокруг которого нужна обвязка, accel же предлагает намного более интегрированное законченное решение. Вопрос в том, что отзывов о его стабильной работе маловато, но есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

С помощью isg схема влан per user реализуется как и любая другая схема. Мне кажется проблема isg в том, что все-лишь простой интрумент, вокруг которого нужна обвязка, accel же предлагает намного более интегрированное законченное решение. Вопрос в том, что отзывов о его стабильной работе маловато, но есть.

Скрестил ежа у ужом. Linux ISG пускает в сеть, ограничивает скорость и считает трафик по направлениям, accel-pppd только создает динамически вланы и делает на них роуты ip unnumbered. Полет нормальный. Пришлось немного допилить ISGd чтобы отправлял логин не IP, а номер влана. Может быть можно было полностью и на accel перейти, но там нету аккаунтинга по направлениям.

Изменено пользователем alexmern

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приветствую!

Подскажите пожалуйста с двумя вопросами.

1. syslog забит такими сообщениями:

ul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.46.110' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.46.110', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.18.152' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.18.152', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.45.84' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.45.84', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.40.71' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.40.71', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.62.161' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.62.161', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.64.164' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.64.164', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.56.170' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.56.170', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.9.90' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.9.90', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.57.20' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.57.20', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.43.78' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.43.78', give up
...

Увеличивал в freeradius num_sql_socks, max_request_time, max_servers до 32 и 64. Ничего не менялось. При это пользователи авторизацию проходят, lisg работает. Критичны ли эти сообщения в логах?

 

2. ISGd.pl грузит процессор от 14% до 100% на одно ядро скачкообразно. Может пару секунд поработать 14-30, потом скачёк до 85-100, и так каждые секунд 10-15. Такая работа нормальная, или нагрузка должна быть стабильной? И можно ли разгрузить нагрузку приложения по ядрам?

Во время скачков нагрузка идет именно приложением, не системой. Сетевые карты 82576, прерывания раскиданы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Приветствую!

Подскажите пожалуйста с двумя вопросами.

1. syslog забит такими сообщениями:

ul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.46.110' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.46.110', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.18.152' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.18.152', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.45.84' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.45.84', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.40.71' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.40.71', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.62.161' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.62.161', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.64.164' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.64.164', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.56.170' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.56.170', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.9.90' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.9.90', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.57.20' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.57.20', give up
Jul 16 12:00:07 border ISG[28571]: Timeout waiting RADIUS reply for '10.1.43.78' from '172.16.0.2:1816'
Jul 16 12:00:07 border ISG[28571]: No more servers to retry for '10.1.43.78', give up
...

Увеличивал в freeradius num_sql_socks, max_request_time, max_servers до 32 и 64. Ничего не менялось. При это пользователи авторизацию проходят, lisg работает. Критичны ли эти сообщения в логах?

 

2. ISGd.pl грузит процессор от 14% до 100% на одно ядро скачкообразно. Может пару секунд поработать 14-30, потом скачёк до 85-100, и так каждые секунд 10-15. Такая работа нормальная, или нагрузка должна быть стабильной? И можно ли разгрузить нагрузку приложения по ядрам?

Во время скачков нагрузка идет именно приложением, не системой. Сетевые карты 82576, прерывания раскиданы.

В принципе не критично, но самого такое раздражает, поставьте радиус на тот же сервер где LISG и пропишите 127.0.0.1, а вторым 172.16.0.2, тогда таких записей значительно меньше

Изменено пользователем zeleniy

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Вполне себе критично (для нас, по крайней мере). Ваш радиус ( скорее всего, из-за тормознутости БД ) не успевает авторизовывать абонентские сессии. Пока не пере-авторизует успешно, у абонента интернет не работает.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

До lisg всё работало на cisco ISG, с тем же радиусом и базой. И нагрузка была намного меньше.

На графике нагрузка на базу, и видент момент перехода с cisco isg на lisg. Причем до этого основную нагрузку на базу составлял не радиус, а биллинг. То есть нагрузка от радуса выросла в разы:

5368784.png

 

Может можно что-то подправить, что бы облегчить запросы к радиусу?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

осмелюсь поднять вопрос про 1-1 NAT, как реализовать на новых сборках?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

осмелюсь поднять вопрос про 1-1 NAT, как реализовать на новых сборках?

Увы - никак.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может можно что-то подправить, что бы облегчить запросы к радиусу?

 

Смотрите, что именно грузит; сравните таймауты аккаунтинга на кошаке и lisg, например. Проверьте, чтобы правила session-init применялись только к ip-адресам ваших клиентов, иначе isg может дёргать радиус от любого внешнего мусора

 

В общем, гадание по фотографии...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Спасибо, буду изучать. Есть ещё один вопрос:

Пытаюсь прикрутить редирект на траницу "дай денег". Настраивал согласно инструкции. В результате неавторизованный клиент становится с флагом AZ, как и должно быть. Но на него не вешается сервис REDIR. Как я понял, сервис REDIR вешается на тех, кто указан в конфиге и в файле tc.conf. Там указано:

ALL_OTHER       0.0.0.0/0

В стандартном режиме неавторизованные пользователи имеют в статусе NAT IP-address = 0.0.0.0, и его в инет не пускает. Но как только включаю $cfg{unauth_service_name_list} = [ "AREDIR" ]; и остальные настройки, то статус NAT IP-address становится как для авторизованного пользователя, и при команде ./ISG.pl show_services Virtual... у пользователя нету никакого сервиса. Соответственно правила iptables невозможно повесить на этот сервис.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста поделитесь релизом с работающим NAT 1-1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста поделитесь релизом с работающим NAT 1-1

Всё, что раньше коммита b52e001

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Пожалуйста поделитесь релизом с работающим NAT 1-1

Всё, что раньше коммита b52e001

 

Спасибо

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Может кто подскажет (хорошо бы разработчик).

У меня на внутреннем сетевом интерфейсе есть десять вланов, с которых прилетают абоненты.

Возможно ли с помощью lisg каким то образом узнать какой ip с какого влана?

Может путем изменения кода.

Заранее спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Возможно ли с помощью lisg каким то образом узнать какой ip с какого влана?

Может путем изменения кода.

 

Следующий патч заменяет CID на любой по вкусу:

diff --git a/ISG/bin/ISGd.pl b/ISG/bin/ISGd.pl
index 2544604..0a07004 100755
--- a/ISG/bin/ISGd.pl
+++ b/ISG/bin/ISGd.pl
@@ -811,8 +811,9 @@ sub send_radius_request_server {
               $p->set_password($username, $cfg{$conf_key}{$prio}{secret});
       }

+       my $username2 = `/opt/ISG/bin/getlogin.pl $username`;
       $p->set_attr("User-Name", $username);
-       $p->set_attr("Calling-Station-Id", $username);
+       $p->set_attr("Calling-Station-Id", $username2);

       $p->set_attr("Service-Type", "Framed-User");

 

/opt/ISG/bin/getlogin.pl должен выдать по ip нужный vlan (можно вытащать через ip ro get, если вас так устроит).

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.