三、允许、限制、再允许
我们可以假设一个在一个大办公室里,研发、客服、技术等几个部门在一块办公,当然也就是位于一个大的网段10.66/16这个网段里,在某一个特定的时期,研发部门的除了领导可以上网外(领导的IP 为10.66.5.246,研发部的网段为10.66.5/24)其它员工都不能上网,但是客服和技术都可以上网,ACL就可以这样来写。
3550(config)#access-list 2 permit 10.66.5.246 3550(config)#access-list 2 deny 10.66.5.0 0.0.0.255 3550(config)#access-list 2 permit 10.66.0.0 0.0.255.255 3550(config)#inter fa0/22 3550(config-if)#ip access-group 2 in |
有句话怎么来说的来,管而不死、活而不乱,这个ACL就是对这句话的很好的一个应用。
四、扩展的ACL
这个例子限制的就更细了,比如说PC2(192.168.1.249)上面运行着两个WWW 服务,一个使用常规的80端口,另一个是使用的是8088端口,当然这两个端口发布的网页内容是不一样的,我们只希望PC1能够访问到PC2上面8088 端口(也就是大于1023)的网页,还能够使用PC2上面运行的SMTP服务,并且为了保证在PC1不能使用其它服务的同时,PC1上还能够确认它的网络连接是正常的,我们允许它执行PING操作,ACL这样写:
3550(config)#access-list 102 permit tcp any host 192.168.1.249 gt 1023 3550(config)#access-list 102 permit tcp any host 192.168.1.249 eq 25 3550(config)#access-list 102 permit icmp any any 3550(config)#inter fa0/22 3550(config-if)#ip access-group 102 in |
经过实验证明,效果确实如我们所设想的一样。
五、以名字命名的ACL
还记得以前祥子在管理ACL时,每一次要从 ACL列表中删除一个IP地址时的紧张劲吗?其实利用以名字命令的ACL,我们可以方便的增加一个允许的操作,也可以方便的将其中的一个允许操作删除掉。比如我们下面的例子中,前期允许了10.66.5.246、10.66.6.246、10.66.7.246三台主机通过,但是由于某种原因,现在不允许 10.66.7.246通过,我们来操作一下:
3550(config)#ip access-list standard internet_filter 3550(config-std-nacl)#permit 10.66.5.246 3550(config-std-nacl)#permit 10.66.6.246 3550(config-std-nacl)#permit 10.66.7.246 3550(config-std-nacl)#end 3550#show access-lists Standard IP access list internet_filter permit 10.66.6.246 permit 10.66.7.246 permit 10.66.5.246 |
执行删除操作
3550(config)#ip access-list standard internet_filter 3550(config-std-nacl)#no permit 10.66.5.246 3550(config-if)#end 3550#show access-lists Standard IP access list internet_filter permit 10.66.6.246 permit 10.66.7.246 |
早知道ACL可以这样写,祥子当年就不会每次执行删除一个IP地址都会紧张的冒汗了。
原文出处:http://net.it168.com/a2008/0922/205/000000205788_5.shtml