想了想,还是将两者一起写,便于进行对比。
访问控制列表(ACL)
企业网络中的设备进行通信时,需要保障数据传输的安全可靠和网络的性能稳定。
访问控制列表ACL(Access Control List)可以定义一系列不同的规则,设备根据这些规则对数据包进行分类,并针对不同类型的报文进行不同的处理,从而可以实现对网络访问行为的控制、限制网络流量、提高网络性能、防止网络攻击等等。
简单而言,就是控制哪些流量可以通过,哪些流量不能通过。
ACL分类
上图所示为ACL的分类和每个类别可以定义的参数。
ACL规则
每个ACL可以包含多个规则,RTA根据规则来对数据流量进行过滤。rule id用来定义规则的优先级,出了规则之间的重复或矛盾。
如果所有的ACL判断语句都检测完毕,仍没有匹配的语句与出口,则该数据包将视为拒绝而被丢弃。默认拒绝所有。
下面通过实验进行讲解:
实验拓扑如图所示。其中client的ip地址为192.168.x.1
server 的ip地址为192.168.x…1
x为图中各个代数。client 1 即为1。
路由已打通,如上图所示登录是没有问题的。
下面先开始配置基础的ACL。允许client 1 访问server3,但是不能访问server 4。
允许client 2 访问server 4,但是不能访问server 3。
基本ACL
配置如下:
[SW3]acl 2000 // 定义acl 2000
[SW3-acl-basic-2000]rule 5 permit source 192.168.1.0 0.0.0.3
[SW3-acl-basic-2000]rule 10 deny source 192.168.2.0 0.0.0.3
[SW3-GigabitEthernet0/0/2]traffic-filter outbound acl 2000 //在出接口处调用acl2000
[SW3-GigabitEthernet0/0/2]q
[SW3]acl 2001
[SW3-acl-basic-2001]rule 5 permit source 192.168.2.0 0.0.0.3
[SW3-acl-basic-2001]rule 10 deny source 192.168.1.0 0.0.0.3
[SW3-GigabitEthernet0/0/3]traffic-filter outbound acl 2001
现在开始查看:
访问server 3是正常的,
访问server 4是失败的。因为我们在出接口匹配了acl访问控制列表,拒绝了它的访问。
各配置如下:
SW2:
#
interface Vlanif1
ip address 192.168.1.2 255.255.255.252
#
interface Vlanif2
ip address 192.168.2.2 255.255.255.252
#
interface Vlanif3
ip address 24.1.1.3 255.255.255.0
#
interface GigabitEthernet0/0/1
port link-type access
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 2
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 3
#
ospf 1
import-route direct
area 0.0.0.0
network 24.1.1.0 0.0.0.255
return
SW3
acl number 2000
rule 5 permit source 192.168.1.0 0.0.0.3
rule 10 deny source 192.168.2.0 0.0.0.3
#
acl number 2001
rule 5 permit source 192.168.2.0 0.0.0.3
rule 10 deny source 192.168.1.0 0.0.0.3
#
interface Vlanif3
ip address 192.168.3.2 255.255.255.252
#
interface Vlanif4
ip address 192.168.4.2 255.255.255.252
#
interface Vlanif5
ip address 43.1.1.3 255.255.255.0
#
interface MEth0/0/1
#
interface GigabitEthernet0/0/1
port link-type access
port default vlan 5
#
interface GigabitEthernet0/0/2
port link-type access
port default vlan 3
traffic-filter outbound acl 2000
#
interface GigabitEthernet0/0/3
port link-type access
port default vlan 4
traffic-filter outbound acl 2001
#
ospf 1
import-route direct
area 0.0.0.0
network 43.1.1.0 0.0.0.255
#
traffic-filter outbound acl 2000
AR 4
#
interface GigabitEthernet0/0/0
ip address 24.1.1.4 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 43.1.1.4 255.255.255.0
#
#
ospf 1
area 0.0.0.0
network 24.1.1.0 0.0.0.255
network 43.1.1.0 0.0.0.255
#
高级ACL
由于模拟器突然出bug了,所以换了一个简单的图。直接演示高级ACL的效果吧。
服务器端开启了HTTP和FTP服务。此时client是可以登录两个服务的。
下面配置高级ACL,只允许FTP服务,拒绝HTTP服务。
#
acl number 3000
rule 5 deny tcp source 35.1.1.0 0.0.0.255 destination 57.1.1.7 0 destination-port eq www //拒绝HTTP服务,端口号80
rule 10 permit tcp
#
interface GigabitEthernet0/0/1
ip address 57.1.1.254 255.255.255.0
traffic-filter outbound acl 3000
结果查看
可以看到此时FTP是可以正常运行的,但是HHTP已经登录不上去了。
配置如下:
R5
#
acl number 3000
rule 5 deny tcp source 35.1.1.0 0.0.0.255 destination 57.1.1.7 0 destination-port eq www
rule 10 permit tcp
#
interface GigabitEthernet0/0/0
ip address 35.1.1.254 255.255.255.0
#
interface GigabitEthernet0/0/1
ip address 57.1.1.254 255.255.255.0
traffic-filter outbound acl 3000
#
return
需要注意的是此时路由器的接口IP配置应为网关地址,因为网关是负责转发数据包的,如果配置不是网关,此时数据包转发不出去的。