技术背景: 需要一个工具实现流量过滤
ACL是由一系列permit和deny语句组成的有序规则的列表.
ACL是一个匹配工具, 能对报文进行匹配和区分.
ACL的应用:
访问控制列表 ACL(Access ControlList)是由一条或多条规则组成的集合。所谓规则,是指描述报文匹配条件的判断语句,这些条件可以是报文的源地址、目的地址、端口号等。ACL 本质上是一种报文过滤器,规则是过滤器的滤芯。设备基于这些规则进行报文匹配,可以过滤出特定的报文,并根据应用 ACL的业务模块的处理策略来允许或阻止该报文通过。
注: 如果创建完一个ACL后未自定义任何规则, 那么系统会自动添加一条规则来拒绝所有流量.
ACL有若干条permit和deny语句组成, 每条语句就是ACL的一条规则.
主要针对IP报文的源IP地址进行匹配,基本ACL的编号范围是2000-2999。比如这个例子,创建的是acl 2000,就意味着创建的是基本ACL.
可以根据IP报文中的源IP地址、目的IP地址、协议类型,TCP或UDP的源目端口号等元素进行匹配,可以理解为:基本ACL是高级ACL的一个子集,高级ACL可以比基本ACL定义出更精确、更复杂、更灵活的规则。
PC1/2的IP地址配置为192.168.1.2/24、192.168.2.2/24,网关分别配置为192.168.1.1、192.168.2.1。
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 192.168.1.1 24
[R1-GigabitEthernet0/0/0]int g0/0/1
[R1-GigabitEthernet0/0/1]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/1]q
[R1]ip route-static 192.168.2.0 24 12.1.1.2
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 192.168.2.1 24
[R2-GigabitEthernet0/0/1]q
[R2]ip route-static 192.168.1.0 24 12.1.1.1
此时,PC1 PING PC2,可以PING通:
[R1]acl 2000 --使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。
[R1-acl-basic-2000]rule deny source 192.168.1.0 0.0.0.255 --创建规则,拒绝192.168.1.0这个IP网段访问;0是反掩码,精确匹配,255是任意匹配;会自动生成序号5;
[R1-acl-basic-2000]rule deny source 192.168.3.0 0.0.0.255
[R1-acl-basic-2000]rule permit source 192.168.4.0 0.0.0.255
R1:
[R1]acl 2000 --使用编号(2000~2999)创建一个数字型的基本ACL,并进入基本ACL视图。
[R1-acl-basic-2000]rule deny source 192.168.1.0 0.0.0.255 --创建规则,拒绝192.168.1.0这个IP网段访问;0是反掩码,精确匹配,255是任意匹配;会自动生成序号5;
[R1-acl-basic-2000]rule deny source 192.168.3.0 0.0.0.255
[R1-acl-basic-2000]rule permit source 192.168.4.0 0.0.0.255
[R1-acl-basic-2000]q
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]traffic-filter inbound acl 2000
[R1-GigabitEthernet0/0/0]q
查看ACL配置信息
查看基于acl的报文过滤的应用信息
此时,PC1 PING PC2,不可以PING通:
R1:
[R1]int g0/0/0
[R1-GigabitEthernet0/0/0]ip address 12.1.1.1 24
[R1-GigabitEthernet0/0/0]q
[R1]ip route-static 23.1.1.0 24 12.1.1.2
R2:
[R2]int g0/0/0
[R2-GigabitEthernet0/0/0]ip address 12.1.1.2 24
[R2-GigabitEthernet0/0/0]int g0/0/1
[R2-GigabitEthernet0/0/1]ip address 23.1.1.2 24
[R2-GigabitEthernet0/0/1]q
R3:
[R3]int g0/0/0
[R3-GigabitEthernet0/0/0]ip address 23.1.1.3 24
[R3-GigabitEthernet0/0/0]q
[R3]ip route-static 12.1.1.0 24 23.1.1.2
此时,AR1 PING AR3,可以PING通:
作用:在AR3上配置Telnet,以便于演示如何使用高级ACL来禁止AR1 telnet AR3
[R3]user-interface vty 0 4
[R3-ui-vty0-4]authentication-mode password
Please configure the login password (maximum length 16):5
[R3-ui-vty0-4]set authentication password cipher huawei
[R3-ui-vty0-4]user privilege level 3
[R3-ui-vty0-4]q
此时,AR1 telnet AR3,成功:
R2:
[R2]acl 3000
[R2-acl-adv-3000]rule deny tcp source 12.1.1.0 0.0.0.255 destination 23.1.1.3 0.0.0.0 destination-port eq 23 --限制源地址范围是12.1.1.0/24、目的IP地址为23.1.1.3、目的端口号为23的所有TCP报文。
[R2-acl-adv-3000]rule permit ip --匹配所有IP报文,并对报文执行允许动作。
[R2-acl-adv-3000]int g0/0/0
[R2-GigabitEthernet0/0/0]traffic-filter inbound acl 3000
[R2-GigabitEthernet0/0/0]q
此时,AR1 telnet AR3,失败:
此时,AR1 PING AR3,成功: