公司通过cisco871代理上网,内部通过一个无线AP为移动客户端提供无线。这几天总是出现无线可以连接但是不能获取iP,开始出现的时候重启一下路由正常,过几天再出现扩大DHCP地址池范围正常。今天又出现,再次查看地址池和客户端列表发现有几个ip没有被分配,然后通过 show ip dhcp ? 发现有一个conflict选择试了一下,发现有几个ip在里面从网上找到文章如下

发现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.
 

当局域网内有一部分电脑已经手动配置过IP后

,如果手动配置的电脑没有开机,其他电脑通过DHCP获取了相同的IP地址后,手动配置的电脑开机
,那就会造成IP冲突。

ip dhcp pool client1 //总是为MAC地址为...的机器分配...地址

host 10.1.1.21 255.255.255.0
client-identifier 010050.bade.6384 //client-identifier=01加上客户机网卡地址
!
ip dhcp pool client2
host 10.1.1.50 255.255.255.0
client-identifier 010010.3ab1.eac8

记MAC属于局域网的

备注,添加的client1只能标识一个IP对应MAC的映射,如要标识多个IP映射MAC,需要增加多个DHCP
服务标识名,如(client1,client2,client3.......)

 

以下是871的配置:

ip dhcp excluded-address 192.168.2.1 192.168.2.20

ip dhcp excluded-address 192.168.2.31 192.168.2.254
!
ip dhcp pool ccp-pool1
   import all
   network 192.168.2.0 255.255.255.0
   default-router 192.168.2.1
   domain-name *********
   dns-server 192.168.2.2

ip dhcp pool client1

   host 192.168.2.21 255.255.255.0
   client-identifier 015c.63bf.0c52.8c
!
ip dhcp pool client2
   host 192.168.2.22 255.255.255.0
   client-identifier 01e4.d53d.726f.87
!
ip dhcp pool client3
   host 192.168.2.23 255.255.255.0
   client-identifier 0100.234e.1ab4.7e