今天在将Cisco交换机DHCP服务改为Windows2012服务器DHCP服务的过程中,发现一个奇怪的现象。环境:Cisco2960S交换机上划分有多个VLAN
interface Vlan3
ipaddress 10.86.24.1 255.255.255.0
iphelper-address 10.86.16.21
interface Vlan5
ipaddress 10.86.19.1 255.255.255.0
iphelper-address 10.86.16.21
Windows 2012服务器(10.86.16.21) DHCP有以下设置:
经过以上设置DHCP客户端应该都能在两个VLAN正常获得IP地址。一开始在VLAN 5接入一台Windows客户端,该机成功获取10.86.19.22这个IP地址,看起来一切都很正常。然而当我将这台客户端接到VLAN 3的时候,奇怪的事情发生了。本来应该正常获取一个10.86.24.x的IP地址,但实际上客户端获得的IP地址仍然是10.86.19.22。我以为眼花,重复操作后仍然是同样的问题。用Wireshark抓包后确认问题确实存在。
为什么在新的VLAN中,DHCP服务器会始终分配给客户端原来的IP地址呢?而原来用Cisco交换机的DHCP服务就没有一点问题。反复检查交换机的配置没有问题,再检查Windows DHCP服务器的设置似乎也没有什么问题,百度相似的案例,似乎都跟我的配置差不多,百思不得其解。终于用Google在https://https://www.zhikugroup.com/?id=294一位仁兄的回复中找到了答案,原来Windows2012 DHCP的超级作用域中,服务器始终只会分配给客户端第一次配分的有效IP,如果要在不同的VLAN分配不同的IP,则需要将相关作用域移出超级作用域。
至此,答案已经揭晓。本是为了方便管理,结果却弄了个令人头疼的问题出来。百度没有发现有同样的案例,故放在这里与同行分享。
评论专区