11、访问控制列表(ACL)
11.1 配置基本的访问控制列表
11.1.1 原理概述
访问控制列表ACL(Access Control List)是由permit或deny语句组成的一系列有顺序的规则集合,这些规则根据数据包的源地址、目的地址、源端口、目的端口等信息来描述。ACL规则通过匹配报文中的信息对数据包进行分类,路由设备根据这些规则判断哪些数据包可以通过,哪些数据包需要拒绝。
按照访问控制列表的用途,可以分为基本的访问控制列表和高级的访问控制列表,基本ACL可使用报文的源IP地址、时间段信息来定义规则,编号范围为2000~2999。一个ACL可以由多条“deny/permit”语句组成,每一条语句描述一条规则,每条规则有一个Rule-ID。Rule-ID可以由用户进行配置,也可以由系统自动根据步长生成,默认步长为5,Rule-ID默认按照配置先后顺序分配0、5、10、15等,匹配顺序按照ACL的Rule-ID的顺序,从小到大进行匹配。
11.1.2 实验内容
本实验模拟企业网络环境,R1为分支机构A管理员所在IT部门的网关,R2为分支机构A用户部门的网关,R3为分支机构A去往总部出口的网关设备,R4为总部核心路由器设备。整网运行OSPF协议,并在区域0内。企业设计通过远程方式管理核心网路由器R4,要求只能由R1所连的PC访问R4,其他设备均不能访问。
11.1.3 实验拓扑
11.1.4 实验编址
设备 | 接口 | IP地址 | 子网掩码 | 默认网关 |
---|---|---|---|---|
AR1(AR2220) | GE 0/0/0 | 172.16.1.1 | 255.255.255.252 | N/A |
AR1(AR2220) | GE 0/0/2 | 192.168.10.254 | 255.255.255.0 | N/A |
AR2(AR2220) | GE 0/0/1 | 172.16.2.1 | 255.255.255.252 | N/A |
AR2(AR2220) | GE 0/0/2 | 192.168.20.254 | 255.255.255.0 | N/A |
AR3(AR2220) | GE 0/0/0 | 172.16.1.2 | 255.255.255.252 | N/A |
AR3(AR2220) | GE 0/0/1 | 172.16.2.2 | 255.255.255.252 | N/A |
AR3(AR2220) | GE 0/0/2 | 172.16.3.2 | 255.255.255.252 | N/A |
AR4(AR2220) | GE 0/0/2 | 172.16.3.1 | 255.255.255.252 | N/A |
PC1 | Ethernet 0/0/1 | 192.168.10.1 | 255.255.255.0 | 192.168.10.254 |
PC2 | Ethernet 0/0/1 | 192.168.20.1 | 255.255.255.0 | 192.168.20.254 |
11.1.5 实验步骤
1、基本配置
根据实验编址表进行基本的IP地址配置和OSPF配置。
[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/2 [AR1-GigabitEthernet0/0/2]ip address 192.168.10.254 24 [AR1-GigabitEthernet0/0/2]ospf 1 [AR1-ospf-1]area 0 [AR1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255 [AR1-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.3 [AR2]interface GigabitEthernet 0/0/1 [AR2-GigabitEthernet0/0/1]ip address 172.16.2.1 30 [AR2-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2 [AR2-GigabitEthernet0/0/2]ip address 192.168.20.254 24 [AR2-GigabitEthernet0/0/2]ospf 1 [AR2-ospf-1]area 0 [AR2-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.3 [AR2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255 [AR3]interface GigabitEthernet 0/0/0 [AR3-GigabitEthernet0/0/0]ip address 172.16.1.2 30 [AR3-GigabitEthernet0/0/0]interface GigabitEthernet 0/0/1 [AR3-GigabitEthernet0/0/1]ip address 172.16.2.2 30 [AR3-GigabitEthernet0/0/1]interface GigabitEthernet 0/0/2 [AR3-GigabitEthernet0/0/2]ip address 172.16.3.2 30 [AR3-GigabitEthernet0/0/2]ospf 1 [AR3-ospf-1]area 0 [AR3-ospf-1-area-0.0.0.0]network 172.16.1.0 0.0.0.3 [AR3-ospf-1-area-0.0.0.0]network 172.16.2.0 0.0.0.3 [AR3-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.3 [AR4]interface GigabitEthernet 0/0/2 [AR4-GigabitEthernet0/0/2]ip address 172.16.3.1 30 [AR4-GigabitEthernet0/0/2]ospf 1 [AR4-ospf-1]area 0 [AR4-ospf-1-area-0.0.0.0]network 172.16.3.0 0.0.0.3 [PC1]interface GigabitEthernet 0/0/2 [PC1-GigabitEthernet0/0/2]ip address 192.168.10.1 24 [PC1-GigabitEthernet0/0/2]ospf 1 [PC1-ospf-1]area 0 [PC1-ospf-1-area-0.0.0.0]network 192.168.10.0 0.0.0.255 [PC2]interface GigabitEthernet00/0/2 [PC2-GigabitEthernet0/0/2]ip address 192.168.20.1 24 [PC2-GigabitEthernet0/0/2]ospf 1 [PC2-ospf-1]area 0 [PC2-ospf-1-area-0.0.0.0]network 192.168.20.0 0.0.0.255
配置完成后测试PC1和AR4的连通性。
[PC1]ping 172.16.3.1 PING 172.16.3.1: 56 data bytes, press CTRL_C to break Reply from 172.16.3.1: bytes=56 Sequence=1 ttl=253 time=30 ms Reply from 172.16.3.1: bytes=56 Sequence=2 ttl=253 time=20 ms Reply from 172.16.3.1: bytes=56 Sequence=3 ttl=253 time=30 ms Reply from 172.16.3.1: bytes=56 Sequence=4 ttl=253 time=20 ms Reply from 172.16.3.1: bytes=56 Sequence=5 ttl=253 time=60 ms --- 172.16.3.1 ping statistics --- 5 packet(s) transmitted 5 packet(s) received 0.00% packet loss round-trip min/avg/max = 20/32/60 ms
2、配置基本ACL访问控制
在总部核心路由器R4上面配置Telnet相关配置,配置用户密码为:huawei
[AR4]user-interface vty 0 4 [AR4-ui-vty0-4]authentication-mode password Please configure the login password (maximum length 16):huawei
配置完成后,尝试在PC1和PC2上建立Telnet连接。
<PC1>telnet 172.16.3.1 Trying 172.16.3.1 ... Press CTRL+K to abort Connected to 172.16.3.1 ... Login authentication Password: <AR4>
可以观察到,只要路由可达的设备,并且拥有Telnet密码,都可以成功访问核心路由器R4,这是不安全的。
在R4上面使用acl
命令创建一个编号型ACL,基本ACL的范围是2000-2999.接下来在ACL视图中,使用rule
命令配置ACL规则,指定规则ID为5,允许数据包源地址为192.168.10.1的报文通过,反掩码为0.0.0.255,即精确匹配。第二条规则ID为10,拒绝任意原地址的数据包通过。ACL配置完成后,在vty中使用inbound调用。
[AR4]acl 2000 [AR4-acl-basic-2000]rule 5 permit source 192.168.10.1 0.0.0.255 [AR4-acl-basic-2000]rule 10 deny source any [AR4-acl-basic-2000]quit [AR4]user-interface vty 0 4 [AR4-ui-vty0-4]acl 2000 inbound
此时测试可以观察到,现在只有PC1可以访问,其他设备都不能访问。
<PC1>telnet 172.16.3.1 Trying 172.16.3.1 ... Press CTRL+K to abort Connected to 172.16.3.1 ... Login authentication Password: <AR4> <PC2>telnet 172.16.3.1 Trying 172.16.3.1 ... Press CTRL+K to abort Error: Failed to connect to the remote host.
要想增加其他设备如AR3可以访问AR4的话,只能使用ACL规则ID在10的前面的ID编号才能正常访问,因为编号10是拒绝所有访问。