ASA 5100限速 MQC方式对每个IP进行限速、某网段限速、某些IP进行限速
一、针对每个IP进行限速 会写死人的方法:
首先:不是所有设备都能很好支持单个IP限速,要看是否支持,比如3550和6509都支持QoS,但是3550就不支持micro flow,所以不能单ip滴限制流量,而6509则支持micro flow,所以可以单个ip限制流量。
想要实现,可用如下方法针对单IP进行限速:
拓扑图:
限速配置如下:
!
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
exit
class-map rate_limit_2
match access-list rate_limit_2
exit
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)
exit
exit
service-policy rate_limit interface inside //(应用到内网接口上)
!
注:由于是根据单个IP限制速度,所以ACL要写成一个IP两句ACL,一个匹配上传,另一个匹配下载。要是所有IP都写在一个ACL里,那么是限制所有IP的共用这99K/s。一定要写不同的ACL。
police input 819000 4368000 前一个819000速度是基本速率,后一个4368000是突发速率,发流量:可以按照 最大流量/8 *1.5 这个公式来算。也可以是其它。
如:police output 40000000 5625000 //策略的outbound流量限制在40M bits以下,突发45M(5625000 bytes)注意看单位
注1:这种限制流量的做法不能使用在outside上,因为在outside端口上做PAT,地址经过NAT转换以后,找不到匹配的目的和原地址,但是我试过如果使用any 到 any是可以限制流量的。任何源和目的指定地址限速都不会生效。
注2:关于速率的问题
在应用police的时候单位是bps 记住是bit 它是速率单位,所以如果要把它换算为存储单位byte需要除以8。
二、限制某网段总上行、下行速率
以限制172.16.18.0 /24网段为例:
!
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
network host *.*.*.*
换成如range x.x.x.2 x.x.x.90
会对每个IP单独限速吗
单个添加工作还是太大了
答:
没有试过,不过应该可以,使用对象分组其实就是为了少写几个ACL,只要能定位IP就可以。
以上show access-list就可以看到生效的ACL了,其实就是:使用object-group 能大大简化配置工作量
转载于:https://blog.51cto.com/yuxing34/1599206