ACL——【知识详解+案列+(RACL+VACL+PACL)】详解

发布于:2023-01-22 ⋅ 阅读:(18) ⋅ 点赞:(0) ⋅ 评论:(0)

目录

一、ACL(知识讲解+简单案列应用):

(1)知识详解: 

(2)简单案列应用: 

(3)调整ACL 策略(实现ACL策略穿插)

(4)以字符串命名的ACL的编写与调用(常用):

(5)ACL方向:

二、 RACL ——route ACL:

(1)三层物理接口调用(要求:R1能ping通R3,但是不能telnat R3):

(2)进入vlan里面调用:

 三、VACL ——VLAN ACL:

四、放行ping包(针对ICMP协议去和返回的流量放行)

五、PACL——port  ACL:

六、常见以太网类型字段及值:


一、ACL(知识讲解+简单案列应用):

(1)知识详解: 

ACL(访问控制列表):实现一个流量的访问控制,匹配一个数据包(三层ACL)。

  • 标准ACL:1-99;根据数据包的SIP匹配数据包
  • 扩展ACL:100-199:根据数据包的源IP和目的IP、协议、TCP/UDP的源端口号,目的端口号匹配数据包
    思科中默认那些没有匹配的数据包都deny;华为相反(permit)。 

执行动作:permit(允许;匹配)     deny(拒绝;排除)【匹配的数据包执行动作】
从上往下来匹配策略

 注:

1、写的时候上下两个策略流出一定空间,方便根据客户的需求修改和调整策略:

2、 严格条件放在上面,宽松的条件放下面(顺序很关键——ACL调用时按照顺序查找)

3、ACL在三层物理接口调用时,同一个方向,只能调用一个ACL

———————————————————————————————————————————————————————— 

(2)简单案列应用: 

物理接口应用: 

vlan里面应用:

VTY线程里调用(控制用户远程登录)

 

———————————————————————————————————————————————————————— 

(3)调整ACL 策略(实现ACL策略穿插)

———————————————————————————————————————————————————————— 

 (4)以字符串命名的ACL的编写与调用(常用):

 注:扩展性更好,便于分辨和查找,项目实战较常用。

 ————————————————————————————————————————————————————————

 (5)ACL方向:

①物理接口调用:

②vlan里面调用 

  •  IN——里面出这个VLAN的流量
  •  out——外面进入这个VLAN的流量

————————————————————————————————————————————————————————————

二、 RACL ——route ACL:

主要应用在SW的vlan 里 或者在三层物理接口使用,目的仅仅控制3层流量

(1)三层物理接口调用(要求:R1能ping通R3,但是不能telnat R3):

配置命令:

R1(config)#access-list 100 deny tcp host  1.1.1.1  host 3.3.3.3 eq 23
R1(config)#access-list 100 per ip any any
R1(config)#int f0/0
R1(config-if)#ip access-group 100 out
R1(config-if)#exit

注:

  •  #  access-list 表号 permit/deny 协议 源IP 反掩码 目标IP 反掩码 [eq 端口号]
  • 协议:TCP/UDP/IP/ICMP (当写了端口号,只能写tcp或udp) ICMP协议就是ping命令所使用的协议,ICMP协议是网络探测协议,ping别人,就是生成ICMP探测包发给对方,然后对方给我回应一个ICMP探测包,代表ping通了!
  •   #   23端口是telnet的端口。Telnet协议是TCP/IP协议族中的一员,是Internet远程登录服务的标准协议和主要方式。它为用户提供了在本地计算机上完成远程主机工作的能力。在终端使用者的电脑上使用telnet程序,用它连接到服务器。终端使用者可以在telnet程序中输入命令,这些命令会在服务器上运行,就像直接在服务器的控制台上输入一样。可以在本地就能控制服务器。要开始一个telnet会话,必须输入用户名和密码来登录服务器。Telnet是常用的远程控制Web服务器的方法。

(2)进入vlan里面调用:

     IN:出这个VLAN的流量
    out:进入这个VLAN的流量

————————————————————————————————————————————————————————— 

 三、VACL ——VLAN ACL:

VACL ——VLAN ACL:VLAN接口使用,能对二层流量和三层流量进行控制,能对VLAN内部访问进行控制也能对VLAN间访问控制;VACL应用的时候没有方向性!!!!!!!!!!!!!!!!
VACL应用的时候没有方向性,所以出去和回来的流量都需要放行:
针对TCP或者UDP去和返回的流量放行:

定义一个三层ACL:

