欢迎进入网络技术社区论坛,与200万技术人员互动交流 >>进入 现在用户希望更改原有的ACL 101,希望在上述的两条语句之间加入如下所示的ACL语句: access-list 101 deny ip host192.168.3.1 host 192.168.4.1 但是当你完成加入后,这条被加入的语句将被放到AC
欢迎进入网络技术社区论坛,与200万技术人员互动交流 >>进入
现在用户希望更改原有的ACL 101,希望在上述的两条语句之间加入如下所示的ACL语句:
access-list 101 deny ip host192.168.3.1 host 192.168.4.1
但是当你完成加入后,这条被加入的语句将被放到ACL 101的最后,如下图所示,这样,它的匹配顺序也如图所示,最后加入的语句被放置到ACL列表的最后,而第二条语句是允许任何流量,所以根本不会给第三条语句匹配的机会,那么第三条语句将永远不生效,即便是您可能希望它于permit any any 之前生效,但事实上它不会,这类似于微机原理里面的堆栈原理,先进入。先调用。
#FormatImgID_2#所以在传统IOS中管理员对ACL的修改变得很头痛,通常,管理员会把现在的ACL复制到一个文本文件中进行增加或者删除语句的操作,然后把原本在路由器上配置的ACL通过no access-list 101全部清除,再将文本文件中修改完成的ACL复制到路由器上,无法做到逐条修改ACL语句的效果。
使用ACL的增强编辑功能来增加与删除ACL条目
新的IOS将打破传统IOS对ACL条目修改的限制,如下图所示,它为每条ACL语句增加了序列号,比如第一条ACL语句的序列号是10,第二条ACL语句的序列号是20,以10作为输写第一条ACL的基数数字序列号,然后,输写一条新的ACL语句就递增10,所以此时如果需要在序列号为10和20之间增加一条ACL语句,那么,只需要增加一条属于10-20之间的序列号,新增的ACL语句就会存在于10和20之间。
比如,现在,在10和20之间增加一条序列号是15的ACL语句,具体配置如下所示,在,在配置语句中的15是指示即将插入的ACL语句的序列号, 完成配置后,可以在路由器上使用show ip access-lists来查看各条ACL的语句如下图10.16所示,可看出在序列号10和20之间出现了一条序例号是15的ACL语句,这就突破了传统IOS对ACL编辑的困难,它增强了对ACL的编辑能力。
在两条ACL语句之间插入一条序列号是15的配置:
R1(config)#ip access-list extended 101
R1(config-ext-nacl)#15 deny ip host 192.168.3.1 host192.168.4.1
#FormatImgID_5#IOS 的版本如此众多,在使用时,怎么知道,哪些IOS版本支持ACL的增强编辑功能,哪些IOS版本不支持ACL的增强编辑功能?很简单,用户不需要去记IOS的版本号,因为这确实是一件很难记住的事情,可以直接通过show ip access-lists来查看ACL列表,如果在显示结果中,每条ACL的语句前都有一个序列号,那么该设备就支持ACL的增强编辑功能,反之则不能。
提问:为什么IOS系统自动为ACL语句插入序列号时会以10作为基数(第一条ACL语句的序列号);并以10作为递增数来插入随后的ACL序列号 ?
事实上,这也是为了编辑ACL的方便,为第一条ACL语句产生时就将序列号基数设置为10,是为了给原始的第一条ACL语句之前再插入ACL预留了空间,至少用户还可以插入1-9条ACL语句,后继的ACL以10作为递增数也是同理,当然,用户可以根据自已的需求改变第一条ACL自动插入时的基数和后继ACL产生的递增数,但是本人建议保持默认的配置。
[1] [2]