限速配置如下:
access-list rate_limit_1 extended permit ip any host 192.168.1.2 //(限制192.168.1.2下载)
access-list rate_limit_1 extended permit ip host 192.168.1.2 any //(限制192.168.1.2上传)
access-list rate_limit_2 extended permit ip any host 192.168.1.3 //(限制192.168.1.3下载)
access-list rate_limit_2 extended permit ip host 192.168.1.3 any //(限制192.168.1.3上传)
class-map rate_limit_1
match access-list rate_limit_1
class-map rate_limit_2
match access-list rate_limit_2
policy-map rate_limit
class rate_limit_1
police input 819000 4368000 //(限制192.168.1.2上传速度为99K/S)
police output 819000 4368000 //(限制192.168.1.2下载速度为99K/S)
class rate_limit_2
police input 819000 4368000 //(限制192.168.1.3上传速度为99K/S)
police output 819000 4368000 //(限制192.168.1.3上传速度为99K/S)
service-policy rate_limit interface inside //(应用到内网接口上)
注:由于是根据单个IP限制速度,所以ACL要写成一个IP两句ACL,一个匹配上传,另一个匹配下载。要是所有IP都写在一个ACL里,那么是限制所有IP的共用这99K/s。一定要写不同的ACL。
如: police
注1:这种限制流量的做法不能使用在outside上,因为在outside端口上做PAT,地址经过NAT转换以后,找不到匹配的目的和原地址,但是我试过如果使用any
注2:关于速率的问题
在应用police的时候单位是bps
二、限制某网段总上行、下行速率
以限制172.16.18.0
!
access-list pol extended permit ip any 172.16.18.0 255.255.255.0
access-list pol extended permit ip 172.16.18.0 255.255.255.0 any
!
class-map pol
match access-list pol
!
policy-map pol
class pol
police input 3276500 600000
police output 26214000 5000000
!
service-policy pol interface inside
!
三、使用
object-group对象分组的方法
到底是实现对某些IP总上行下行,还是能实现对某个IP上行下行限速,没实际测试过。这写法看着方便,先留着。
把ACL改一下,最好是建一下对象分组,再把这个对象分组加到ACL中,这样以后想对某个IP限速,直接把它加到这个对象分组中就OK了。
object-group network rate_limit
network host *.*.*.*
access-list rate_limit extended permit ip object-group rate_limit any
access-list rate_limit extended permit ip any object-group rate_limit
class-map map1
match access-list rate_limit
policy-map map2
class map1
police output 200000 43750
police input 800000 250000
service-policy map2 interface outside
!
问:object-group network rate_limit
换成如range x.x.x.2 x.x.x.90
会对每个IP单独限速吗
单个添加工作还是太大了
答:
没有试过,不过应该可以,使用对象分组其实就是为了少写几个ACL,只要能定位IP就可以。
以上show access-list就可以看到生效的ACL了, 其实就是:使用object-group 能大大简化配置工作量