因为公司的wifi段,未做隔离,无意间上了网,发现能访问内网网段,这里内网是10、20段,管理网段是100段,于是做了和内网的vlan隔离。
拓朴如下,所有vlan的网关都起在核心上,核心上起了DHCP,分配wifi段为80段。所有交换机通过trunk连接。要求把80段和内网的其它网段隔离开,不让它访问:
在锐捷核心上配置如下:
- !
- ip access-list extended wifi80
- 10 deny ip 172.16.80.0 0.0.0.255 172.16.10.0 0.0.0.255
- 20 deny ip 172.16.80.0 0.0.0.255 172.16.20.0 0.0.0.255
- 30 deny ip 172.16.80.0 0.0.0.255 100.1.1.0 0.0.0.255
- 40 permit ip 172.16.80.0 0.0.0.255 any
- !
- service dhcp
- ip dhcp excluded-address 172.16.80.240 172.16.80.254
- !
- ip dhcp pool VLAN80-wifi
- lease 3 0 0
- network 172.16.80.0 255.255.255.0
- dns-server 114.114.114.114 8.8.8.8
- default-router 172.16.80.1
- !
- interface VLAN 80
- ip access-group wifi80 in
- ip address 172.16.80.1 255.255.255.0
- !
启用后,发现交换机S1上面 下挂的AC1能上网,并且无法访问内网段,说明核心上 对80段的ACL策略成功应用,但是S3上接入的AC2,客户端无法从这个AP获取IP,于是关掉80段的ACL策略,客户端又可正常获取IP。
AC1能上,因为AC1的配置为代理模式,WAN口是80段的静态IP,然后自己给接入的客户端分配了LAN网段;AC2无法获取IP,是因为AC2是交换模式,客户端需要从核心上获取到IP地址,如果给AC2的客户端手工配置静态IP,是可以上网的。
检查下配置,猜想可能的原因是:S1是直接trunk到核心上的,走的二层。S3和S2通信,可能是通过各自的vlan100的管理地址通信的,走的三层默认路由,vlan80段的IP到了核心的网关上,但因为无法和管理段通信,所以无法回来了,就出现了无法获取IP地址的现象。
然后在S3上增加了一条默认路由,让它走vlan80段网关172.16.80.1,然后测试,发现仍然无法获取IP。接着把另外一条默认路由删掉,还是、照旧。。。用笔记本直接接到S2上,也未获取到IP,说明跟路由没关系,虫子也说同网段走二层,不同网段走三层,这里应该就是一路trunk过去,(基本功不扎实,猜想错误。)
第二天过去,想是策略问题导致的,于是把策略里的阻止规则全删了,只保留了允许策略,因为锐捷默认规则是不放通即是拒绝。然后,奇怪的事情发生了!全允许了,客户端还是无法获取IP!跟东天唠叨都放行了,它还拒绝了啥数据包呀?
突然想到:那就只有dhcp数据包了,dhcp是udp包,走二层,难道锐捷的扩展ACL连二层广播包都给拒了吗?于是显式地加上允许二层的67、68端口,然后发现:获取到IP了,一切正常!
- 6 permit udp any any ep bootps
- 7 permit udp any any ep bootpc
谢谢虫子和东天,盗图勿究哈!