当前位置: 代码迷 >> 综合 >> {ACL(访问控制列表)——RACL(路由ACL)、VACL(vlan ACL)、PACL(端口ACL)| 放行ping包}详解(附图,建议PC观看)
  详细解决方案

{ACL(访问控制列表)——RACL(路由ACL)、VACL(vlan ACL)、PACL(端口ACL)| 放行ping包}详解(附图,建议PC观看)

热度:2   发布时间:2023-12-05 19:37:10.0

目录

ACL简介:

一、 RACL ——route ACL:

案列:

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

(2)、进入vlan里面调用:

二、VACL ——VLAN ACL:

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

四、PACL——port  ACL:

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


ACL简介:

访问控制列表:实现一个流量的访问控制,匹配一个数据包。
标准:1-99;源IP地址条件-->匹配一个数据包
扩展100-199:数据包的源IP和目的IP,协议:TCP,UDP等等,源端口,目的端口
动作:permit(允许;匹配)     deny(拒绝;排除)
从上往下来匹配策略

思科中默认那些没有匹配的数据包都deny;华为相反(permit)。

一、 RACL ——route ACL:

主要应用在int vlan 100 或者在SW的三层物理接口使用,目的仅仅控制3层流量
    IN:出这个VLAN的流量
    out:进入这个VLAN的流量

案列:

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

配置命令:

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的流量

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

        2、 严格条件放在上面,宽松的条件放下面

 二、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,一定要注意二层的操作,因为没有二层,三层也不管用。

--------------------------------------------------------------------------------------------------------------------------------------------

三、放行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方向应用

--------------------------------------------------------------------------------------------------------------------------------------------

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

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

--------------------------------------------------------------------------------------------------------------------------------------------

以上仅个人观点,如有错误,还请指出!欢迎留言讨论!感谢!

  相关解决方案