access-list 101 per tcp host 192.168.100.1 host 192.168.200.1 eq 23 //出去的telnet
access-list 101 per tcp host 192.168.200.1 eq 23 host 192.168.100.1 //对应返回的telnet

定义一个二层ACL:

mac access-list extended name-mac//给扩展的ACL起个名字
  permit any any 0x0806 0x0//任意源mac地址访问任意目的mac地址的arp执行的是放行
  permit host 0001.0001.0001 host 0002.0002.0002 0x806 0x0
  permit host 0001.0001.0001 host 0002.0002.0002//放行所有的二层流量(arp、bpdu、..........)
注:0x0为0x0806的反掩码

vlan access-map aaa 10 //给vlan acl 起个名aaa,相当于一个大家庭,10是id,相当于家庭的某一个成员,意味着这个aaa下面可以调用多个AcL,用后面的id区分即可)
 match ip address 101//调用三层ACL——101
  match mac address name-mac//调用name-mac二层acL
  action forward//放行
  exit
  • 匹配的三层ACL,仅仅丢弃的是三层流量,放行所有二层流量;
  • 如果匹配三层ACL和二层ACL,则对三层和二层流量同时控制
vlan access-map aaa 9999
  action drop //其他的丢弃
  exit
  • 如果上边仅仅调用了三层ACL,此时丢弃的仅仅是剩余的三层流量,二层流量放行;如果上边调用了一个三层ACL和二层ACL,此时丢弃的是所有剩余的三层和二层流量
vlan filter aaa vlan-list 100 //在vlan 100里面应用vlan access-map

注:如果定义了三层ACL和二层ACL,一定要注意二层的操作,因为没有二层,三层也不管用。

配置步骤:

******** 配置VLAN ********
 
 
******** 配置ACL ********
Switch(config)# access-list 101 permit ip 192.168.10.0 0.0.0.255 192.168.30.0 0.0.0.255
Switch(config)# access-list 101 permit ip 192.168.30.0 0.0.0.255 192.168.10.0 0.0.0.255
(不同之处:因为VACL对数据流没有inbound和outbound之分,所以要把允许通过某vlan的IP数据流都permit才行。VLAN10允许与VLAN30通讯,而数据流又是双向的,所以要在ACL中增加VLAN30的网段)
Switch(config)# access-list 102 permit ip 192.168.20.0 0.0.0.255 192.168.30.0 0.0.0.255
Switch(config)# access-list 102 permit ip 192.168.30.0 0.0.0.255 192.168.20.0 0.0.0.255
 
******** 配置VACL ********
 
第一步:配置vlan access map
Switch(config)# vlan access-map test1 //定义一个vlan access map,取名为test1
Switch(config-vlan-access)# match ip address 101 // 设置匹配规则为acl 101
Switch(config-vlan-access)# action forward // 匹配后,设置数据流转发(forward)
Switch(config)# vlan access-map test2 //定义一个vlan access map,取名为test2
Switch(config-vlan-access)# match ip address 102 // 设置匹配规则为acl 102
Switch(config-vlan-access)# action forward // 匹配后,设置数据流转发(forward)
 
第二步:应用VACL
Switch(config)# vlan filter test1 vlan-list 10 //将上面配置的test1应用到vlan10中
Switch(config)# vlan filter test2 vlan-list 20 //将上面配置的test1应用到vlan20中
 
******** 完毕 ********

————————————————————————————————————————————————————————

四、放行ping包(针对ICMP协议去和返回的流量放行)

access-list 100 permit icmp host 192.168.100.1 host 192.168.100.2 echo//出去
access-list 100 permit icmp host 192.168.100.2 host 192.168.100.1 echo-reply//fanhui
———————————————————————————————————————————————————————

五、PACL——port  ACL:

三层ACL应用在二层端口(access接口或trunk接口)上;能控制VLAN内部访问也能控制VLAN间访问,
仅能在IN方向应用

(50条消息) VACLs与PACLs详解_weixin_33682719的博客-CSDN博客

mac access-list extended sense
 permit host 0000.0000.0001 host 0000.0000.0002

access-list 100 permit ip 10.1.1.0 0.0.0.255 any eq www
access-list 100 deny ip any any

interface f1/12
 switchport trunk encapsulation dot1q
 switchport mode trunk
 ip access-group 100 in
 mac access-group sense in

六、常见以太网类型字段及值:

(34条消息) EtherType :以太网类型字段及值_eydwyz的专栏-CSDN博客_ethertype