CCNA 学习记录 - ACL 访问控制列表
引言
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定。
访问控制列表 ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
ACL 应用场景
假设我们不想让 192.168.1.0/24
网段的主机访问到 服务器 A 只允许其网段访问到互联网,只需要在 路由器上 配置 ACL 即可。同时,如果想让 192.168.2.0/24
不能访问互联网,只能访问服务器区域,也能通过 ACL 实现。
ACL 是一个基于包过滤的规则,ACL可以通过定义规则来允许或拒绝流量的通过。
ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作。
ACL 的分类
分类 | 编号范围 | 参数 |
---|---|---|
基本ACL | 1-99 | 源IP地址等 |
拓展ACL | 100-199 | 源IP地址、目的IP地址、协议、 源端口、目的端口等 |
相关配置
网络拓扑
目前,是已实现全网互通。
基础 ACL
基础 ACL 编号为 1-99。
需求: 禁止 VLAN 10 网段 的所有主机访问 路由器 G0/1
接口所连接的网段:
路由器上配置ACL:
1 | # 通过反掩码设置 |
在路由器的e0/0口应用规则:
1 | Router(config)# |
最后来到 VLAN 10 的 192.168.10.1 和 192.168.10.2 进行 测试:
发现已被 ACL 所拒绝。
取消规则:
1 | Router(config)#no access-list 1 |
拓展 ACL
在做拓展之前请确保已取消 基本ACL 的规则。
基于协议
需求: 禁止 VLAN 10 网段的 192.168.10.1 主机访问服务器区域的 VLAN 40 中的 192.168.40.5 并且 禁止 VLAN 30 网段的主机 192.168.30.3 ping 通 VLAN 40 主机的 192.168.40.5 :
R1:
1 | Router(config)#access-list 100 deny ip host 192.168.10.1 host 192.168.40.5 |
由于 ACL 控制列表按照书写顺序从上到下进行匹配,如果匹配到则停止,如果没有匹配到,默认禁止,因此最后需要给没有匹配上的原则,修改为允许。
R1:
1 | Router(config)#access-list 100 permit ip any any |
在 路由器 的 g0/
接口使用该规则:
1 | Router#conf t |
来到 主机 192.168.10.1 ,发现无法访问 192.168.40.5,但是可以访问 192.168.40.6:
来到 主机 192.168.30.3 ,发现无法 ping 通 192.168.40.5,但是可以访问 ping 通 192.168.40.6:
但是注意,这里只是无法通过 ICMP 协议而已(无法 ping 通)。但是可以访问其他协议的服务,比如 TCP、http 等。如访问网页:
基于端口
需求:禁止 192.168.10.0/24 所有的主机访问 192.168.40.0/24 网段的 80 端口:
路由器配置:
1 | Router(config)#access-list 101 deny tcp host 192.168.10.0 host 192.168.40.0 eq 80 |
路由器的 g0/1
接口使用改规则:
1 | Router(config-if)#ip access-group 101 out |
接下来使用 192.168.10.0/24 的主机 ping 192.168.40.5:
发现可以 ping 通,但是无法访问其 web 服务(80端口)。
规则的查看
1 | Router#show ip access-lists # 查看所有规则 |