访问控制列表的定义
访问控制列表(ACL)是一种基于包过滤的访问控制技术,它可以根据设定的条件对接口上的数据包进行过滤,允许其通过或丢弃。访问控制列表被广泛地应用于路由器和三层交换机,也可以配置在防火墙上,一般称为策略。借助于访问控制列表,可以有效地控制用户对网络的访问,从而最大程度地保障网络安全。
访问控制列表(Access Control Lists,ACL)是应用在路由器接口的指令列表。这些指令列表用来告诉路由器哪些数据包可以收、哪些数据包需要拒绝。至于数据包是被接收还是拒绝,可以由类似于源地址、目的地址、端口号等的特定指示条件来决定。
访问控制列表具有许多作用,如限制网络流量、提高网络性能;通信流量的控制,例如ACL可以限定或简化路由更新信息的长度,从而限制通过路由器某一网段的通信流量;提供网络安全访问的基本手段;在路由器端口处决定哪种类型的通信流量被转发或被阻塞。
ACL作用
•
ACL可以限制网络流量、提高网络性能。
•
ACL提供对通信流量的控制手段。
•
ACL是提供网络安全访问的基本手段。
•
ACL可以在路由器端口处决定哪种类型的通信流量被转发或被阻塞
ACL分类
标准ACL:
表号为1-99
只能基于源IP地址对包进行过滤
扩展ACL:
表号为100-199
以源IP地址、目的IP地址、源端口号、目的端口号、协议号作为过滤标准,可以精确的限制到某一种具体的协议。
ACL原理
ACL表的条目是由动作和条件组成的
•
当数据满足条件时,执行动作
•
当数据不满足条件时,检测下一个条目
ACL表是严格自上而下检查的
ACL表必须应用在接口的in或out方向才会生效
一个接口的一个方向只能调用一个ACL表
标准ACL语法
access-list 表号 permit/deny 源IP或源网段 反子网掩码
access-list 1 deny 192.168.1.0 0.0.0.255 (000的反掩码表示严格匹配1网段的包)# 并且给拒绝的是网段
access-list 1 permit any # 允许所有流量通过
access-list 1 deny host 192.168.1.3 #拒绝单个主机通过
标准ACL完整应用
acc 1 deny 192.168.1.0 0.0.0.255 # 拒绝1网段的流量通过
acc 1 permit any # 还得加一个允许所有通过
查看acl表
show access-list //查看所有ACL表
show access-list <表号> //查看某个ACL表
之后将ACL应用到接口
int f0/0
ip access-list <表号> in/out
注:一个接口的一个方向只能调用一个ACL表。
拓扑
需求
1.0网段拒绝3.0网段的访问
部署
配置PC16终端地址
配置PC18地址
配置PC17
之后配置路由器各个接口地址以及配置跨段路由;可参考前面的nat笔记,此处时间问题不再列出
配置R5路由
Router(config)#access-list 1 deny 192.168.3.0 0.0.0.255
Router(config)#access-list 1 permit any
之后可以查看创建的acl表
Router(config)#do show acc
‘’
之后将其表应用接口使其生效
Router(config)#int f0/0 # 应用于所选接口的最末端的接口使其影响最小
Router(config-if)#ip access-group 1 out # 流量方向为出方向所以为out
效果测试
此时我们可以发现主机不可达 (访问控制效果生效)
扩展ACL
access-list 表号 permit/deny 协议 源IP或源网段 反子网掩码 目标IP或源网段 反子网掩码 <eq 端口号>
access-list 100 deny ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 # 拒绝1网段的所有主机访问2网段
access-list 100 permit ip host 192.168.1.2 192.168.2.0 0.0.0.255 # 允许1.2的主机访问2网段
access-list 100 permit tcp 192.168.1.2 0.0.0.0 192.168.2.254 0.0.0.0 eq 80 #允许1.2的主机访问服务器的80端口;可简写为:access-list 100 permit tcp host 192.168.1.2 host 192.168.2.254 eq 80
拓扑
需求
192.168.5.254只允许PC18(3.2)访问;允许1.0网段全部访问;其他主机都拒绝
部署
先配置服务器地址
下面三条命令创建ACL表
Router(config)#access-list 100 permit ip host 192.168.3.2 host 192.168.5.254
Router(config)#access-list 100 permit ip 192.168.1.0 0.0.0.255 host 192.168.5.254
Router(config)#access-list 100 deny ip any host 192.168.5.254
将建的acl控制表应用到路由器7的F0/1接口(出)
Router(config-if)#ip access-group 100 out
效果图
我们可以看到没应用规则前其他主机也是可以访问的
应用acl规则之后主机不可达
命名ACL
命名ACL是以列表名称代替列表编号来定义ACL,同样包括标准和扩展两种列表。命名ACL还可以被用来从某一特定的ACL中删除个别的控制条目,这样可以使网络管理员方便修改ACL
命名ACL分类
命名标准ACL
命名扩展ACL
命名ACL优点
方便记忆
•
命名控制列表就是给控制列表取个名字,而不是使用访问控制列表号。
方便管理
通过命令访问控制列表可以很方便的管理ACL规则,可以随便添加、插入和删除规则,而无需删除整个访问控制列表了
语法
命名标准ACL
Router(config)#ip access-list standard vlan10
Router(config-std-nacl)#permit 192.168.1.0 0.0.0.255
Router(config-std-nacl)#deny 192.168.2.0 0.0.0.255
命名扩展ACL
Router(config)#ip access-list extended WW
Router(config-ext-nacl)#permit tcp host 192.168.1.2 host 192.168.5.254 eq telnet
Router(config-ext-nacl)#permit tcp host 192.168.2.3 host 192.168.5.254 eq www
Router(config-ext-nacl)#permit icmp host 192.168.3.2 host 192.168.5.254
Router(config-ext-nacl)#deny ip any any
版权归原作者 爱吃仡坨 所有, 如有侵权,请联系我们删除。