目录
#本文为读书笔记
ACL介绍
1>ACL(access control list),是用于流量控制的功能,相当于硬件防火墙中的网络流量控制访问策略。
2>访问控制列表分为:
标准访问控制列表: 1-99和1300-1999
扩展访问控制列表: 100-199和2000-2699
3>标准访问控制列表和扩展访问控制列表区别:
标准访问控制列表 | 扩展访问控制列表 |
---|---|
根据源地址进行过滤 | 根据源地址、目的地址、端口号、协议进行过滤 |
允许或禁止整个TCP/IP协议簇 | 指定IP协议和端口号 |
默认最后有一条deny any | 默认最后有一条deny any any |
4>访问控制列表命名方式:
ACL IN/OUT流程图及匹配顺序
1>入方向的ACL操作:
2>出方向的操作
注意这里和入方向操作不太一样的地方是,入方向操作是先匹配ACL,最后查询路由表,而出方向的操作是先查路由表,再匹配ACL,为什么?
因为出方向的流量要先确定是从哪个接口转发出去的,确定出接口后,才能根据接口是否配置ACL来进一步匹配。所以要先查下路由表,才能确定出方向流量的出接口是哪个。
3>ACL的匹配顺序
从上到下,按序列号顺序逐条匹配,前面匹配成功就不会再匹配下面的。
ACL相关命令
1> 标准访问控制列表的配置
只禁止A网段中的192.168.1.0-192.168.1.31 访问外网
router(config)# access-list 1 deny 192.168.1.0 0.0.0.31
router(config)# access-list 1 permit any
router(config)# interface e0
router(config-if)# ip access-group 1 in #将控制列表应该到该接口上,in/out方向,注意只能将访问控制列表应用在三层接口上;
2>扩展访问控制列表的配置
只禁止所有用户访问B网段的服务器的Telnet服务
router(config)# access-list 100 deny tcp any host 192.168.2.200 eq 23
router(config)# access-list 100 permit ip any any
router(config)# interface e1
router(config-if)# ip access-group 100 out
3>说明:
扩展访问控制列表操作符包括,lt、gt、eq、neq
扩展访问控制列表支持协议:
其他配置示例
1>命名访问控制列表的配置示例:
(config)#ip access-list extended test #其实这里也可以配列表号,即“test”也可以配数字号。自己敲问号就知道了;
(config-ext-nacl)#deny tcp 172.16.4.0 0.0.0.255 172.16.3.0 0.0.0.255 eq 21
(config)#interface fa0/0
(config-if)#ip access-group test in
2>如何修改序列顺序
1#删除某个序列号
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#no 10 #这里就会删除序列号为10的条目;
2#指定序列号
R1(config)#ip access-list extended 100
R1(config-ext-nacl)#10 deny ip host 192.168.5.2 host 192.168.6.2 #指定序列号配置;
总结
1# 使用"no access-list access-list-number" 将会删除整个ACL列表,要注意;
2# ACL 是用于过滤经过router 的数据包,它并不会过滤router 本身所产生的数据包;
3# 默认ACL 结尾语句是deny any,所以你要记住的是在ACL 里至少要有1 条permit 语句;
4# 注意区分列表号(access-list-number)和序列号(squence-number):
如下图
列表号是用于定义某个具体的列表(相当于组的概念);
序列号是用于对应某个具体的规则(相当于用户的概念);