NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #45 : 05 Ноября 2016, 08:43:02 » |
|
Процедуры стандартные, когда ты скачивал CoA там как раз моя конфигурация.. По твоему вопросу врятли чего-то подскажу, т.к. используется pppoe.
Понял, спасибо. С понедельника будет время, отпишу.
|
|
|
Записан
|
|
|
|
Warlock
NoDeny
Старожил
Карма: 8
Offline
Сообщений: 367
|
|
« Ответ #46 : 05 Ноября 2016, 09:09:51 » |
|
Небольшая поправка... в /usr/local/etc/raddb/sql.conf 2 строки были приведены к виду: postauth_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{ERX-Dhcp-Mac-Addr};ses=%{Acct-Session-Id}')" accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{ERX-Dhcp-Mac-Addr};ses=%{Acct-Session-Id}')"}
и в процедуре radupdate строка CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':',''))); была изменена на CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,'.',''))); В твоем случае скорее всего нужно: CALL set_auth(ip, CONCAT('mod=dhcp;',REPLACE(properties,'.',''))); И тебе нужно будет обратиться к Стасу, чтоб он тебе дал/продал небольшую приблуду для билинга (snmp_chkses), которая по snmp будет получать список авторизованных пользователей.. Хз, может для ipoe ее нужно будет чуток переделать, т.к. сейчас она получает список логинов. Так же смогу тебе помочь с настройкой гостевого профайла на джуне, который будет перенаправлять на заглушку билинга.
|
|
« Последнее редактирование: 05 Ноября 2016, 09:55:37 от Warlock »
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #47 : 05 Ноября 2016, 23:21:01 » |
|
но при изменении скорости, она стает 50 мбит вместо 10, хотя в динамических профилях на шейпере стоит 10..
через файл радиуса users все ок... что ж такое)
А если сессию передёрнуть, то скорость какая? По порядку. В файле радиуса юзерс 2892.4a23.b7c8 Cleartext-Password := "IPoE-Opt82" Framed-IP-Address = 10.100.100.5,
В настройках dhcp-local pool-match-order { ip-address-first; external-authority; option-82; } authentication { password IPoE-Opt82; username-include { mac-address; } } group local { dynamic-profile DYNSUB-SVLAN-IPDEMUX; interface ge-1/0/0.0;
В динамических профилях # show dynamic-profiles DYNINTF-SVLAN-DHCP-INET interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { demux-source inet; proxy-arp restricted; vlan-id "$junos-vlan-id"; family inet { unnumbered-address lo0.0 preferred-source-address 10.100.100.1; } } } } # show dynamic-profiles DYNSUB-SVLAN-IPDEMUX interfaces { demux0 { unit "$junos-interface-unit" { proxy-arp; demux-options { underlying-interface "$junos-underlying-interface"; } family inet { demux-source { $junos-subscriber-ip-address; } unnumbered-address lo0.0 preferred-source-address 10.100.100.1; } } } }
Сабскрайберс # run show subscribers extensive Type: VLAN Logical System: default Routing Instance: default Interface: ge-1/0/0.1073742693 Interface type: Dynamic Underlying Interface: ge-1/0/0 Dynamic Profile Name: DYNINTF-SVLAN-DHCP-INET State: Active Session ID: 1083 VLAN Id: 999 Login Time: 2016-11-03 08:45:34 EET
Type: DHCP User Name: 2892.4a23.b7c8 IP Address: 10.100.100.5 IP Netmask: 255.255.255.128 Logical System: default Routing Instance: default Interface: demux0.1073742694 Interface type: Dynamic Underlying Interface: ge-1/0/0.1073742693 Dynamic Profile Name: DYNSUB-SVLAN-IPDEMUX MAC Address: 28:92:4a:23:b7:c8 State: Active Radius Accounting ID: 1084 Session ID: 1084 VLAN Id: 999 Agent Circuit ID: len 6 00 04 03 e7 01 30 Agent Remote ID: len 8 00 06 00 1d a1 41 aa 00 Login Time: 2016-11-03 08:45:38 EET DHCP Options: len 69 35 01 01 3d 07 01 28 92 4a 23 b7 c8 0c 0a 48 50 2d 52 65 76 6f 6c 76 65 3c 08 4d 53 46 54 20 35 2e 30 37 0d 01 0f 03 06 2c 2e 2f 1f 21 79 f9 fc 2b 52 12 01 06 00 04 03 e7 01 30 02 08 00 06 00 1d a1 41 aa 00 IP Address Pool: dhcp-subs Таким образом инет дается клиенту без ограничения. При попытки повесить сервис svc-global-ipoe на сессию # run request network-access aaa subscriber add session-id 1084 service-profile svc-global-ipoe Service Session ID: 1086 Service Session Name: svc-global-ipoe State: Active Family: inet IPv4 Input Filter Name: INET_IN-demux0.1073742694-in IPv4 Output Filter Name: INET_OUT-demux0.1073742694-out
# run show network-access aaa subscribers session-id 1084 detail Type: dhcp Stripped username: 2892.4a23.b7c8 AAA Logical system/Routing instance: default:default Target Logical system/Routing instance: default:default Access-profile: sbr Session ID: 1084 Accounting Session ID: 1084 Multi Accounting Session ID: 0 IP Address: 10.100.100.5 Authentication State: AuthStateActive Accounting State: Acc-Interim-Sent Provisioning Type: None Service name: svc-global-ipoe Service State: SvcActive Service Family: inet Service Activation Source: Radius Session ID: 0 Session uptime: 00:00:56
, скорость начинает шейпится по дефолту вместо 1мбита - до 50мбит... хотя в фаерволе по этому клиенту висит полисер на скорость 1мбит. И интересно почему Session ID: 0Что не доглядел? Может кто сталкивался. Нашел проблему с шейпером Неправильно были объявлены переменные в динамических профилях Было: set dynamic-profiles svc-global-ipoe variables SPEED_IN default-value 2m set dynamic-profiles svc-global-ipoe variables SPEED_OUT default-value 2m set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter input "$INET_IN" set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter input precedence 50 set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter output "$INET_OUT" set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter output precedence 50 set dynamic-profiles svc-global-ipoe firewall family inet filter INET_IN interface-specific set dynamic-profiles svc-global-ipoe firewall family inet filter INET_IN term 1 then policer POLICER_IN set dynamic-profiles svc-global-ipoe firewall family inet filter INET_IN term 1 then service-accounting set dynamic-profiles svc-global-ipoe firewall family inet filter INET_IN term 1 then accept set dynamic-profiles svc-global-ipoe firewall family inet filter INET_OUT interface-specific set dynamic-profiles svc-global-ipoe firewall family inet filter INET_OUT term 1 then policer POLICER_OUT set dynamic-profiles svc-global-ipoe firewall family inet filter INET_OUT term 1 then service-accounting set dynamic-profiles svc-global-ipoe firewall family inet filter INET_OUT term 1 then accept set dynamic-profiles svc-global-ipoe firewall policer POLICER_IN filter-specific set dynamic-profiles svc-global-ipoe firewall policer POLICER_IN if-exceeding bandwidth-limit "$SPEED_IN" set dynamic-profiles svc-global-ipoe firewall policer POLICER_IN if-exceeding burst-size-limit 512k set dynamic-profiles svc-global-ipoe firewall policer POLICER_IN then discard set dynamic-profiles svc-global-ipoe firewall policer POLICER_OUT filter-specific set dynamic-profiles svc-global-ipoe firewall policer POLICER_OUT if-exceeding bandwidth-limit "$SPEED_OUT" set dynamic-profiles svc-global-ipoe firewall policer POLICER_OUT if-exceeding burst-size-limit 512k set dynamic-profiles svc-global-ipoe firewall policer POLICER_OUT then discard Сменил на следующие, стало все нормально шейпится(недописывал "$"), продолжаю тесты. set dynamic-profiles svc-global-ipoe variables SPEED_IN default-value 2m set dynamic-profiles svc-global-ipoe variables SPEED_OUT default-value 2m set dynamic-profiles svc-global-ipoe variables INET_IN uid set dynamic-profiles svc-global-ipoe variables INET_OUT uid set dynamic-profiles svc-global-ipoe variables POLICER_IN uid set dynamic-profiles svc-global-ipoe variables POLICER_OUT uid set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter input "$INET_IN" set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter input precedence 50 set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter output "$INET_OUT" set dynamic-profiles svc-global-ipoe interfaces demux0 unit "$junos-interface-unit" family inet filter output precedence 50 set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_IN" interface-specific set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_IN" term 1 then policer "$POLICER_IN" set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_IN" term 1 then service-accounting set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_IN" term 1 then accept set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_OUT" interface-specific set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_OUT" term 1 then policer "$POLICER_OUT" set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_OUT" term 1 then service-accounting set dynamic-profiles svc-global-ipoe firewall family inet filter "$INET_OUT" term 1 then accept set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_IN" filter-specific set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_IN" if-exceeding bandwidth-limit "$SPEED_IN" set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_IN" if-exceeding burst-size-limit 512k set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_IN" then discard set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_OUT" filter-specific set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_OUT" if-exceeding bandwidth-limit "$SPEED_OUT" set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_OUT" if-exceeding burst-size-limit 512k set dynamic-profiles svc-global-ipoe firewall policer "$POLICER_OUT" then discard
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #48 : 05 Ноября 2016, 23:25:52 » |
|
Небольшая поправка... в /usr/local/etc/raddb/sql.conf 2 строки были приведены к виду: postauth_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{ERX-Dhcp-Mac-Addr};ses=%{Acct-Session-Id}')" accounting_update_query = "call radupdate('%{User-Name}','%{Framed-IP-Address}',\ 'user=%{ERX-Dhcp-Mac-Addr};ses=%{Acct-Session-Id}')"}
и в процедуре radupdate строка CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,':',''))); была изменена на CALL set_auth(usr_ip, CONCAT('mod=pppoe;',REPLACE(properties,'.',''))); В твоем случае скорее всего нужно: CALL set_auth(ip, CONCAT('mod=dhcp;',REPLACE(properties,'.',''))); И тебе нужно будет обратиться к Стасу, чтоб он тебе дал/продал небольшую приблуду для билинга (snmp_chkses), которая по snmp будет получать список авторизованных пользователей.. Хз, может для ipoe ее нужно будет чуток переделать, т.к. сейчас она получает список логинов. Так же смогу тебе помочь с настройкой гостевого профайла на джуне, который будет перенаправлять на заглушку билинга. Спасибо, а что там сложного с редиректом? через роутинг инстанс? Если Стас читает, думаю ответит что-за фича, и как работает. И нужна ли она в моем случае. Кстати та проблема, из за которой у меня не хотело работать CoA, это само собой кривые руки))))) Надо было просто указать айпи адрес джунипера, а не самого сервера радиус
|
|
« Последнее редактирование: 05 Ноября 2016, 23:58:13 от NodenY45 »
|
Записан
|
|
|
|
Warlock
NoDeny
Старожил
Карма: 8
Offline
Сообщений: 367
|
|
« Ответ #49 : 06 Ноября 2016, 09:18:03 » |
|
Профайл + роутинг инстанс + правило в фаерволе на сервере, на который идет next-hop. По поводу snmp_chkses это та сам смотри. Подключи пользователя, если в билинге ключ не пропадает в течении 3-5 минут, то он тебе не нужен.
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #50 : 06 Ноября 2016, 12:36:13 » |
|
Профайл + роутинг инстанс + правило в фаерволе на сервере, на который идет next-hop.
Если можете - покажите. Находил примеры на НАГе.
|
|
|
Записан
|
|
|
|
Warlock
NoDeny
Старожил
Карма: 8
Offline
Сообщений: 367
|
|
« Ответ #51 : 06 Ноября 2016, 18:36:20 » |
|
Стас, предлагаю написать доку.. с меня по настройке pppoe.. штука ведь нужная, или тебе не интересно развивать эту тему?
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #52 : 06 Ноября 2016, 19:09:59 » |
|
Стас, предлагаю написать доку.. с меня по настройке pppoe.. штука ведь нужная, или тебе не интересно развивать эту тему?
Как введу в эксплуатацию мх80+ipoe+nodeny - напишу мануал обязательно.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #53 : 06 Ноября 2016, 21:33:14 » |
|
Стас, предлагаю написать доку.. с меня по настройке pppoe.. штука ведь нужная, или тебе не интересно развивать эту тему?
зарегайся в wiki: http://nodeny.com.ua/wiki/ - дам доступ на редактирование статьи
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #54 : 06 Ноября 2016, 22:48:55 » |
|
По поводу snmp_chkses это та сам смотри. Подключи пользователя, если в билинге ключ не пропадает в течении 3-5 минут, то он тебе не нужен.
и действительно, авторизовал пользователя, в биллинге ключ позеленел, дальше отключил ПК, и сколько не ждешь гаснуть он(ключ) не собирается. А что именно отвечает за поддержание авторизации? в мануале написано радиус, вопрос как? если даже проверок никаких нету.
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #55 : 07 Ноября 2016, 11:54:41 » |
|
Есть такая штука: accounting - радиус периодически шлет инфо о том, сколько трафика потребил абонент. Вот если по юзеру пришла такая инфа - считается, что он авторизован. Это хорошо работает на pppoe, если был дисконект, то аккаунтинг по юзеру не будет посылаться. Это походу лучше чем регистрировать дисконнект по пакету "дисконнект" ибо если такой пакет не прийдет, например, временный лаг сети, то юзер будет долго висеть авторизованным.
В "не-pppoe" аккаунтинг не слишком удобен, поскольку, например в dhcp если юзер выключит комп, то не факт что он пошлет пакет об освобождении адреса. Как раздаете инет вашей железякой - я не смотрел, слишком много букв вы понаписали
|
|
|
Записан
|
|
|
|
goletsa
NoDeny
Спец
Карма: 21
Offline
Сообщений: 973
|
|
« Ответ #56 : 07 Ноября 2016, 15:30:50 » |
|
У MX80 с аккаунтингом грустно, он редко шлет его. Интервал от 10 до 60 минут что-ли был. И то они у меня не всегда приходили.
|
|
|
Записан
|
|
|
|
NodenY45
NoDeny
Старожил
Карма: 2
Offline
Сообщений: 365
|
|
« Ответ #57 : 07 Ноября 2016, 21:48:36 » |
|
Есть такая штука: accounting - радиус периодически шлет инфо о том, сколько трафика потребил абонент. Вот если по юзеру пришла такая инфа - считается, что он авторизован. Это хорошо работает на pppoe, если был дисконект, то аккаунтинг по юзеру не будет посылаться. Это походу лучше чем регистрировать дисконнект по пакету "дисконнект" ибо если такой пакет не прийдет, например, временный лаг сети, то юзер будет долго висеть авторизованным.
В "не-pppoe" аккаунтинг не слишком удобен, поскольку, например в dhcp если юзер выключит комп, то не факт что он пошлет пакет об освобождении адреса. Как раздаете инет вашей железякой - я не смотрел, слишком много букв вы понаписали
инет собираемся раздавать также как и через nodeny+, выдача по dhcp(релей)+option82+radius. проясните как быть с отключением авторизации с ipoe+mx80+radius+nodeny?
|
|
|
Записан
|
|
|
|
Efendy
|
|
« Ответ #58 : 07 Ноября 2016, 23:08:47 » |
|
Модуль ядра dhcp запущен?
|
|
|
Записан
|
|
|
|
Warlock
NoDeny
Старожил
Карма: 8
Offline
Сообщений: 367
|
|
« Ответ #59 : 08 Ноября 2016, 06:41:48 » |
|
зарегайся в wiki: http://nodeny.com.ua/wiki/ - дам доступ на редактирование статьи
Зарегался, только сначала себе wikki поставлю, чтоб понять как там заполнять нужно..
|
|
|
Записан
|
|
|
|
|