实验基于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
2
3
4
Switch(config)#int vlan 10
Switch(config-if)#ip access
Switch(config-if)#ip access-group 10 in

由图可以看出,一旦将acl挂载到vlan10的in方向,数据会在被acl直接拒绝掉

效果:vlan 10 无法访问vlan20 vlan30 和any
总结:vlan10无法访问任何地址


将ACL挂在vlan10的out方向

1
2
3
Switch(config)#int vlan 10
Switch(config-if)#ip access
Switch(config-if)#ip access-group 10 out

可以看到流量可以正常进入vlan10,但是在vlan10往外转发时,被acl拒绝

效果:vlan 10 无法访问vlan20 vlan30 和any
总结:vlan10无法访问任何地址


将ACL挂载到vlan20的in方向

1
2
3
Switch(config)#int vlan 20
Switch(config-if)#ip access
Switch(config-if)#ip access-group 20 in

  • 10.1.1.8 不能访问20.1.1.8
  • 10.1.1.8 可以访问30.1.1.8

将ACL挂载到vlan20的out方向

1
2
3
Switch(config)#int vlan 20
Switch(config-if)#ip access
Switch(config-if)#ip access-group 20 out

  • 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
4
Switch(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
2
3
4
interface Vlan10
ip address 10.1.1.1 255.255.255.0
ip access-group 2010 in

可以看到数据在vlan10方向进入,然后跟进acl放行和拒绝规则进行数据处理

效果:vlan 10 可以访问vlan20不能访问vlan30;可以访问其他网段;可以实现需求


将ACL挂载到vlan10的out方向

1
2
3
4
interface Vlan10
ip address 10.1.1.1 255.255.255.0
ip access-group 2010 out

可以看到流量可以正常进入vlan10;但是在vlan10往外转发时,没有执行acl的动作规则

效果:vlan 10 可以访问vlan20不能访问vlan30;可以访问其他网段;不可以实现需求


将ACL挂载到vlan30的in方向

1
2
3
4
interface Vlan30
ip address 30.1.1.1 255.255.255.0
ip access-group 2010 in

同样没有匹配acl规则, 不可以实现需求


将ACL挂载到vlan30的out方向

效果:只有访问30.1.1.8的匹配了,其他的未匹配可以实现需求

1
2
3
interface Vlan30
ip address 30.1.1.1 255.255.255.0
ip access-group 2010 out

综上:得出结论,扩展ACL应用在源端vlan的in方向,应用在目的端vlan的out方向