Jump to content

Recommended Posts

Posted (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 by n0rt3l
  • 1 month later...
Posted

Решили, проблему может кому нибудь поможет.

 

Проблема: В сервисе накладываемом на субскрайбер, нельзя применять политики с классификаторами в которых содержится большое количество элементов (~>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 #>

 

Join the conversation

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

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...
На сайте используются файлы cookie и сервисы аналитики для корректной работы форума и улучшения качества обслуживания. Продолжая использовать сайт, вы соглашаетесь с использованием файлов cookie и с Политикой конфиденциальности.