1、什么是ACL?

(Access Control List)访问控制列表,作用:在众多数据包里面抓取某一个数据流

2、ACL的作用

本身没有过滤的作用 ,依靠我们我们数据包里面的五元组(SIP DIP Sport Dport 协议)进行抓取数据流量 RTA允许192.168.1.0/24中的主机可以访问Internet;而192.168.2.0/24中的主机则被禁止访问Internet。对于服务器A而言,情况则相反。网关允许192.168.2.0/24中的主机访问服务器A,但却禁止192.168.1.0/24中的主机访问服务器A

3、ACL的分类

基本ACL(basic) 取值范围:2000~2999 匹配的条件不是特别多 一般是SIP和DIP

高级ACL(Advanced) 取值范围:3000~3999 匹配的条件特别多 一般来说 SIP DIP Sport Dport 协议

小结

基本ACL 优点:语法简单 缺点:匹配的条件太泛了,无法做到更加精细的匹配流量 高级ACL 优点:可以做到更加精细的匹配流量 缺点:语法复杂

3.1、基本ACL的用法

acl 2000
rule    5     permit/deny source 192.168.1.0 0.0.0.255
规则  序列号   动作        条件(匹配是是1.0网段 其中0.0.0.255是反掩码)

注意点:基本acl这一块的匹配不是特别精确 序列号可以写可以不写 默认情况 step(步长)为5 不建议把很多规则写成连续的 序列号只能是正整数 匹配的顺序就是这个序列号的从小到大进行匹配

rule 5
rule 10
rule 15
rule 20

匹配的结论:如果rule 5规则匹配正确 下面的所有规则就不用看了 如果rule 5 和rule 10和rule 15都没有匹配上 敲好rule 20匹配完成 后面的规则就不用看了 如果说 所有规则都没有匹配上 默认acl情况是允许所有通过

3.2、高级ACL的用法

[RTA]acl 3000			
[RTA-acl-adv-3000]rule deny tcp source 192.168.1.0 0.0.0.255 destination 172.16.10.1 0.0.0.0 destination-port eq 21

SIP是192.168.1.0/24 DIP是172.16.10.1/32 Sport是任意的 Dport是21号端口 协议是TCP协议 就是拒绝源IP是192.168.1.0去访问目标IP是172.16.10.1的FTP的连接 匹配的时候 五个条件缺一不可

[RTA-acl-adv-3000]rule deny tcp source 192.168.2.0 0.0.0.255 destination 172.16.10.2 
0.0.0.0 

SIP是:192.168.2.0/24 DIP是:172.16.10.2 Sport:任意端口 Dport:任意端口 协议:TCP 就是拒绝源IP是192.168.2.0去访问目标172.16.10.2的所有TCP协议 匹配的时候 五个条件缺一不可

3.3、实际操作

基本ACL的配置思路

完成acl实验的第一步

1、你得完成R1 R2 R3之间能够实现我们loopback之间得互通

方法就是使用静态路由实现 在R3上面能够ping -a 3.3.3.3 2.2.2.2 能够ping通得

2、在我们R1上面我们可以做一些条件
[R1]acl 2000	创建基本acl 2000
rule 5 deny source 3.3.3.3 0         拒绝SIP是3.3.3.3得路由条目 相当于匹配某个条件
3、我们可以在R1路由器得G0/0/0接口得inbount方向上或者R1得G0/0/1接口得outbount方向上进行应用
interface GigabitEthernet0/0/0
traffic-filter inbound acl 2000         执行应用
		或者
interface GigabitEthernet0/0/1
traffic-filter outbound acl 2000       执行应用
4、得出得现象就是在我们R3路由器上面
<R3>ping -a 3.3.3.3 2.2.2.2
PING 2.2.2.2: 56  data bytes, press CTRL_C to break
   		 Request time out
   		 Request time out
   		 Request time out
   		 Request time out
    	 Request time out
5、看下是否是acl生效了

在我们R1上面通过命令查看 display acl all

		<R1>dis acl all 
 		Total quantity of nonempty ACL number is 1 

		Basic ACL 2000, 1 rule
		Acl's step is 5
 		rule 5 deny source 3.3.3.3 0 (15 matches)       这个就是表示acl已经配置生效了

高级acl的配置配置思路

[R1]undo acl 2000
[R1-GigabitEthernet0/0/0]undo traffic-filter inbound 

[R2]user-interface vty 0 4
[R2-ui-vty0-4]authentication-mode password 
Please configure the login password (maximum length 16):huawei
[R2-ui-vty0-4]

R3这边就可以远程过去了

<R3>telnet 2.2.2.2
  Press CTRL_] to quit telnet mode
  Trying 2.2.2.2 ...
  Connected to 2.2.2.2 ...

Login authentication

Password:
我在R1上面定义acl 3000的规则
acl number 3000  
 rule 5 deny tcp source 192.168.13.0 0.0.0.255 destination-port eq telnet   

含义就是拒绝源IP地址是192.168.13.0网段的telnet流量 也就是R3这边telnet 2.2.2.2的时候访问不了

interface GigabitEthernet0/0/0
 ip address 192.168.13.1 255.255.255.0 
 traffic-filter inbound acl 3000                           进行应用就可以了
检查是否生效
[R1]dis acl all 
 Total quantity of nonempty ACL number is 1 

Advanced ACL 3000, 1 rule
Acl's step is 5
 rule 5 deny tcp source 192.168.13.0 0.0.0.255 destination-port eq telnet (3 mat
ches)     这边已经是生效了
telnet协议使用得就是tcp得23号端口

3.4、基于时间的ACL

例子1:创建一个工作时间段(周一到周五)每天早上9:00~下午18:00

[Huawei]time-range wordtime 9:00 to 18:00 working-day daily

如图所示,有三个电脑需要访问远端的路由器AR1,通过基本ACL来进行限制源端PC的访问,允许PC1能够访问到路由器,拒绝PC2在工作时间段访问路由器,其他用户不允许访问 AR1的配置文件

#
 sysname R1
#
 time-range PC2 09:00 to 18:00 daily   
#
acl number 2000  
 rule 5 permit source 172.16.1.1 0 
 rule 10 deny source 172.16.1.2 0 time-range PC2
 rule 15 deny 
#
interface GigabitEthernet0/0/0
 ip address 172.16.1.254 255.255.255.0 
 traffic-filter inbound acl 2000
#

测试

查看ACL的状态信息

<R1>display acl all 
 Total quantity of nonempty ACL number is 1 

Basic ACL 2000, 3 rules
Acl's step is 5
 rule 5 permit source 172.16.1.1 0 (5 matches)
 rule 10 deny source 172.16.1.2 0 time-range PC2(Active) (5 matches)
 rule 15 deny (304 matches)

前缀列表

(ip-prefix)特点就是更精确得匹配到路由 两条命令的区别

[SW1]ip ip-prefix key permit 192.168.1.0 24

这个24代表ip地址的前面24位是固定的,后面由于没有加掩码的参数,那么这个24也代表着该前缀的掩码长度同样也为24位,也就是只能匹配到一条路由,为192.16.1.0/24

ip ip-prefix key permit 192.168.1.0 24 greater-equal 25 less-equal 32

这个24代表ip地址的前面24位是固定的,后面掩码的范围是25到32之间,可以匹配

192.168.1.0/25
192.168.1.0/26
192.168.1.0/27
192.168.1.0/28
192.168.1.0/29
192.168.1.0/30
192.168.1.0/31
192.168.1.0/32但是不能匹配到192.168.1.0/24 因为掩码的位数是25到32之间