n0rt3l Posted October 16, 2018 Posted October 16, 2018 (edited) Здравствуйте, есть джунипер E120 (LM-10, 10GE PR IOA) настраиваем pppoe для 4000 абонентов, на каждого абонента вешаем 4 сервиса и получаем по ним аккаунтинг. В конфиге описываем общие классификаторы (ip classifier), и в каждом из сервисов применяем свою политику со своим классификатором. В одном из сервисов применяется 2-е политики с классификаторами по 234 адреса описанным в конфиге, итого в двух политиках 468 адресов. После подключения незначительного количества абонентов ~500 начинает вываливается ошибка и сервисы не накладываются: ERROR 10/10/2018 06:34:17 policyMgrAttachment: dynamic secondary-input policy attachment to interface TenGigabitEthernet5/0/0.221.40 failed with status: no statistics available Есть догадка что мы уперлись в лимиты по количеству "Policy classification (CLACL) entries per line module"=262,143 https://www.juniper.net/documentation/en_US/junose15.1/information-products/topic-collections/sw-rn-erx-1510/sw-rn-erx1510-app-A-sysmax-3.html Подскажите кто с таким сталкивался ? Пример одного из сервисов, остальные аналогичны: <# peering(bandwidth) #> <# uid := app.servicemanager.getUniqueId #> <# name := "SM-peering-" $ uid #> <# oname := "SM-O-peering-" $ uid #> <# iname := "SM-I-peering-" $ uid #> <# rname := "SM-R-peering-" $ uid #> rate-limit-profile <# rname #> one-rate committed-rate <# bandwidth; '\n' #> committed-burst <# bandwidth / 8; '\n' #> policy-list <# iname; '\n' #> classifier-group CL-PEERING-IN precedence 10000 rate-limit-profile <# rname; '\n' #> traffic-class unlimit policy-list <# oname; '\n' #> classifier-group CL-PEERING-OUT precedence 10000 traffic-class unlimit profile <# name; '\n' #> ip policy secondary-input <# iname #> statistics enabled merge ip policy output <# oname #> statistics enabled merge qos-parameter PEERING-BANDWIDTH <# bandwidth; '\n' #> <# env.setResult("activate-profile", name) #> <# env.setResult("secondary-input-stat-clacl", "CL-PEERING-IN") #> <# env.setResult("output-stat-clacl", "CL-PEERING-OUT") #> <# endtmpl #> Edited October 16, 2018 by n0rt3l Вставить ник Quote
n0rt3l Posted December 4, 2018 Author Posted December 4, 2018 Решили, проблему может кому нибудь поможет. Проблема: В сервисе накладываемом на субскрайбер, нельзя применять политики с классификаторами в которых содержится большое количество элементов (~>65 на субскрайбера при 4000 абонентов.), т.к происходит дублирование элементов этого классификатора во внутреннюю память juniper для каждого субскрайбера. Juniper E120 позволяет хранить всего 262,143 элементов классификаторов применяймых в сервисах на всех абонентов. Из этого следует что если у нас 4000 абонентов и 4 сервиса в каждом из которых по два классификатора IN и OUT то в каждом классификаторе может быть 262,143/(4000*4*2)=8 элементов. * "Policy classification (CLACL) entries per line module"=262,143 https://www.juniper.net/documentation/en_US/junose15.1/information-products/topic-collections/sw-rn-erx-1510/sw-rn-erx1510-app-A-sysmax-3.html Решение: Суть заключается в том чтобы производить маркирование трафика по листам с большим количеством записей, до того как трафик попадет в политику примененную в сервисе на субскрайбер. Данное маркирование можно сделать применив политику ip policy input "PL-MARK-IN" на profile "PPPOE" для исходящего трафика от абонентов и ip policy input "PL-MARK-OUT" на интерфейс с интернетом для входящего трафика. В политиках на сервисе применяем классификаторы (CL-TRAFFIC_1-MARK-IN) с одним элементом который классифицирует по маркеру пакета и решаем что с ним делать шейпить/фильтровать/считать. ip classifier-list "CL-TRAFFIC_1-IN" ip any host x.x.x.x ip classifier-list "CL-TRAFFIC_1-OUT" ip host x.x.x.x any ip classifier-list "CL-TRAFFIC_2-IN" ip any host x.x.x.x ip classifier-list "CL-TRAFFIC_2-OUT" ip host x.x.x.x any ip classifier-list "CL-TRAFFIC_1-MARK-IN" user-packet-class 1 ip any any ip classifier-list "CL-TRAFFIC_1-MARK-OUT" user-packet-class 2 ip any any ip classifier-list "CL-TRAFFIC_2-MARK-IN" user-packet-class 3 ip any any ip classifier-list "CL-TRAFFIC_2-MARK-OUT" user-packet-class 4 ip any any profile "PPPOE" ip virtual-router default ip unnumbered loopback 1 ip sa-validate ip tcp adjust-mss 1452 ip block-multicast-sources ip send-cops-request ip policy input "PL-MARK-IN" ppp authentication chap pap ppp mru 1492 pppoe acName "BRAS" interface tenGigabitEthernet 4/0/0.777 vlan id 777 ip description "TO-INTERNET" ip policy input "PL-MARK-OUT" ! ip policy-list "PL-MARK-IN" classifier-group "CL-TRAFFIC_1-IN" user-packet-class 1 classifier-group "CL-TRAFFIC_2-IN" user-packet-class 3 ! ip policy-list "PL-MARK-OUT" classifier-group "CL-TRAFFIC_1-OUT" user-packet-class 2 classifier-group "CL-TRAFFIC_2-OUT" user-packet-class 4 ! !parameterizes input and output bandwidth <# local(bandwidth) #> <# uid := app.servicemanager.getUniqueId #> <# name := "SM-local-" $ uid #> <# iname := "SM-I-local-" $ uid #> <# oname := "SM-O-local-" $ uid #> <# rname := "SM-R-local-" $ uid #> rate-limit-profile <# rname #> one-rate committed-rate <# bandwidth; '\n' #> committed-burst <# bandwidth / 8; '\n' #> policy-list <# iname; '\n' #> classifier-group CL-TRAFFIC_1-MARK-IN precedence 15000 rate-limit-profile <# rname; '\n' #> traffic-class local policy-list <# oname; '\n' #> classifier-group CL-TRAFFIC_1-MARK-OUT precedence 15000 traffic-class local profile <# name; '\n' #> ip policy secondary-input <# iname #> statistics enabled merge ip policy output <# oname #> statistics enabled merge qos-parameter INTERNAL-BANDWIDTH <# bandwidth; '\n' #> qos-profile QOS-MYMY <# env.setResult("activate-profile", name) #> <# env.setResult("secondary-input-stat-clacl", "CL-TRAFFIC_1-MARK-IN") #> <# env.setResult("output-stat-clacl", "CL-TRAFFIC_1-MARK-OUT") #> <# endtmpl #> Вставить ник 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.