1.前言
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定。
2.概述
访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
访问控制列表是应用在路由器接口的指令列表,这些指令列表用来告诉路由器哪些数据包可以接收、哪些数据包需要拒绝。
3.应用场景
ACL的基本用途是限制访问网络的用户,保护网络的安全。
ACL一般只在以下路由器上配置:
1、内部网和外部网的边界路由器。
2、两个功能网络交界的路由器。
限制的内容通常包括:
1、允许那些用户访问网络。(根据用户的IP地址进行限制)
2、允许用户访问的类型,如允许http和ftp的访问,但拒绝Telnet的访问。(根据用户使用的上层协议进行限制)
ACL可以通过定义规则来允许或拒绝流量的通过
ACL可以根据需求来定义过滤的条件以及匹配条件后所执行的动作
ACL的过滤依据主要包括:源地址、目的地址、上层协议等。
4.分类
也可这样分类:
标准访问控制列表:根据数据包的源IP地址来允许或拒绝数据包,标准访问控制列表的访问控制列表号是1-99。
扩展访问控制列表:根据数据包的源IP地址,目的IP地址,指定协议,端口和标志,来允许或拒绝数据包。扩展访问控制列表的访问控制列表号是100-199
5.规则
每个ACL可以包含多个规则,RTA根据规则来对数据流量进行过滤。
1.路由器应用访问列表对流量接口的数据包进行控制:
-
入栈应用(in)
经某接口进入设备内部的数据包进行安全规则过滤
访问列表的入栈应用 -
出栈应用(out)
设备从某接口向外发送数据时进行安全规则过滤
访问列表的出栈应用
2.一个接口在一个方向只能应用一组访问控制列表
访问控制列表的组成
- 第一步,定义规则(哪些数据允许通过,哪些数据不允许通过)
- 第二步,将规则应用在路由器(或交换机)的接口上
6.ACL配置
1.基本ACL配置
ID是2000——2999
实验拓扑
具体配置:
PC1
PC2
交换机LS
[LS]
[LS]vlan batch 10 20 //创建VLAN 10 、20
[LS]interface Ethernet 0/0/1
[LS-Ethernet0/0/1]port link-type trunk //配置0/0/1口为trunk模式
[LS-Ethernet0/0/1]port trunk allow-pass vlan 10 20 //配置0/0/1口trunk通过的vlan为10、20
[LS-Ethernet0/0/1]inter eth 0/0/2
[LS-Ethernet0/0/2]port link-type access //配置0/0/2口为Access模式
[LS-Ethernet0/0/2]port default vlan 10 //配置0/0/2口access通过的vlan为10
[LS-Ethernet0/0/2]inter eth 0/0/3
[LS-Ethernet0/0/3]port link-type access //配置0/0/3口为Access模式
[LS-Ethernet0/0/3]port default vlan 20 //配置0/0/3口access通过的vlan为20
[LS-Ethernet0/0/3]q
[LS]
AR1 0/0/1口配置单臂路由
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 172.16.1.1 30
[AR1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1.1
[AR1-GigabitEthernet0/0/1.1]dot1q termination vid 10 //将0/0/1.1口做dot1q封装vlan10
[AR1-GigabitEthernet0/0/1.1]ip address 10.1.1.1 24
[AR1-GigabitEthernet0/0/1.1]arp broadcast enable //打开ARP广播功能,只有打开发送过来的ARP请求,接口才能处理
[AR1-GigabitEthernet0/0/1.1]interface GigabitEthernet 0/0/1.2 ////将0/0/1.2口做dot1q封装vlan20
[AR1-GigabitEthernet0/0/1.2]dot1q termination vid 20
[AR1-GigabitEthernet0/0/1.2]ip address 10.2.2.1 24
[AR1-GigabitEthernet0/0/1.2]arp broadcast enable //打开ARP广播功能
[AR1-GigabitEthernet0/0/1.2]q
[AR1]
[AR1]ip route-static 0.0.0.0 0 172.16.1.2 //配置缺省路由,在数据包向外发送的时候都发往172.16.1.2这个地址
[AR1]
AR2
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip add 172.16.1.2 30
[AR2-GigabitEthernet0/0/0]inter gig 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 200.1.1.1 30
[AR2-GigabitEthernet0/0/1]q
[AR2]ip route-static 0.0.0.0 0 172.16.1.1 // //配置缺省路由,在数据包向外发送的时候都从发往172.16.1.1这个地址
[AR2]
验证一下看看PC1和PC2能不能Ping
通FTP Server:
PC1和PC2都可以Ping 通FTP Server,配置ACL阻止PC1访问FTP Server:
在AR2上面配置ACL
1.定义acl规则
[AR2]
[AR2]acl 2000
[AR2-acl-basic-2000]rule deny source 10.1.1.0 0.0.0.255 //配置源地址为10.1.1.0段的ip
[AR2-acl-basic-2000]q
2.应用acl规则
[AR2]interface GigabitEthernet 0/0/1 //进入出接口
[AR2-GigabitEthernet0/0/1]traffic-filter outbound acl 2000 //在端口ACL 2000对出站数据包进行过滤
查看acl
[AR2]display acl all //查看全部的acl
Total quantity of nonempty ACL number is 1
Basic ACL 2000, 1 rule
Acl's step is 5
rule 5 deny source 10.1.1.0 0.0.0.255 (5 matches)
[AR2]
[AR2]display traffic-filter applied-record //查看流量过滤器的应用记录
-----------------------------------------------------------
Interface Direction AppliedRecord
-----------------------------------------------------------
GigabitEthernet0/0/1 outbound acl 2000
-----------------------------------------------------------
[AR2]
测试一下,PC1能不能Ping 通FTP Server:
通过Ping 发现PC1无法Ping 通FTP Server服务器了
2.高级ACL配置
高级ACL能够依据源/目的IP地址、源/目的端口号、网络层及传输层协议以及IP流量分类和TCP标记值等各种参数(SYN|ACK|FIN等)进行报文过滤。ID是3000——3999.(放在更接近与源的地方)
实验拓扑:
具体配置:
客户端1
客户端2
交换机LS
[LS]
[LS]vlan batch 10 20 //创建VLAN 10 、20
[LS]interface Ethernet 0/0/1
[LS-Ethernet0/0/1]port link-type trunk //配置0/0/1口为trunk模式
[LS-Ethernet0/0/1]port trunk allow-pass vlan 10 20 //配置0/0/1口trunk通过的vlan为10、20
[LS-Ethernet0/0/1]inter eth 0/0/2
[LS-Ethernet0/0/2]port link-type access //配置0/0/2口为Access模式
[LS-Ethernet0/0/2]port default vlan 10 //配置0/0/2口access通过的vlan为10
[LS-Ethernet0/0/2]inter eth 0/0/3
[LS-Ethernet0/0/3]port link-type access //配置0/0/3口为Access模式
[LS-Ethernet0/0/3]port default vlan 20 //配置0/0/3口access通过的vlan为20
[LS-Ethernet0/0/3]q
[LS]
AR1
AR1 0/0/1口配置单臂路由
[AR1]interface GigabitEthernet 0/0/0
[AR1-GigabitEthernet0/0/0]ip address 172.16.1.1 30
[AR1-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1.1
[AR1-GigabitEthernet0/0/1.1]dot1q termination vid 10 //将0/0/1.1口做dot1q封装vlan10
[AR1-GigabitEthernet0/0/1.1]ip address 10.1.1.1 24
[AR1-GigabitEthernet0/0/1.1]arp broadcast enable //打开ARP广播功能,只有打开发送过来的ARP请求,接口才能处理
[AR1-GigabitEthernet0/0/1.1]interface GigabitEthernet 0/0/1.2 ////将0/0/1.2口做dot1q封装vlan20
[AR1-GigabitEthernet0/0/1.2]dot1q termination vid 20
[AR1-GigabitEthernet0/0/1.2]ip address 10.2.2.1 24
[AR1-GigabitEthernet0/0/1.2]arp broadcast enable //打开ARP广播功能
[AR1-GigabitEthernet0/0/1.2]q
[AR1]
[AR1]ip route-static 0.0.0.0 0 172.16.1.2 //配置缺省路由,在数据包向外发送的时候都发往172.16.1.2这个地址
[AR1]
AR2
[AR2]interface GigabitEthernet 0/0/0
[AR2-GigabitEthernet0/0/0]ip add 172.16.1.2 30
[AR2-GigabitEthernet0/0/0]inter gig 0/0/1
[AR2-GigabitEthernet0/0/1]ip address 200.1.1.1 30
[AR2-GigabitEthernet0/0/1]q
[AR2]ip route-static 0.0.0.0 0 172.16.1.1 // //配置缺省路由,在数据包向外发送的时候都从发往172.16.1.1这个地址
[AR2]
验证客户端1、2能不能访问FTP Server服务器:
客户端1、2可以访问FTP Server服务器,配置ACL阻止客户端2访问FTP server服务器:
在AR1上面配置:
1.配置acl规则
[AR1]acl name gj-acl //给ACL配置一个名字:gj-acl
[AR1-acl-adv-gj-acl]rule deny tcp source 10.2.2.2 0 destination 200.1.1.2 0 dest
ination-port eq 21 //配置规则拒绝tcp源10.2.2.2 0到目标200.1.1.2 0 目的
端口为 21 的数据
2.查看配置的acl,可看到我们只命名了名字:gj-acl,系统自己定义acl ID为3999
[AR1]dis acl all //查看ACL
Total quantity of nonempty ACL number is 1
Advanced ACL gj-acl 3999, 2 rules
Acl's step is 5
rule 5 deny tcp source 10.2.2.2 0 destination 200.1.1.2 0 destination-port eq f
tp (10 matches)
rule 10 permit ip (10 matches)
[AR1]
[AR1]acl 3999
[AR1-acl-adv-gj-acl]rule permit ip //没有匹配的可以通过
[AR1-acl-adv-gj-acl]q
[AR1]
3.找到距离源最近的端口配置,可看到最近的端口是0/0/1.2
[AR1]display ip interface brief
*down: administratively down
^down: standby
(l): loopback
(s): spoofing
The number of interface that is UP in Physical is 5
The number of interface that is DOWN in Physical is 1
The number of interface that is UP in Protocol is 4
The number of interface that is DOWN in Protocol is 2
Interface IP Address/Mask Physical Protocol
GigabitEthernet0/0/0 172.16.1.1/30 up up
GigabitEthernet0/0/1 unassigned up down
GigabitEthernet0/0/1.1 10.1.1.1/24 up up
GigabitEthernet0/0/1.2 10.2.2.1/24 up up
GigabitEthernet0/0/2 unassigned down down
NULL0 unassigned up up(s)
4.在端口上应用定义的acl规则
[AR1]
[AR1-GigabitEthernet0/0/1.2]traffic-filter inbound acl name gj-acl //应用入站规则名字为:gj-acl的acl
[AR1-GigabitEthernet0/0/1.2]q
[AR1]
配置验证:
用客户端2访问FTP Server 服务器:
提示连接服务器失败,这就说明我们配置的ACL起作用了。