在vlan上应用ACL
实验基于cisco设备
- vlan10网段:10.1.1.0/24
- vlan20网段:20.1.1.0/24
- vlan30网段:30.1.1.0/24
- 网关都是:x.x.x.1
标准ACL
ACL配置1
2
3
4标准ACL只能限制源
Switch(config)#ip access-list standard 10
Switch(config-std-nacl)#10 deny host 10.1.1.8 log
将ACL挂在vlan10的in方向
1 | Switch(config)#int vlan 10 |
由图可以看出,一旦将acl挂载到vlan10的in方向,数据会在被acl直接拒绝掉
效果:vlan 10 无法访问vlan20 vlan30 和any
总结:vlan10无法访问任何地址
将ACL挂在vlan10的out方向
1 | Switch(config)#int vlan 10 |
可以看到流量可以正常进入vlan10,但是在vlan10往外转发时,被acl拒绝
效果:vlan 10 无法访问vlan20 vlan30 和any
总结:vlan10无法访问任何地址
将ACL挂载到vlan20的in方向
1 | Switch(config)#int vlan 20 |
- 10.1.1.8 不能访问20.1.1.8
- 10.1.1.8 可以访问30.1.1.8
将ACL挂载到vlan20的out方向
1 | Switch(config)#int vlan 20 |
- 10.1.1.8 不能访问20.1.1.8
- 10.1.1.8 可以访问30.1.1.8
综上:得出结论,标准ACL应尽量应用在靠近目标端的in方向
扩展ACL
需求:
10.1.1.8 可以访问 20.1.1.8
10.1.1.8 不可以访问 30.1.1.8
10.1.1.8 可以访问其他网段
ACL配置1
2
3
4Switch(config)#ip access-list extended 2010
Switch(config-ext-nacl)#10 permit ip host 10.1.1.8 host 20.1.1.8 log
Switch(config-ext-nacl)#20 deny ip host 10.1.1.8 host 30.1.1.8 log
Switch(config-ext-nacl)#30 permit ip any any
将ACL挂载到vlan10的in方向
1 | interface Vlan10 |
可以看到数据在vlan10方向进入,然后跟进acl放行和拒绝规则进行数据处理
效果:vlan 10 可以访问vlan20不能访问vlan30;可以访问其他网段;可以实现需求
将ACL挂载到vlan10的out方向
1 | interface Vlan10 |
可以看到流量可以正常进入vlan10;但是在vlan10往外转发时,没有执行acl的动作规则
效果:vlan 10 可以访问vlan20不能访问vlan30;可以访问其他网段;不可以实现需求
将ACL挂载到vlan30的in方向
1 | interface Vlan30 |
同样没有匹配acl规则, 不可以实现需求
将ACL挂载到vlan30的out方向
效果:只有访问30.1.1.8的匹配了,其他的未匹配可以实现需求
1 | interface Vlan30 |
综上:得出结论,扩展ACL应用在源端vlan的in方向,应用在目的端vlan的out方向