近期在做一个ACL的时候,由于匹配同一段目的地的端口太多,所以就采用了多端口写于同一个ACE的办法。如下:
ip access-list extended fromv20
10 permit tcp any 1.1.1.0 0.0.0.255 eq 11 22 33 44 55 66 77 88
20 permit tcp any 1.1.1.0 0.0.0.255 log
int vlan 20
ip access-group fromv20 in
log ip access-list cache in
end
10 permit tcp any 1.1.1.0 0.0.0.255 eq 11 22 33 44 55 66 77 88
20 permit tcp any 1.1.1.0 0.0.0.255 log
int vlan 20
ip access-group fromv20 in
log ip access-list cache in
end
结果发现很多tcp66端口匹配的log记录,如下。但是10的ACE根本就没有打log,由于log没有输出是匹配的哪条ACE,所以不能明确的确定此记录是匹配的10还是20。不过,我在2960的IOS上做了将多个tcp端口集合写在一条ACE是可以的。
1469305: Mar 15 21:15:41.098 CST: %AFLSEC-6-OALP: permitted tcp 2.2.2.2(38315) -> 1.1.1.1(66), 1 packet
1469306: Mar 15 21:15:41.854 CST: %AFLSEC-6-OALP: permitted tcp 2.2.2.2(36761) -> 1.1.1.1(66), 1 packet
1469305: Mar 15 21:15:41.098 CST: %AFLSEC-6-OALP: permitted tcp 2.2.2.2(38315) -> 1.1.1.1(66), 1 packet
1469306: Mar 15 21:15:41.854 CST: %AFLSEC-6-OALP: permitted tcp 2.2.2.2(36761) -> 1.1.1.1(66), 1 packet
将符合条件的多个端口写在一条ACE仅有如下优点:
1,减少ACE条目便于维护管理;
2,不能减少TCAM的hash表数,这个已经通过实验证明(查看http://ipneter.blog.51cto.com/341177/283556)。
1,减少ACE条目便于维护管理;
2,不能减少TCAM的hash表数,这个已经通过实验证明(查看http://ipneter.blog.51cto.com/341177/283556)。
本文转自 chris_lee 51CTO博客,原文链接:http://blog.51cto.com/ipneter/299231,如需转载请自行联系原作者