1【实验目的】
•掌握基本IP ACL的原理
•掌握ACL在企业网络中的应用
•掌握基本IP ACL的配置方式
•掌握基本IP ACL的验证效果
2【实验环境】
华为ENSP模拟器
实验拓扑图如下图所示。
3【实验过程及实验结果】
1.地址配置
IP地址规划表
设备名称 |
设备接口 |
IP |
网关 |
所属VLAN |
Server1 |
E0/0/1 |
10.20.10.100/24 |
10.20.10.254/24 |
VLAN10 |
PC1 |
E0/0/2 |
10.20.20.2/24 |
10.20.20.254/24 |
VLAN20 |
PC2 |
E0/0/3 |
10.20.0.3/24 |
10.20.30.254/24 |
VLAN30 |
PC3 |
G0/0/1 |
222.22.22.22/24 |
222.22.22.1/24 |
|
AR1 |
G0/0/0 |
10.20.62.2/24 |
||
G0/0/1 |
222.20.20.1/24 |
|||
AR2 |
G0/0/0 |
222.20.20.2/24 |
||
G0/0/1 |
222.22.22.1/24 |
|||
LSW1 |
G0/0/1 |
10.20.10.254/24 |
VLAN10 |
|
G0/0/2 |
10.20.20.254/24 |
VLAN20 |
||
G0/0/3 |
10.20.30.254/24 |
VLAN30 |
||
G0/0/4 | 10.20.62.1/24 |
VLAN1 |
2. IP编址与基本配置
给所有路由器配置IP地址信息。
AR1
<Huawei>sys Enter system view, return user view with Ctrl+Z. [Huawei]sys AR1 [AR1]int g0/0/0 [AR1-GigabitEthernet0/0/0]ip add 10.20.62.2 24 [AR1-GigabitEthernet0/0/0]int g0/0/1 [AR1-GigabitEthernet0/0/1]ip add 222.20.20.1 24 [AR1-GigabitEthernet0/0/1]q
AR2
<Huawei>sys Enter system view, return user view with Ctrl+Z. [Huawei]sys AR2 [AR2]int g0/0/0 [AR2-GigabitEthernet0/0/0]ip add 222.20.20.2 24 [AR2-GigabitEthernet0/0/0]q [AR2]int g0/0/1 [AR2-GigabitEthernet0/0/1]ip add 222.22.22.1 24 [AR2-GigabitEthernet0/0/1]q
3. 配置VLAN和静态路由
AR1
添加一条静态路由,要想到达10.20.0.0/16网段,下一跳走交换机的GigabitEthernet0/0/4端口; 再添加一条默认路由,意在让10.20.0.0/16发出的数据包下一跳走222.20.20.2
[AR1]ip route-static 10.20.0.0 16 10.20.62.1 [AR1]ip route-static 0.0.0.0 0 222.20.20.2
AR2
添加一条默认路由,下一跳是路由器AR1的G0/0/1端口
[AR2]ip route-static 0.0.0.0 0 222.20.20.1
LSW1
<Huawei>sys Enter system view, return user view with Ctrl+Z. [Huawei]sys LSW1 [LSW1] [LSW1]vlan 10 [LSW1-vlan10]description Jack20-Server_VLAN10 [LSW1-vlan10]q [LSW1]vlan 20 [LSW1-vlan20]description Jack20-Local_VLAN20 [LSW1-vlan20]q [LSW1]vlan 30 [LSW1-vlan30]description Jack20-Local_VLAN30 [LSW1-vlan30]q [LSW1] [LSW1]int g0/0/1 #将GigabitEthernet0/0/1端口设置为access类型 [LSW1-GigabitEthernet0/0/1]port link-type access [LSW1-GigabitEthernet0/0/1]vlan 10 #将GigabitEthernet0/0/1端口加入VLAN10 [LSW1-vlan10]port g0/0/1 [LSW1-vlan10]q [LSW1] [LSW1]int g0/0/2 [LSW1-GigabitEthernet0/0/2]port link-type access [LSW1-GigabitEthernet0/0/2]vlan 20 [LSW1-vlan20]port g0/0/2 [LSW1-vlan20]q [LSW1] [LSW1]int g0/0/3 [LSW1-GigabitEthernet0/0/3]port link-type access [LSW1-GigabitEthernet0/0/3]vlan 30 [LSW1-vlan30]port g0/0/3 [LSW1-vlan30]q [LSW1] [LSW1]int g0/0/4 #将GigabitEthernet0/0/4端口设置为trunk类型 [LSW1-GigabitEthernet0/0/4]port link-type trunk #GigabitEthernet0/0/4端口允许所有VLAN通过 [LSW1-GigabitEthernet0/0/4]port trunk allow-pass vlan all [LSW1-GigabitEthernet0/0/4]q [LSW1] [LSW1]int vlanif 1 [LSW1-Vlanif1]ip add 10.20.62.1 24 [LSW1-Vlanif1]int vlanif 10 [LSW1-Vlanif10]ip add 10.20.10.254 24 [LSW1-Vlanif10]int vlanif 20 [LSW1-Vlanif20]ip add 10.20.20.254 24 [LSW1-Vlanif20]int vlanif 30 [LSW1-Vlanif30]ip add 10.20.30.254 24 [LSW1-Vlanif30]q [LSW1] #加一条默认路由,下一跳是路由器AR1的G0/0/0端口 [LSW1]ip route-static 0.0.0.0 0 10.20.62.2
(1)配置完成后,观察各设备的路由表,分别 AR1和AR2
AR1
AR2
从以上输出可以看到,AR2与 AR1通过静态路由和默认路由的配置可以学习到对应的路由的路由信息。
(2)再观察LSW1中的VLAN情况
从以上输出可以看到,创建的三个VLAN的端口绑定,Access和Trunk情况,以及给不同VLAN划分时的命名
(3)检验通讯状况
VLAN10与VLAN20与VLAN30间通讯正常
4. 配置基本IP ACL
为保证网络通讯
AR1
[AR1]acl number 2000 [AR1-acl-basic-2000]rule 5 permit source 10.20.0.0 0.0.255.255 [AR1-acl-basic-2000]q
在这个企业网环境中,管理员要通过基本IP ACL 实现以下需求。
●源IP地址为私有地址的流量不能从Internet进入企业网络。
●财务部门服务器VLAN ( 10. 20.10.0/24)中的服务器只能由财务部VLAN(10. 20. 30. 0/24)中的主机进行访问。
根据上述需求,管理员决定在三层交换机LSW1的G0/0/4和G0/0/1接口上实施相应的过滤行为,并创建了下面两个基本IP ACL
LSW1
[LSW1]acl 2000 [LSW1-acl-basic-2000]rule deny source 10.0.0.0 0.255.255.255 [LSW1-acl-basic-2000]rule deny source 172.16.0.0 0.15.255.255 [LSW1-acl-basic-2000]rule deny source 192.168.0.0 0.0.255.255 [LSW1-acl-basic-2000]q [LSW1] [LSW1]acl 2010 [LSW1-acl-basic-2010]rule permit source 10.20.30.0 0.0.0.255 [LSW1-acl-basic-2010]rule deny source any [LSW1-acl-basic-2010]q
查看创建的两个ACL情况
把两个基本IP ACL应用在对应位置,在连接AR1 (服务提供商)的接口G0/0/4上应用了入向ACL,过滤源IP地址为私有地址的流量。在连接服务器VLAN的接口G0/0/1上应用了出向ACL,只放行VLAN 30的流量。
LSW1
[LSW1]int g0/0/4 [LSW1-GigabitEthernet0/0/4]traffic-filter inbound acl 2000 [LSW1-GigabitEthernet0/0/4]q [LSW1]int g0/0/1 [LSW1-GigabitEthernet0/0/1]traffic-filter outbound acl 2010 [LSW1-GigabitEthernet0/0/1]q
(1)配置完成后,测试基本IP ACL 2000状态
从以上输出可以看到,我们从AR2路由器向ARI的G0/0/4接口发起了ping测试。在第一次测试中,我们使用了默认源IP地址,也就是AR2接口G0/0/0的IP地址222.20.20.2,测试成功。第二次测试我们在ping命令中使用-a关键字指定了发起这个ping测试的源IP地址,并将其指定为一个私有IP 地址,测试失败。
当LSW1从G0/0/4接口接收到数据包时,它会检查接口有无应用任何入向过滤措施。在发现需要使用入向ACL 2000对这个数据包执行过滤时,AR1 会按照ACL 2000中配置的匹配规则来对这个数据包进行匹配。在第二次ping测试过程中,AR1发现它接收到的数据包与ACL 2000 中编号为10的条目相匹配,这时它就会对这个数据包应用条目10中指定的行为——丢弃。
拒绝(deny)语句的作用:一旦数据包与拒绝(demy)语句相匹配,那么无论这个数据包应该受到的下一步处理行为是什么,路由器都会直接丢弃这个数据包,而不会进行任何下一步操作(不会返回任何ICMP消息)。相反,对于允许(permit)语句,当数据包与允许(permit)语句相匹配时,路由器才会进一步处这个数斯化,在图中也就是为这个ICMP Echo-Request消息返回ICMP Echo-Reply消息。图中展示了进行这两次ping测试时,在LSWI接口G0/0/4的抓包截图。
从图中可以看出,LSW1以ICMP Echo-Reply消息回应了原ip地址为10.20.62.1的ping请求,但对于源ip地址172.16.0.1d ping请求LSW1则没有给出任何回应。因此,路由器发起的第二次ping测试返回的结果为请求超时。
(2)测试基本IP ACL 2010情况
VLAN30
VLAN20
分别从PC2和PC1向服务器Server 1发起了路径测试,从测试结果可以看出,PC2的联通测试成功,而PC1的联通路径测试失败,这是我们通过基本IP ACL 2010想要实现的结果。
2.4【实验总结】
(1)简介
访问控制列表(Access Control List,ACL) 是路由器和交换机接口的指令列表,用来控制端口进出的数据包。ACL适用于所有的被路由协议,如IP、IPX、AppleTalk等。
信息点间通信和内外网络的通信都是企业网络中必不可少的业务需求,为了保证内网的安全性,需要通过安全策略来保障非授权用户只能访问特定的网络资源,从而达到对访问进行控制的目的。简而言之,ACL可以过滤网络中的流量,是控制访问的一种网络技术手段。
配置ACL后,可以限制网络流量,允许特定设备访问,指定转发特定端口数据包等。如可以配置ACL,禁止局域网内的设备访问外部公共网络,或者只能使用FTP服务。ACL既可以在路由器上配置,也可以在具有ACL功能的业务软件上进行配置。
ACL是物联网中保障系统安全性的重要技术,在设备硬件层安全基础上,通过对在软件层面对设备间通信进行访问控制,使用可编程方法指定访问规则,防止非法设备破坏系统安全,非法获取系统数据。
(2)ACL分类
分类 |
编号范围 |
参数 |
基本ACL |
2000~2999 |
源IP地址等 |
高级ACL |
3000~3999 |
源IP地址、目的IP地址、源端口、 目的端口等 |
二层ACL |
4000~4999 |
源MAC地址、目的MAC地址、以太帧协议类型等 |
(3)执行过程
一个端口执行哪条ACL,这需要按照列表中的条件语句执行顺序来判断。如果一个数据包的报头跟表中某个条件判断语句相匹配,那么后面的语句就将被忽略,不再进行检查。
数据包只有在跟第一个判断条件不匹配时,它才被交给ACL中的下一个条件判断语句进行比较。如果匹配(假设为允许发送),则不管是第一条还是最后一条语句,数据都会立即发送到目的接口。如果所有的ACL判断语句都检测完毕,仍没有匹配的语句出口,则该数据包将视为被拒绝而被丢弃。这里要注意,ACL不能对本路由器产生的数据包进行控制。
如果设备使用了TCAM,比如aute U3052交换机,那么所有的ACL是并行执行的。举例来说,如果一个端口设定了多条ACL规则,并不是逐条匹配,而是一次执行所有ACL语句。
(4)ACL常用命令:
1. acl [ number ]令用来创建一 个ACL ,并进入ACL视图。
2. rule [rule- id]{ deny | permit} source { source -adress source -wildcard|any}命令用来增加或修改ACL的规则。deny用来指定拒绝符合条件 的数据包, permit用来指定允许符合条件的数据包, source用来指定ACL规则匹配报文的源地址信息, any表示任意源地址。
3. trffic-filter { inbound| outbound }acl{ acl number)命令用来在接口上配置基于ACL对报文进行过滤。
4. display acl <ac/-number>命令可以验证配置的基本ACL。
5. display traffic-filter applied-record命令可以查看设备上所有基于ACL进行报文过滤的应用信息,这些信息可以帮助用户了解报文过滤的配置情况 并核对其是否正确,同时也有助于进行相关的故障诊断与排查。