Kumarik Posted September 24, 2025 Posted September 24, 2025 Добрый день. Имеется такая железка Model: mx204 Junos: 22.2R3.15. Пока сверх задач от нее не требуется нужно авторизовать около 5к клиентов PPPoE (адреса будет выдавать radius). К порту xe-0/1/0 подключен свитч с диапазоном trunk vlan 3500-3550. В каждом влане есть какое то кол-во клиентов. Пробовал настраивать разными вариантами, но всегда попадается какой-то затык. При таком раскладе авторизация проходит, но только одним логином, второй уже не может подключиться (не взирая на max-sessions). xe-0/1/2 { vlan-tagging; encapsulation flexible-ethernet-services; unit 3500 { vlan-id 3500; family pppoe { max-sessions 1000; } } } pp0 { unit 3500{ ppp-options { chap; pap; } pppoe-options { underlying-interface xe-0/1/2.3500; server; } keepalives interval 10; family inet { unnumbered-address lo0.0; } } } При таком раскладе авторизации не проходят и в логах ругается (dyn_prof_send_request: Rejecting profile (PPPOE-CLIENT-PROFILE - use_flow: 0) ADD from daemon pppoed because enhanced-universal-edge is disabled). show chassis network-services Network Services Mode: Enhanced-IP Как я понял для использования динамических профилей нужна какая-то лицензия или может я их не так применяю? xe-0/1/0 { flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 0{ family pppoe { dynamic-profile PPPOE-CLIENT-PROFILE; } } } PPPOE-CLIENT-PROFILE { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; pap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } family inet { unnumbered-address lo0.0; } } } } } License usage: Licenses Licenses Licenses Feature Feature Feature Feature name used installed needed Expiry subscriber-accounting 1 1 0 permanent subscriber-authentication 1 1 0 permanent subscriber-address-assignment 0 1 0 permanent subscriber-vlan 0 1 0 permanent subscriber-ip 0 1 0 permanent service-dc 0 1 0 permanent service-accounting 0 1 0 permanent service-qos 0 1 0 permanent service-ancp 0 1 0 permanent service-cbsp 0 1 0 permanent scale-subscriber 0 64010 0 permanent scale-l2tp 0 1000 0 permanent bgp 1 0 1 invalid l3static 1 0 1 invalid Licenses installed: License identifier: E000185416 License version: 2 Order Type: commercial Features: subscriber-accounting - Per Subscriber Radius Accounting permanent subscriber-authentication - Per Subscriber Radius Authentication permanent subscriber-address-assignment - Radius/SRC Address Pool Assignment permanent subscriber-vlan - Dynamic Auto-sensed Vlan permanent subscriber-ip - Dynamic and Static IP permanent License identifier: E001171420 License version: 2 Order Type: commercial Features: service-dc - Service Definition Capability permanent service-accounting - Per Service Accounting permanent service-qos - Dynamic QOS Policy permanent service-ancp - ANCP Based QOS Adjustment permanent service-cbsp - Cell Based Shaping and Policing permanent License identifier: E000662843 License version: 2 Order Type: commercial Features: scale-subscriber - Dynamic/Static Subscriber Base Feature capacity: 64000 permanent Пробовал еще через auto-configure, но тоже не особо помогло. Может кто поделится конфигом, или ткните носом где ошибаюсь. Прошу сильно не пинать с jun не было опыта работы. Спасибо за любую помощь/совет. Вставить ник Quote
Kumarik Posted October 2, 2025 Author Posted October 2, 2025 С авторизациями все получилось. auto-configure отрабатывает отлично. Все работает, при установки pppoe создается динамический интерфейс с нужным vlan-id и создается динамический pp интерфейс и интернет появляется. Настало время применять фильты на доступ (к примеру для заблокированных клиентов), что бы ограничить все кроме личного кабинета и передавать параметры ограничения скорости с радиус сервера и тут появилась новая проблема. Вот так выглядит текущий конфиг run show configuration interfaces xe-0/1/0 flexible-vlan-tagging; auto-configure { vlan-ranges { dynamic-profile DYNAMIC-PPPOE-VLAN { accept pppoe; ranges { 3500-3510; } } } remove-when-no-subscribers; } encapsulation flexible-ethernet-services; DYNAMIC-PPPOE-PROFILE { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; pap; mru 1492; mtu 1492; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } family inet { rpf-check; mtu 1492; unnumbered-address lo0.0; } } } } } DYNAMIC-PPPOE-VLAN { interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { vlan-id "$junos-vlan-id"; family pppoe { duplicate-protection; dynamic-profile DYNAMIC-PPPOE-PROFILE; max-sessions 16000; } } } } } profile PPPOE-AUTH { authentication-order radius; domain-name-server { 77.88.8.8; 8.8.8.8; } radius { authentication-server 192.168.19.125; accounting-server 192.168.19.125; options { juniper-access-line-attributes; coa-dynamic-variable-validation; } } session-options { client-idle-timeout 60; client-session-timeout 1440; } radius-server { 192.168.19.125 { port 1812; accounting-port 1813; dynamic-request-port 3799; secret "$9$eHKW87-dsgaUSrb2oGq."; ## SECRET-DATA timeout 5; retry 3; source-address 192.168.19.55; } } accounting { order radius; immediate-update; coa-immediate-update; update-interval 10; statistics volume-time; send-acct-status-on-config-change; } service { accounting-order radius; } } Если на DYNAMIC-PPPOE-PROFILE применять любые фильтры, то pppoe сессия перестает подниматься с ошибкой - LCP пакеты не могут быть обработаны. Конфигурация фильтра не влияет (пробовал разрешать все что связано с ppp) видимо из-за того что LCP пакеты не являются IP пакетами и не проходят через family inet filter Как привольно передать с радиуса атрибуты со значением скоростей in/out или название фильтра. Атрибут Filter-Id при авторзации появляется на сессии, но не работает (видимо потому, что не как не привязан к динамическому интерфейсу). Dynamic configuration: junos-input-filter: BLOCKED Вставить ник Quote
StSphinx Posted October 9, 2025 Posted October 9, 2025 stacked-vlan-ranges { dynamic-profile QINQ-PROFILE { accept pppoe; ranges { 400-415,any; 996-998,any; } } } vlan-ranges { dynamic-profile VLAN-PROFILE { accept pppoe; ranges { 445-483; 1200-1219; } } } # QINQ-PROFILE interfaces { demux0 { no-traps; unit "$junos-interface-unit" { vlan-tags outer "$junos-stacked-vlan-id" inner "$junos-vlan-id"; demux-options { underlying-interface "$junos-interface-ifd-name"; } family pppoe { access-concentrator bng-3; duplicate-protection; dynamic-profile PPPoE_profile; service-name-table DEFAULT; short-cycle-protection; } } } } # VLAN-PROFILE interfaces { demux0 { no-traps; unit "$junos-interface-unit" { proxy-arp; vlan-id "$junos-vlan-id"; demux-options { underlying-interface "$junos-interface-ifd-name"; } family pppoe { access-concentrator bng-3; duplicate-protection; dynamic-profile PPPoE_profile; service-name-table DEFAULT; short-cycle-protection; } } } } #PPPoE_profile routing-instances { "$junos-routing-instance" { interface "$junos-interface-name"; } } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { no-traps; ppp-options { chap; pap; mtu 1492; ipcp-suggest-dns-option; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } keepalives interval 20; family inet { rpf-check; unnumbered-address "$junos-loopback-interface"; } } } } # sp_Inet variables { SPEED_IN default-value 1m; SPEED_OUT default-value 1m; INET_IN uid; INET_OUT uid; POLICER_IN uid; POLICER_OUT uid; } interfaces { demux0 { no-traps; unit "$junos-interface-unit" { family inet { filter { input "$INET_IN" precedence 75; output "$INET_OUT" precedence 75; } } } } } firewall { family inet { filter "$INET_IN" { interface-specific; term block_spoof { from { source-prefix-list { client-nets except; } } then { count spoof_in; discard; } } term speed_in { then { policer "$POLICER_IN"; service-accounting; service-filter-hit; accept; } } } filter "$INET_OUT" { interface-specific; term speed_out { then { policer "$POLICER_OUT"; service-accounting; service-filter-hit; accept; } } } } policer "$POLICER_IN" { filter-specific; if-exceeding { bandwidth-limit "$SPEED_IN"; burst-size-limit 1m; } then discard; } policer "$POLICER_OUT" { filter-specific; if-exceeding { bandwidth-limit "$SPEED_OUT"; burst-size-limit 1m; } then discard; } } Вот вам пример. Radius отдает имя vrf(LS:RI, нужен если сессию необходимо поместить не в GRT), имя профиля - sp_Inet(x,y) , где x,y - скорости в мегабитах и имя loopback интерфейса(нужен если сессию необходимо поместить не в GRT). Наименование соответствующих атрибутов, я думаю, без труда найдете на сайте Juniper. Они неплохо описаны. Все атрибуты vendor specific. Вставить ник Quote
Kumarik Posted October 15, 2025 Author Posted October 15, 2025 За пример большое спасибо! почти со всем уже разобрался - но вот с передачей значения скорости не получается. Нашел атрибут для передачи параметров ERX-Service-Activate:1 = "sp_Inet(45m,44m)", но он не применяется в ответ на coa прилетает Error-Cause = Missing-Attribute Juniper-Attr-178 = 0x31323220457865637574696f6e206661696c757265 а в логах джуна Dynamic request processing status <Error:authd class=1, code=3>, reason(122 Execution failure) Как будто он не понимает передаваемый ему атрибут. Но если передать атрибут без значения скоростей ERX-Service-Activate:1 = "sp_Inet" - то все отрабатывает нормально и профиль применяется к сессии. Вставить ник Quote
StSphinx Posted October 18, 2025 Posted October 18, 2025 https://www.juniper.net/documentation/us/en/software/junos/subscriber-mgmt-sessions/topics/topic-map/radius-std-attributes-vsas-support.html Внимательно читайте документацию. Передача этого атрибута не поддерживается в CoA. Вставить ник Quote
drundal Posted December 11, 2025 Posted December 11, 2025 Добрый день. Проблема такая же Железяка MX-204 Model: mx204 Junos: 22.2R3.15 JUNOS OS Kernel 64-bit [20230303.4e45fe64_builder_stable_12_222] JUNOS OS libs [20230303.4e45fe64_builder_stable_12_222] JUNOS OS runtime [20230303.4e45fe64_builder_stable_12_222] JUNOS OS time zone information [20230303.4e45fe64_builder_stable_12_222] JUNOS network stack and utilities [20230322.135429_builder_junos_222_r3] JUNOS libs [20230322.135429_builder_junos_222_r3] JUNOS OS libs compat32 [20230303.4e45fe64_builder_stable_12_222] JUNOS OS 32-bit compatibility [20230303.4e45fe64_builder_stable_12_222] JUNOS libs compat32 [20230322.135429_builder_junos_222_r3] JUNOS runtime [20230322.135429_builder_junos_222_r3] Junos vmguest package [20230322.135429_builder_junos_222_r3] JUNOS sflow mx [20230322.135429_builder_junos_222_r3] JUNOS py extensions [20230322.135429_builder_junos_222_r3] JUNOS py base [20230322.135429_builder_junos_222_r3] JUNOS OS vmguest [20230303.4e45fe64_builder_stable_12_222] JUNOS OS crypto [20230303.4e45fe64_builder_stable_12_222] JUNOS OS boot-ve files [20230303.4e45fe64_builder_stable_12_222] JUNOS na telemetry [22.2R3.15] JUNOS Security Intelligence [20230322.135429_builder_junos_222_r3] JUNOS mx libs compat32 [20230322.135429_builder_junos_222_r3] JUNOS mx runtime [20230322.135429_builder_junos_222_r3] JUNOS RPD Telemetry Application [22.2R3.15] JUNOS Routing mpls-oam-basic [20230322.135429_builder_junos_222_r3] JUNOS Routing mpls-oam-advanced [20230322.135429_builder_junos_222_r3] JUNOS Routing lsys [20230322.135429_builder_junos_222_r3] JUNOS Routing controller-internal [20230322.135429_builder_junos_222_r3] JUNOS Routing controller-external [20230322.135429_builder_junos_222_r3] JUNOS Routing 32-bit Compatible Version [20230322.135429_builder_junos_222_r3] JUNOS Routing aggregated [20230322.135429_builder_junos_222_r3] Redis [20230322.135429_builder_junos_222_r3] JUNOS probe utility [20230322.135429_builder_junos_222_r3] JUNOS common platform support [20230322.135429_builder_junos_222_r3] JUNOS Openconfig [22.2R3.15] JUNOS mtx network modules [20230322.135429_builder_junos_222_r3] JUNOS modules [20230322.135429_builder_junos_222_r3] JUNOS mx modules [20230322.135429_builder_junos_222_r3] JUNOS mx libs [20230322.135429_builder_junos_222_r3] JUNOS L2 RSI Scripts [20230322.135429_builder_junos_222_r3] JUNOS SQL Sync Daemon [20230322.135429_builder_junos_222_r3] JUNOS mtx Data Plane Crypto Support [20230322.135429_builder_junos_222_r3] JUNOS daemons [20230322.135429_builder_junos_222_r3] JUNOS mx daemons [20230322.135429_builder_junos_222_r3] JUNOS Broadband Edge User Plane Apps [22.2R3.15] Junos Remote Attestation package [1.0.0+20230322.135429_builder_junos_222_r3] JUNOS appidd-mx application-identification daemon [20230322.135429_builder_junos_222_r3] JUNOS TPM2 [20230322.135429_builder_junos_222_r3] JUNOS Services URL Filter package [20230322.135429_builder_junos_222_r3] JUNOS Services TLB Service PIC package [20230322.135429_builder_junos_222_r3] JUNOS Services Telemetry [20230322.135429_builder_junos_222_r3] JUNOS Services TCP-LOG [20230322.135429_builder_junos_222_r3] JUNOS Services SSL [20230322.135429_builder_junos_222_r3] JUNOS Services SOFTWIRE [20230322.135429_builder_junos_222_r3] JUNOS Services Stateful Firewall [20230322.135429_builder_junos_222_r3] JUNOS Services RTCOM [20230322.135429_builder_junos_222_r3] JUNOS Services RPM [20230322.135429_builder_junos_222_r3] JUNOS Services PCEF package [20230322.135429_builder_junos_222_r3] JUNOS Services NAT [20230322.135429_builder_junos_222_r3] JUNOS Services Mobile Subscriber Service Container package [20230322.135429_builder_junos_222_r3] JUNOS Services MobileNext Software package [20230322.135429_builder_junos_222_r3] JUNOS Services Logging Report Framework package [20230322.135429_builder_junos_222_r3] JUNOS Services LL-PDF Container package [20230322.135429_builder_junos_222_r3] JUNOS Services Jflow Container package [20230322.135429_builder_junos_222_r3] JUNOS Services Deep Packet Inspection package [20230322.135429_builder_junos_222_r3] JUNOS Services IPSec [20230322.135429_builder_junos_222_r3] JUNOS Services IDS [20230322.135429_builder_junos_222_r3] JUNOS IDP Services [20230322.135429_builder_junos_222_r3] JUNOS Services HTTP Content Management package [20230322.135429_builder_junos_222_r3] JUNOS Services DNS Filter package (i386) [20230322.135429_builder_junos_222_r3] JUNOS Services Crypto [20230322.135429_builder_junos_222_r3] JUNOS Services Captive Portal and Content Delivery Container package [20230322.135429_builder_junos_222_r3] JUNOS Services COS [20230322.135429_builder_junos_222_r3] JUNOS AppId Services [20230322.135429_builder_junos_222_r3] JUNOS Services Application Level Gateways [20230322.135429_builder_junos_222_r3] JUNOS Services AACL Container package [20230322.135429_builder_junos_222_r3] JUNOS SDN Software Suite [20230322.135429_builder_junos_222_r3] JUNOS Extension Toolkit [20230322.135429_builder_junos_222_r3] JUNOS Phone-home [20230322.135429_builder_junos_222_r3] JUNOS Packet Forwarding Engine Support (wrlinux9) [20230322.135429_builder_junos_222_r3] JUNOS Packet Forwarding Engine Support (MX/EX92XX Common) [20230322.135429_builder_junos_222_r3] JUNOS Packet Forwarding Engine Support (M/T Common) [20230322.135429_builder_junos_222_r3] JUNOS Packet Forwarding Engine Support (aft) [20230322.135429_builder_junos_222_r3] JUNOS Packet Forwarding Engine Support (MX Common) [20230322.135429_builder_junos_222_r3] JUNOS Juniper Malware Removal Tool (JMRT) [1.0.0+20230322.135429_builder_junos_222_r3] JUNOS J-Insight [20230322.135429_builder_junos_222_r3] JUNOS jfirmware [20230217.040945_builder_junos_222_r3] JUNOS Online Documentation [20230322.135429_builder_junos_222_r3] JUNOS jail runtime [20230303.4e45fe64_builder_stable_12_222] JUNOS dsa dsa [22.2R3.15] Лицензии следующие show system license License usage: Licenses Licenses Licenses Feature Feature Feature Feature name used installed needed Expiry subscriber-accounting 0 1 0 permanent subscriber-authentication 0 1 0 permanent subscriber-address-assignment 0 1 0 permanent subscriber-vlan 0 1 0 permanent subscriber-ip 0 1 0 permanent service-dc 0 1 0 permanent service-accounting 0 1 0 permanent service-qos 0 1 0 permanent service-ancp 0 1 0 permanent service-cbsp 0 1 0 permanent scale-subscriber 0 16010 0 permanent scale-l2tp 0 1000 0 permanent bgp 1 0 1 invalid services-rpm 1 0 1 invalid l3static 1 0 1 invalid Licenses installed: License identifier: E000185416 License version: 2 Order Type: commercial Features: subscriber-accounting - Per Subscriber Radius Accounting permanent subscriber-authentication - Per Subscriber Radius Authentication permanent subscriber-address-assignment - Radius/SRC Address Pool Assignment permanent subscriber-vlan - Dynamic Auto-sensed Vlan permanent subscriber-ip - Dynamic and Static IP permanent License identifier: E001171420 License version: 2 Order Type: commercial Features: service-dc - Service Definition Capability permanent service-accounting - Per Service Accounting permanent service-qos - Dynamic QOS Policy permanent service-ancp - ANCP Based QOS Adjustment permanent service-cbsp - Cell Based Shaping and Policing permanent License identifier: E000461716 License version: 2 Order Type: commercial Features: scale-subscriber - Dynamic/Static Subscriber Base Feature capacity: 16000 permanent Конфиг на котором пытаюсь запустить pppoe такой: ___________________________________________________________________________________________________________show interfaces xe-0/1/0 flexible-vlan-tagging; encapsulation flexible-ethernet-services; gigether-options { speed 1g; } unit 797 { vlan-id 797; family pppoe { dynamic-profile PPPOE-SESSION; } } [edit] ___________________________________________________________________________________________________________show access profile LOCAL_AUTH { authentication-order password; client pppoe_ge { chap-secret "$8$aes256-gcm$hmac-sha2-256$100$p94uIQExS88$pSS0OnJ9hnuFpMGRRpyptA$WKtsiOBO1gtqFop6RCiAdA$hR0oJwiL"; ## SECRET-DATA pap-password "$8$aes256-gcm$hmac-sha2-256$100$QGAwhjrALAo$qlilr6c9poTV5N4q5i8jrA$jb24e8deX37dHDkbUt4aWQ$wg9wiNTb"; ## SECRET-DATA ppp { framed-ip-address 91.224.106.170/32; } } address-assignment { pool TEST_POOL; } } [edit] ___________________________________________________________________________________________________________show dynamic-profiles PPPOE-SESSION { interfaces { pp0 { unit "$junos-interface-unit" { ppp-options { chap; pap; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } family inet { mtu 1492; unnumbered-address lo0.0; } } } } } [edit] ___________________________________________________________________________________________________________ show chassis fpc 0 { pic 0 { inline-services { bandwidth 10g; } } } network-services enhanced-ip; [edit] ___________________________________________________________________________________________________________show interfaces lo0 unit 0 { family inet { address 91.224.107.148/32 { primary; } } } [edit] ___________________________________________________________________________________________________________ В организации нет Radius сервера и клиента всего три будет, поэтому создаю юзеров pppoe локально на железке Вот в логах и выдаёт такую же ошибку как у вас pppoed[12175]: dyn_prof_send_request: Rejecting profile (PPPOE-SESSION - use_flow: 0) ADD from daemon pppoed because enhanced-universal-edge is disabled Жалуется что не может собрать динамический профиль потому что "enhanced-universal-edge is disabled". НО судя по всему нет такого режима работы железяки ___________________________________________________________________________________________________________set chassis network-services ? Possible completions: enhanced-ethernet Enhanced ethernet network services enhanced-ip Enhanced IP network services ethernet Ethernet network services ip IP network services lan Ethernet LAN services [edit] Чем решили проблему? Вставить ник Quote
Kumarik Posted December 11, 2025 Author Posted December 11, 2025 Цитата set system services subscriber-management enable необходима для применения динамических профилей. после применения требуется перезагрузка. Вставить ник Quote
drundal Posted December 12, 2025 Posted December 12, 2025 16 часов назад, Kumarik сказал: необходима для применения динамических профилей. после применения требуется перезагрузка. Спасибо большое!) Вставить ник Quote
drundal Posted December 15, 2025 Posted December 15, 2025 В 15.10.2025 в 12:25, Kumarik сказал: За пример большое спасибо! почти со всем уже разобрался - но вот с передачей значения скорости не получается. Нашел атрибут для передачи параметров ERX-Service-Activate:1 = "sp_Inet(45m,44m)", но он не применяется в ответ на coa прилетает Error-Cause = Missing-Attribute Juniper-Attr-178 = 0x31323220457865637574696f6e206661696c757265 а в логах джуна Dynamic request processing status <Error:authd class=1, code=3>, reason(122 Execution failure) Как будто он не понимает передаваемый ему атрибут. Но если передать атрибут без значения скоростей ERX-Service-Activate:1 = "sp_Inet" - то все отрабатывает нормально и профиль применяется к сессии. Еще раз здравствуйте) Как в итоге решили задачу ограничения скорости PPPoE клиентов? Вставить ник Quote
Kumarik Posted December 16, 2025 Author Posted December 16, 2025 для нас лучшим вариантом оказалось применение фильтров передаваемых через radius filter { input "$junos-input-filter"; output "$junos-output-filter"; } В этих атрибутах передается название фильтров которые применяются к сессии, и можно менять через coa ERX-Ingress-Policy-Name ERX-Egress-Policy-Name Вариант с передачей конкретных скоростей как советовал StSphinx ( ERX-Service-Activate:1 = "sp_Inet(45m,44m)") тоже рабочий, но он не поддерживает coa - а для нас это было важно Вставить ник Quote
Kumarik Posted December 18, 2025 Author Posted December 18, 2025 Цитата Radius отдает имя vrf(LS:RI, нужен если сессию необходимо поместить не в GRT) Добрый день. Можно пару вопросов по этому пункту. Задача - помещать всех авторизованных через dynamic-profiles "PPPOE-PROFILE-TEST" в отдельный routing-instances "NAT-RI-245" и отправлять их через "route 0.0.0.0/0 next-hop 10.0.0.245", там они будут натиться и уже получать интернет. Не нашел вариантов как в dynamic-profiles жестко назначить нужный routing-instances, пошел по пути передачи названия routing-instances "NAT-RI-245" через радиус атрибут. ERX-Virtual-Router-Name := "default:NAT-RI-245" И тут появляются проблемы, если просто его передать то в сессии видно, что атрибут применяется (Logical System: default / Routing Instance: NAT-RI-245). но маршрут который указан в routing-instances не работает и трасерт умирает на lo0.0 интерфейсе. если добавить в профиль routing-instances { "$junos-routing-instance" { interface "$junos-interface-name"; } } то сессиия вообще перестает подниматься. В итоге не могу понять где проблема, в динамическом профиле, в атрибутах, в routing-instances или в lo интерфейсе. В GRT сейчас авторизуются клиенты которых не нужно натить и для них есть другой маршрут к 0.0.0.0/0 Конфиг сейчас такой Скрытый текст interfaces { xe-0/1/3 { description HUAWEI_PPPOE; flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 999 { vlan-id 999; family pppoe { dynamic-profile PPPOE-PROFILE-TEST; } } } xe-0/1/4 { description xe-0/1/4; flexible-vlan-tagging; encapsulation flexible-ethernet-services; unit 3700 { description NAT-245-TEST; vlan-id 3700; family inet { address 10.0.0.55/24; } } } lo0 { unit 0 { family inet { address 10.128.0.55/32; } } } } routing-instances { NAT-RI-245 { instance-type virtual-router; routing-options { static { route 0.0.0.0/0 next-hop 10.0.0.245; } } interface xe-0/1/4.3700; } } dynamic-profiles { PPPOE-PROFILE-TEST { interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { ppp-options { chap; pap; mru 1492; mtu 1492; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } family inet { rpf-check; mtu 1492; unnumbered-address lo0.0; } } } } } } в последствии пробовал передавать дополнительно ERX-Local-Loopback-Interface. в логе видно что атрибут приходит - но опять без толку Скрытый текст Dec 18 09:57:12.174660 Radius result is CLIENT_REQ_STATUS_SUCCESS Dec 18 09:57:12.174683 Parsing RADIUS message for session-id:132856 DeDec 18 09:57:12.174758 radius-access-accept: Framed-IP-Address received: 192.168.200.200 Dec 18 09:57:12.174818 radius-access-accept: Virtual-Router (Juniper-ERX-VSA) received: default:NAT-RI-245 Dec 18 09:57:12.174838 radius-access-accept: IP-Loopback-Interface (Juniper-ERX-VSA) received: lo0.0 Dec 18 09:57:12.174878 Framework - module(radius) return: SUCCESS Вставить ник Quote
nousaibot Posted December 29, 2025 Posted December 29, 2025 Приветствую. Если задача просто отправльтять трафик на альтернативный дефолт маршрут не проще ли использовать routing-instances типа forwarding? У меня была похожая задача раскидать клиентов на несколько cgnat железок, сделал следующим образом, разбил сетки на префиксы /24 создал денамические профили под каждое устройство и навешал через радиус на нужные подсети. set firewall family inet filter TO_CGNAT interface-specific set firewall family inet filter TO_CGNAT term 1 from source-address серыйе адреса/16 set firewall family inet filter TO_CGNAT term 1 from destination-address серыйе адреса/16 except set firewall family inet filter TO_CGNAT term 1 from destination-address другие локальные подсети/21 except set firewall family inet filter TO_CGNAT term 1 from destination-address 0.0.0.0/0 set firewall family inet filter TO_CGNAT term 1 then routing-instance CGNAT set firewall family inet filter TO_CGNAT term default then accept set routing-instances CGNAT routing-options static route 0.0.0.0/0 next-hop 10.0.0.245 set routing-instances CGNAT instance-type forwarding set routing-options rib-groups RIB_BAL import-rib inet.0 set routing-options rib-groups RIB_BAL import-rib CGNAT.inet.0 set dynamic-profiles ROUTE_CGNAT interfaces demux0 unit "$junos-interface-unit" family inet filter input TO_CGNAT Дальше в радиус ERX-Service-Activate, имя сервиса ROUTE_CGNAT, нужная подсеть. Вставить ник Quote
Kumarik Posted December 30, 2025 Author Posted December 30, 2025 Здравствуйте. У меня сейчас примерно так и было реализовано, что по scr адресам клиенты через firewall раскидывались в определенный routing-instance. Но это отъедает ресурсы PFE, создает дополнительные фильтры и увеличивает нагрузку (думаю с увеличение клиентов - могут появляться ошибки). Сейчас решил вот таким способом - пока все вполне устраивает. Скрытый текст DYNAMIC-VLAN { interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { vlan-id "$junos-vlan-id"; family pppoe { duplicate-protection; dynamic-profile DYNAMIC-PPPOE; max-sessions 16000; short-cycle-protection; } } } } } DYNAMIC-PPPOE { routing-instances { "$junos-routing-instance" { interface "$junos-interface-name"; } } interfaces { "$junos-interface-ifd-name" { unit "$junos-interface-unit" { ppp-options { chap; pap; mru 1492; mtu 1492; } pppoe-options { underlying-interface "$junos-underlying-interface"; server; } family inet { rpf-check; mtu 1492; filter { input "$junos-input-filter"; output "$junos-output-filter"; } unnumbered-address "$junos-loopback-interface"; } } } } } Как оказалось вся загвоздка была в loopback интерфейсе. Просто добавить новый unit в него было нельзя (т.к. появляется 2 интерфейса привязанный к grt, на что он ругается), но если создать его и сразу повесить на нужный routing-instance - то все работает без проблем. RI-240 { instance-type virtual-router; routing-options { static { route 0.0.0.0/0 next-hop 10.0.1.240; } } interface xe-0/1/0.3600; interface lo0.240; } lo0 { unit 0 { family inet { address 10.128.0.55/32; } } unit 240 { description LOOPBACK_RI-240; family inet { address 10.128.240.55/32; } } } а через радиус можно отдавать название нужного routing-instance через атрибут ERX-Virtual-Router-Name. позже нашел как обойтись без радиуса, добавив в профиль название переменной $junos-routing-instance значение по умолчанию (если атрибут не был получен от радиуса) predefined-variable-defaults { routing-instances RI-240; } Вставить ник Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.