目录
一、VACL ——VLAN ACL:
(1)特点:
(2)配置 步骤+案列 :
(3)放行ping包(针对ICMP协议去和返回的流量放行)
二、扩展(常见以太网类型字段及值):
三、PACL——port ACL:
一、VACL ——VLAN ACL:
(1)特点:
- 只在VLAN接口使用;
- 能对二层流量(数据链路层,可以匹配数据帧的smac地址和dmac地址)和三层流量进行控制,能对VLAN内部访问进行控制也能对VLAN间访问控制;
- VACL应用的时候没有方向性,所以出去和回来的流量都需要放行:如针对TCP或者UDP去和返回的流量放行;
—————————————————————————————————————————————————————————
(2)配置 步骤+案列 :
定义一个三层ACL:
第一步:写ACL
①写三层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执行的是放行( 0x806 二层帧的类型位,说明后面是ARP头部。0x0800后面是ip头部。0x0为反掩码)
permit host 0001.0001.0001 host 0002.0002.0002 0x806 0x0
permit host 0001.0001.0001 host 0002.0002.0002//放行所有的二层流量(arp、bpdu、vtp、ppoe、dtp..........)
注:0x0为0x0806的反掩码
第二步 :配置VACL,调用ACL
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,则对三层和二层流量同时控制
第三步:写一个空的access-map匹配所有剩余流量
vlan access-map aaa 9999
action drop //执行其他的丢弃
exit
- 如果上边仅仅调用了三层ACL,此时丢弃的仅仅是剩余的三层流量,二层流量放行;如果上边调用了一个三层ACL和二层ACL,此时丢弃的是所有剩余的三层和二层流量
第四步:调用access-map,实现二次嵌套
vlan filter aaa vlan-list 100 //在vlan 100里面应用vlan access-map
注:如果定义了三层ACL和二层ACL,一定要注意二层的操作,因为没有二层,三层也不管用。
(放行二层流量,arp是三层基础,一般要放行)
配置步骤:
******** 配置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中
******** 完毕 ********
————————————————————————————————————————————————————————
(3)放行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//回来
——————————————————————————————————————————————————————————
二、扩展(常见以太网类型字段及值):
——————————————————————————————————————————————————————————
三、PACL——port ACL:
三层ACL应用在二层端口(access接口或trunk接口)上;能控制VLAN内部访问也能控制VLAN间访问(相同vlan和不同vlan都能),
仅能在IN方向应用
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