华为S5720上实际配置过 不过iP是10.0.151.0 0.0.0.255不能访问其他vlan
通过traffic-filter调用
<Huawei>sys
[Huawei]acl 3000 //创建高级ACL(3000~3999)
[Huawei-acl-adv-3000]
[Huawei-acl-adv-3000]rule permit ip source192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255 //配置允许192.168.1.0段去访问192.168.2.0段
[Huawei-acl-adv-3000]rule deny ip source192.168.1.0 0.0.0.255 destination 192.168.4.0 0.0.0.255 //配置拒绝192.168.1.0段去访问192.168.=4.0段
[Huawei-acl-adv-3000]dis thi //查看当前配置是否配置成功
#
acl number 3000
rule5 permit ip source 192.168.1.0 0.0.0.255 destination 192.168.2.0 0.0.0.255
rule10 deny ip source 192.168.1.0 0.0.0.255 destination 192.168.4.0 0.0.0.255
#
return
[Huawei-acl-adv-3000]q //退出ACL视图
[Huawei]int g0/0/1 //进入对应的接口
[Huawei-GigabitEthernet0/0/1]traffic-filterinbound acl 3000 //接口下调用ACL 3000
[Huawei-GigabitEthernet0/0/1]q //退出接口视图
[Huawei]
上面的这个配置有点粗糙。没错,配置完1.0不能访问2.0,反过来2.0ping1.0也不通了。因为通信是相互的,icmp和tcp协议都存在一个对方要回信号(TCP三次握手)
下面是一个实现精确单向控制的ACL
交换机V100R005以后版本可以通过下面的方法配置针对ICMP和TCP报文的单向访问。
下面是交换机实现从A不能访问B,但能从B访问A需求的示例
假设192.168.10.0是A的地址段(属于VLAN10),192.168.20.0是B的地址段(属于VLAN20)
1、创建ACL,制定访问控制规则(默认是permit)
acl 3000
rule 5 deny icmp source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 icmp-type echo //配置ICMP单向访问规则 注解一下ehco的意思是第一个请求包,规则拒绝的是icmp中10请求20,
rule 10 deny tcp source 192.168.10.0 0.0.0.255 destination 192.168.20.0 0.0.0.255 tcp-flag syn //配置TCP单向访问规则 注解一下syn是三次握手的第一个动作,就被deny了
quit
2、配置流分类,匹配ACL
traffic classifier c1
if-match acl 3000
quit
3、配置流行为
traffic behavior b1
quit
4、配置流策略,关联流分类和流行为
traffic policy p1
classifier c1 behavior b1
quit
5、应用流策略
应用到接口上
interface gigabitethernet 1/0/1
traffic-policy p1 inbound
或者应用到vlan上
vlan 10
traffic-policy p1 inbound
或者在全局应用
traffic-policy p1 global inbound