最近发现,明明在线IP数量不是那么多,但是无客户机无法通过DHCP自动获取IP了.
检查ip dhcp bind ,地址未用尽.检查ip dhcp conflict,有很多地址被占用.
clear ip dhcp bind以后,暂时解决了问题.
第2天问题重新出现.clear ip dhcp conflict后问题解决.
查资料发现dhcp conflict检测到的IP默认会记录下来,而且这个conflict的log是不会释放的,也就是说
只要DHCP server检测到某个地址被占用后,会记录到LOG,从此以后dhcp server就不会再用这个地址分配出去了.
除非重起设备.或者手工clear dhcp conflict.天长日久,可用地址池会越来越小直到资源耗尽.
查了一下cisco资料,没有自动定期清除conflict log的方法.
但是发现,可以no ip dhcp conflict log,也就是说发现地址被占用后不记录到log,
这样就解决了地址资源不断耗尽的问题.不记录到log不意味着停用了conflict检测机制.因此应该没有影响.
cisco网站对于no ip dhcp conflict log 的描述如下:
If you choose not to configure a DHCP database agent, disable the recording of DHCP address conflicts on the DHCP Server. To disable DHCP address conflict logging, use the following command in global configuration mode
Router(config)# no ip dhcp conflict logging
Disables DHCP address conflict logging.
------没想到这么一个小问题,还会引起这种结果.我还是觉得cisco不应该用这种方法,LOG应该还是要的,但是应该设一个自动刷新期,就好比dhcp lease也有个期限可以设置一样,这样解决更好一点.我个人觉得.如果我的说法不够正确和完善.那么看到这个的请留言纠正给我.谢谢
社区汇聚层使用思科3550交换机作为DHCP服务器,用户端直接连接二层交换机,二层交换机再直连思科3550。但是有人跟我反映无法自动获得IP地址,show ip dhcp binding查看只是绑定了多一半IP地址,还有几个IP没有分配,但是客户端就是无法获得。
根据对方描述,以前可以自动获得IP地址,但是某次IP地址跟某人发生冲突后就无法再获得。查看冲突记录,show ip dhcp conflict发现以前他获得的IP地址果然在里面,使用命令clear ip dhcp conflict *或clear ip dhcp conflict A.B.C.D清楚所有或单条冲突记录。
联系对方重新获得IP地址就没问题了。