現場(環境): Cisco 2960 IOS版本號: 12.2(35)SE5
原因:
平常都是讓大家可以正常的使用網路,
儘量不用限速的方式去規範大家,
但總是會有人三不五時會連到goolge Driver,
抓10G以上的檔案下來。
請他使用套件進行限速他又要嫌棄說很慢或者不會用,
所以我們只好從源頭進行處理了。
處理方式:
方法有兩種 ,都是針對port去進行。
(1) 用百分比去調整。
這個方法很簡單,但不一定可以符合你的需求。
這邊的百分比不是看網路的速率,而是看Port的傳輸速率。
例如:
今天的Port 是 10/100 ,那我們就是依照100的「百分之多少」去限制。
以Gigaport為例子話,他是1000M 的傳輸速率,我們設定10 % 的使用,
就代表他的傳輸速率會限制在 1000M * 10/100 = 100M,
所以這個方法在gigaport的使用上會感覺有限速跟沒限速一樣。
因為是針對Port的操作,所以要去想要限制的port上做設定。
(config-if)# srr-queue bandwidth limit 10
<10-90> enter bandwidth limit for interface as percentage
這邊的Limit就低就只能設定到10 %而已。
雖然設定簡單,但不是很能符合大家的需求。
(2) 用規則去侷限
這邊我們會用到層級式的方法去限制網路的速率。
架構如下圖:
A. 設定 Access -List 規則
下載&上傳如果都要設定的話,要把兩個規則分開
-下載
switch(config)#access-list 101 permit ip any host [目標端IP位址]
-上傳
switch(config)#access-list 102 permit ip host [來源端IP位址] any
B. 把access-list包到Class裡面。
下載
switch(config)#class-map match-all SpeedDownLimit1
SpeedDownLimit1 → 為自己定義的Class名稱
把剛才的access-list (101) 套進這個Class當中
switch(config-cmap)#match access-group 101
上傳
switch(config)#class-map match-all SpeedUpLimit1
SpeedUpLimit1 → 為自己定義的Class名稱
把剛才的access-list (102) 套進這個Class當中
switch(config-cmap)#match access-group 102
C(下載). 建立一個 Police
switch(config)#policy-map SpeedDownLimitP1
SpeedDownLimitP1 → 為自己定義的Policy名稱
D(下載). 將 class 放到Policy 當中
switch(config-pmap)#class SpeedDownLimit1
設定使用速率
switch(config-pmap-c)#police 1000000 1000000 exceed-action drop
前面的 1000000 表示為 1M , 後面的 1000000 表示緩衝,
表示最多可以到2M,超過2M我就完全的把他Drop 掉。
C(上傳).建立一個 Police
switch(config)#policy-map SpeedUpLimitP1
SpeedUpLimitP1 → 為自己定義的Policy名稱
D(上傳).將 class 放到Policy 當中
switch(config-pmap)#class SpeedUpLimit1
設定使用速率
switch(config-pmap-c)#police 1000000 1000000 exceed-action drop
E. 把我們定義好的Policy 套到對應到的Port 上。
switch(config)#interface fa 0/1
switch(config-if)#service-policy input SpeedDownLimitP1
switch(config-if)#service-policy input SpeedUpLimitP1
到這邊就可以至到使用者(上下載)僅可使用 1M的頻寬了。
限速方式有這兩種,讓大家參考及使用。
參考網址:
http://www.techrepublic.com/blog/data-center/limit-bandwidth-on-a-cisco-catalyst-switch-port/