一、什么是扩展ACL协议?有什么作用及配置方法?
(1)扩展ACL(Extended Access Control List)协议是一种网络安全协议,用于在路由器或防火墙上实现对数据包的细粒度访问控制。与标准ACL相比,扩展ACL提供更多的匹配条件和更精细的控制选项,可以根据源IP地址、目标IP地址、协议类型、端口号等多个因素来过滤数据包。(2)扩展ACL的主要作用包括:
- 提高网络安全性:可以根据具体的网络需求设置更加细致的访问控制策略,有效防止未经授权的数据包访问网络资源。
- 网络流量控制:可以根据流量特征对数据包进行过滤和控制,优化网络性能,提高网络的可用性和稳定性。
(3)配置扩展ACL的方法通常包括以下步骤:
- 进入路由器或防火墙的配置模式。
- 创建扩展ACL条目,并指定要匹配的条件,如源IP地址、目标IP地址、协议类型、端口号等。
- 根据需要,为每个ACL条目指定允许或拒绝数据包的动作。
- 将ACL应用到特定的接口或流量路径上,以实现访问控制策略。
(4)以下是一个示例扩展ACL的配置命令(以Cisco路由器为例):
常见端口号对应的IP协议:
Router(config)# access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80(扩展ACL的number范围是100-199;标准ACLnumber范围是1-99;eq后面接的是协议号)
Router(config)# access-list 101 deny ip any any
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 101 in
解析:
在这个示例中,创建了一个扩展ACL条目,允许源IP地址为192.168.1.0/24的主机访问任意目标IP地址的TCP端口80,同时拒绝了其他所有IP地址的数据包访问。最后,将ACL应用到接口GigabitEthernet0/0的入方向上。
二、扩展ACL协议与标准ACL协议的区别是什么?
扩展ACL(Extended Access Control List)和标准ACL(Standard Access Control List)是两种不同类型的访问控制列表,它们在功能和应用范围上的区别如下:
(1)标准ACL:
- 标准ACL仅基于源IP地址来匹配数据包,并且只能对数据包进行简单的允许或拒绝操作。
- 标准ACL通常用于限制特定IP地址段的访问,适用于简单的访问控制需求。
(2)扩展ACL:
- 扩展ACL可以基于源IP地址、目标IP地址、协议类型、端口号等多种条件来匹配数据包,并且可以对数据包进行更加灵活的操作,如允许、拒绝、重定向等。
- 扩展ACL适用于更复杂的网络环境,可以实现更精细的访问控制策略。
(3)以下是一个示例,展示了标准ACL和扩展ACL的配置命令(以Cisco路由器为例):
01. 标准ACL示例:
Router(config)# access-list 10 permit 192.168.1.0 0.0.0.255
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 10 in
在这个标准ACL示例中,创建了一个标准ACL条目,允许源IP地址为192.168.1.0/24的主机访问接口GigabitEthernet0/0。
02. 扩展ACL示例:
Router(config)# access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80
Router(config)# access-list 101 deny ip any any
Router(config)# interface GigabitEthernet0/0
Router(config-if)# ip access-group 101 in
在这个扩展ACL示例中,创建了一个扩展ACL条目,允许源IP地址为192.168.1.0/24的主机访问任意目标IP地址的TCP端口80,同时拒绝了其他所有IP地址的数据包访问。最后,将ACL应用到接口GigabitEthernet0/0的入方向上。
三、下面我们通过一个简单的拓扑图来让大家更好的理解扩展ACL的配置
第一步:根据图中提供的网段地址,为每台PC机以及路由器填上对应的IP地址
根据每台PC机所处的位置配置地址,这里可以统一给他们的地址为.1 / .2(每个IP网段共有254个地址是可以分配给PC机的,分别是第1~254,IP地址中的第一个地址.0是网络地址(保留地址),IP网段的最后一个地址.255是广播地址(保留地址)
由图可知,上述4台PC机以及2台服务器分别处在三个不同的网段中,因此题目中拓扑的PC机及服务器的IP规划我将这样规划:
PC0:192.168.1.1(IP地址),255.255.255.0(子网掩码)
PC1:192.168.1.2(IP地址),255.255.255.0(子网掩码)
PC2:192.168.2.1(IP地址),255.255.255.0(子网掩码)
PC3:192.168.2.2(IP地址),255.255.255.0(子网掩码)
Server1:192.168.3.1(IP地址),255.255.255.0(子网掩码)
Server2:192.168.3.2(IP地址),255.255.255.0(子网掩码)
第二步:规划路由器对应接口的IP地址
通常情况下,连接交换机及PC机处的fa0/0接口要配的是254(表示允许这个网段的的所有PC机通过);但是这里题目要求路由器Router0要配置单臂路由,所以其fa0/0接口下我将不做任何配置,只需要打开fa0/0接口即可,ip地址的配置将在下面提到;Router1则照常完成其物理端口的配置(Router0的se0/0接口也正常配置)。
(1)路由器Router0上的配置
Router(config)#interface FastEthernet0/0
Router(config-if)#no shutdown(开启接口)
Router(config)#interface Serial0/0
Router(config-if)#ip address 10.1.1.1 255.255.255.0
Router(config-if)#no shutdown
(2)路由器Router1上的配置
Router>enable
Router#configure terminal
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#interface FastEthernet0/0
Router(config-if)#ip address 192.168.3.254 255.255.255.0
Router(config-if)#no shutdown
Router(config-if)#exit
Router(config)#interface Serial0/0
Router(config-if)#ip address 10.1.1.2 255.255.255.0
Router(config-if)#no shutdown
四、LAN1的PC划分到两个VLAN:VLAN 10、VLAN 20,配置单臂路由使得VLAN之间互通
(1)在交换机Switch0上创建两个VLAN ,按图示将PC划分到VLAN10、VLAN20中:
Switch>en
Switch#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Switch(config)#vlan 10(创建一个vlan编号为10的虚拟局域网)
Switch(config-vlan)#name vlan10(为VLAN10命名,可以用来标识VLAN的用途或名称;这一步也可以不配置)
Switch(config-vlan)#vlan 20
Switch(config-vlan)#name vlan20
Switch(config-vlan)#int fa0/1
Switch(config-if)#switchport mode access(设置接口fa0/1为访问模式,即用于连接终端设备)
Switch(config-if)#switchport access vlan 10(将接口fa0/1划分到VLAN10中,表示该接口连接的设备属于VLAN10)
Switch(config-if)#int fa0/2
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 10
Switch(config-if)#int fa0/3
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
Switch(config-if)#int fa0/4
Switch(config-if)#switchport mode access
Switch(config-if)#switchport access vlan 20
(2)将交换机Switch0与路由器Router0互联链路配置成TRUNK链路,并允许相应VLAN通过
Switch(config)#int fa0/24
Switch(config-if)#switchport mode trunk(将该接口配置为trunk模式,表示该接口将用于传输多个VLAN的数据)
Switch(config-if)#switchport trunk allowed vlan all(允许该trunk链路通过所有VLAN的数据传输,不对VLAN进行限制)
五、路由器上配置相应路由,使得全网互通
1. 在路由器Router0上的配置
(1)在Router0上配置单臂路由,使得全网PC互通
Router(config-if)#int fa0/0.1(进入FastEthernet 0/0接口的子接口1配置模式,这里的子接口号可以使其他的,只要配置的时候能区分好VLAN区域就行)
Router(config-subif)#encapsulation dot1Q 10(配置子接口1的VLAN封装类型为802.1Q,并指定VLAN ID为10)
Router(config-subif)#ip add 192.168.1.254 255.255.255.0(为子接口1配置IP地址为192.168.1.254,子网掩码为255.255.255.0)
Router(config-subif)#int fa0/0.2
Router(config-subif)#encapsulation dot1Q 20
Router(config-subif)#ip add 192.168.2.254 255.255.255.0
Router(config-subif)#exit
(2)在Router0上完成环回接口、ospf协议及静态路由的配置
Router(config)#int loopback 0
Router(config-if)#ip add 1.1.1.1 255.255.255.0
Router(config-if)#router ospf 1
Router(config-router)#network 192.168.1.0 255.255.255.0 area 0
Router(config-router)#network 192.168.2.0 255.255.255.0 area 0
Router(config-router)#exit
Router(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.2(静态路由,8个0 + 下一跳地址)
2. 在路由器Router1上的配置
(1)在Router1上完成环回接口、ospf协议及静态路由的配置
Router>enable
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#int loopback 0
Router(config-if)#ip add 2.2.2.2 255.255.255.0
Router(config-if)#router ospf 1
Router(config-router)#network 192.168.3.0 255.255.255.0 area 0
Router(config)#ip route 0.0.0.0 0.0.0.0 10.1.1.1(静态路由,8个0 + 下一跳地址)
3.全网互通,完成题目要求二
六、在Router0路由器上配置标准ACL,要求按下面要求配置即可:
(1)了解ACL的详细配置指南及原理
1. ACL配置流程:
2. 通配符掩码规则:
3. ACL出接口的配置选择:
(2)完成题目要求的扩展ACL配置
1. VLAN 10中的PC只能以web方式访问LAN2的服务器S0,只能以FTP的方式访问服务器S1,其他方式都不允许访问;
Router>en
Router#conf t
Enter configuration commands, one per line. End with CNTL/Z.
Router(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 192.168.3.1 eq 80
(允许源IP地址为192.168.1.0/24网段中的任意主机访问目标IP地址为192.168.3.1的主机的TCP端口80,也可以将80替换成web,其中eq是等于的意思)
Router(config)#access-list 101 permit tcp 192.168.1.0 0.0.0.255 host 192.168.3.2 eq 21
(允许源IP地址为192.168.1.0/24网段中的任意主机访问目标IP地址为192.168.3.2的主机的TCP端口21,也可以将21替换成ftp)
Router(config)#access-list 101 deny ip 192.168.1.0 0.0.0.255 any
(拒绝源IP地址为192.168.1.0/24网段中的任意主机访问任意目标IP地址的所有协议的数据包)
2. VLAN20中第一台PC只能访问服务器S0,其他PC除了不能PING,其它方式都可以访问LAN2的服务器
Router(config)#access-list 101 permit ip 192.168.2.1 0.0.0.0 host 192.168.3.1
(允许源IP地址为192.168.2.1的主机访问目标IP地址为192.168.3.1的主机的所有协议的数据包)
Router(config)#access-list 101 deny icmp 192.168.2.0 0.0.0.255 192.168.4.0 0.0.0.255 echo
(拒绝源IP地址为192.168.2.0/24网段中的任意主机向目标IP地址为192.168.4.0/24网段中的任意主机发送ICMP Echo请求(ping,因为ping属于icmp协议)
Router(config)#access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.3.0 0.0.0.255
(允许源IP地址为192.168.2.0/24网段中的任意主机访问目标IP地址为192.168.3.0/24网段中的任意主机的所有协议的数据包)
3. 启用ACL 101上的协议
Router(config)#int s0/0
Router(config-if)#ip access-group 101 out(这条命令将ACL 101应用于Serial 0/0接口的出方向;
out
关键字表示ACL应用于出方向,即从该接口发送出去的数据流会受到ACL的影响。)