DHCP 数据库异常解决方法

DHCP数据库异常解决方法数据库

一.问题简述:windows

1.問題主題:安全

windows2008StandardR2DHCPServer手動為客戶端綁定IP地址出錯,同時有的用戶電腦IP地址沒有任何缘由出錯。服务器

2問題描述网络

1)DHCPserverconsole介面,在Vlan115網段為MAC地址為b8ac6f626d61手動綁定ip出現問題圖片中的問題,app

可是將該mac地址綁定到其余vlanOK,類似現象出現了4次。dom

2)今天eric的電腦沒有任何缘由出現問題圖片(2)中的顯示錯誤。ide

spacer.gif

3問題圖片优化

1)以下圖,ui

2

二.问题分析:

dhcpdatabasecrash,也就是dhcpdatabase出现异常,正常状况下在命令提示符下导出的database文件dhcp.txtdump.txt文件包含的内容是同样的,可是因database导出的dhcp.txt只能在UI界面显示,而没法修复dhcp.txt(直接打开dhcp.txt文件会显示乱码)里的数据,而导出的dump.txt文件能够直接打开修改相关异常数据,故修改了dump.txt文件的内容后再导入到dhcp中,也就是修改了dhcpdatabase里的内容。

1.DHCPdatabase导出,可是导出的此文件没法打开,只能在UI界面能够打开,导出命令为:

在命令提示符下C:\Users\gzpadmin>netshdhcpserverexportd:\dhcp.txtall

2.导出DUMP文件,此文件包含了DHCPscope里全部详细的信息(比dhcpUI界面看到的详细),导出命令为:

在命令提示符下C:\Users\gzpadmin>netshDHCPserverdump>d:\dump.txt

spacer.gif

3.根据有问题的vlanip地址和mac地址查看dump.txt文件里的异常信息,将异常的信息删除后保存为dump2.txt

4.dump2.txt从新导入到dhcp中,导入命令为:

在命令提示符下C:\Users\gzpadmin>netshexecd:\dump2.txt

spacer.gif

5.导入dump2.txt文件后,刷新dhcp,不须要重启dhcpservice,就能够解决此问题了。

附:具体状况以下:

状况一:

mac地址为082e5f0a5214绑定vlan124网段的ip地址出现以下异常:

spacer.gif

缘由是这个mac地址在vlan124网段已经分配了124.18这个ip地址,在同一个vlan中不能够给一个mac地址分配2ip地址。

spacer.gif

状况二:

dhcpUI界面看到这种类型的异常,以下图:

spacer.gif

可能缘由有当dhcpclient分配了ip地址为114.15后,在网络中有其余的client手动设定114.15ip地址,就会出现这种状况。

MS回复:收到BAD_ADDRESS的信息,是由于客户端申请IP地址时,若是本身经过ARP检测到这个IP地址已经被别的机器用了,那他就会发NACK包给DHCPserver,DHCPserver收到后就会把这个IP地址标记成BAD_ADDRESS

这种状况处理方法:删除此ip地址,刷新DHCP,从新绑定ip地址便可。

状况三:

mac地址为f46d04791032绑定vlan115网段的ip地址出现以下异常,只要是在vlan115网段为此mac地址分配任何一个ip都会出现以下界面,可是在其余vlan为此mac地址分配ipOK

spacer.gif

这种状况是dhcpdatabasecrash,也就是dhcpdatabase异常形成的。

也就是说在vlan115网段的database中已经为此mac绑定过ip地址,可是在UI界面是看不到的。处理方法以下:

1.导出dhcpdatabase文件,导出方法以下:

在命令提示符下C:\Users\gzpadmin>netshDHCPserverdump>d:\dump.txt

2.打开此dump.txt文件,查看是否是已经存在了f46d04791032这个mac地址,以下图:

spacer.gif

说明dhcpdatabase文件中已经为f46d04791032这个mac地址绑定了ip地址为10.132.115.151,不可能在同一个vlan中为一个mac地址绑定多个ip地址,因此在vlan115中为此mac地址绑定任何一个ip都是不成功的。

3.根据状况将异常的信息删除后保存为dump2.txt,将dump2.txt从新导入到dhcp中,导入命令为:在命令提示符下C:\Users\gzpadmin>netshexecd:\dump2.txt

,这步的操做也是修改dhcpdatabase的内容。导入dump2.txt文件后,刷新dhcp,不须要重启dhcpservice,就能够解决此问题了。

DHCPdatabasecrash缘由分析

对于DHCPdatabasecorrupt的问题,由于问题已经发生,咱们没有办法追溯到问题发生以前的状态,若是没有办法还原发生以前的状态,并重现一次问题,即便咱们有您在DHCPdatabasecorrupt时的database,咱们也很难启用audit,给出rootcause,可是一般咱们遇到这样的问题,咱们建议您对DHCPdatabase作一个按期的维护,您能够参照如下的步骤作一个按期的维护操做:

1.Toreconcileascope:

Reconcile操做方法:http://technet.microsoft.com/zh-cn/library/dd145311(v=WS.10).aspx

http://technet.microsoft.com/zh-tw/library/dd183579(v=ws.10).aspx

Reconcile的操做能够在线操做,对dhcpserverclient没有任何影响

a.OpentheDHCPManagementsnap-in.

b.ExpandtheDHCPserverobjectandhighlighttheapplicablescope

c.OntheActionmenu,clickReconcile

d.IntheReconciledialogbox,clickVerify.Inconsistenciesfoundwillbereportedinthestatuswindow

e.Ifthescopeisnotconsistent,selectthedisplayedaddressesthatneedtobereconciled,andclickReconciletorepairtheinconsistencies.

2.ToreconciletheDHCPdatabase:

a.OpentheDHCPManagementsnap-in.

b.HighlightorselecttheapplicableDHCPserverobject.

c.OntheActionmenu,clickReconcileAllScopes

d.IntheReconcileAllScopesdialogbox,clickVerify.Inconsistenciesfoundwillbereportedinthestatuswindow.

e.Ifthedatabaseisnotconsistent,selectthedisplayedaddressesthatneedtobereconciled,andclickReconciletorepairtheinconsistencies.

3.Makesurethatthecustomerhasthe%systemroot%\system32\dhcpand%systemroot%\system32\dhcp\backupfolderssetasanexceptionforAnti-Virusapplicationscanningengines.

4.UsetheMicrosoftJetpack.exeutilitytocompactorrepairtheWindowsDHCP.mdbdatabase.

jetpack.exe操做方法http://support.microsoft.com/kb/145881

jetpack.exe程序是一个字符型的命令程序,必须手工进行操做。

  Cd\winnt\system32\dhcp(进入DHCP目录)

  Netstopdhcpserver(dhcp服务器中止运行)

Jetpackdhcp.mdbtemp.mdbdhcp.mdbdhcp数据库文件,temp.mdb是用于调整的临时文件)

  Netstartdhcpserver(让dhcp服务器开始运行)

spacer.gif

5.RestoringtheDHCPserverdatabaseisusefulinsituationswherethedatabasehaseitherbecomecorruptedorlost.Inordertosuccessfullyrestorethedatabase,youneedtobackupthedatabaseonaregularbasis.Bydefault,DHCPperformssynchronousbackupsthatoccurautomaticallyata60minuteintervaltothefolderlocation%systemroot%\System32\Dhcp\Backup,butyoucanalsoperformmanualbackups,orusebackupsoftwaretocopythedatabasetootherlocations.YoucanrestoretheDHCPdatabasefromabackupcopyofthedatabasefile,Dhcp.mdb,usingtheRestorecommandontheActionmenuintheDHCPconsole.WhenyourestoretheDHCPdatabasefromabackupcopyofDhcp.mdb,thefollowinginformationisconfiguredontheserver:

Allscopes,includingsuperscopesandmulticastscopes

Reservations

Leases

Alloptions,includingserveroptions,scopeoptions,reservationoptions,andclassoptions

Allregistrykeysandotherconfigurationsettings(forexample,auditlogsettingsandfolderlocationsettings)setinDHCPserverproperties

Note:TheDNSdynamicupdatecredentials(username,domain,andpassword)thattheDHCPserveruseswhenregisteringDHCPclientcomputersinDNSarenotbackedupwithanybackupmethod;thereforetheyarenotrestoredduringtherestoreprocedure.AfterrestoringtheDHCPdatabase,configurecredentialsfortheserver.

Areconcile协调机制是什么,是协调dhcpdatabase注册表的设置?仍是协调dhcpserverclient之间的信息?

您说当dhcpdatabase老化,也就是dhcpdatabase的设置和相关内容与注册表(仍是client)不一致时,reconcile操做会使其一致?

Q:主要是DHCPdatabase本身检查简单的语法问题和逻辑问题,和注册表不能说彻底没有关系,可是基本不会有易动,只是常规的检查如下。这里的语法问题或逻辑问题包括:1).ipaddress对应的host信息不正确,好比hostname丢失,错误;2).ipaddress丢失,好比4段ip10.132.126.80,变成了3段ip10.132.126.;3).dhcpdatabasecrash;

A:是否是dhcpserver的任何设置或修改都会写到注册表中?

Q:不是,注册表里存的是DHCP的一些全局配置,DHCPdatabase里存的是信息。

A:您说dhcpclient分配ip地址的动做也会写到注册表中?

Q:这个不会.

A:Jetpack.exe的机制是什么,具体是如何优化数据库的?先压缩后释放是什么意思?

此操做除了需stopdhcpservice以外,对dhcp还有没有其余的影响?

Q:相似于磁盘碎片整理。在database数据表中有不少数据块,当某些数据块再也不使用就空出了数据表,这样有数据的数据表和没有数据的数据表很分散,经过Jetpack.exe会整理数据表,将有数据的数据表整理到一块儿,没有数据的数据表整理到一块儿,这样达到释放空间的做用。请避开高峰操做。

A:咱们一般删除ip地址的方法是选择ip右键删除。这种删除实际上该ipdatabase里仍是存在的。

请教咱们这种操做是正确的吗,仍是说要用其余方法删除ip?可否麻烦您告知正确删除ip的方法?能够在UI的同时也在database里删除

QDHCPlease的删除只有在DHCPmanager里面能够删,您不用担忧UI和咱们上次所说的database不一样步的问题,上次没有显示在UI界面,是偶然现象,是由于DHCPdatabasecorrupt掉致使的,不会常常发生。请您放心。

技术连接可供参考:

-------------------------------------------

173396HowtoRestoreaCorruptedDHCPDatabaseFile

http://support.microsoft.com/default.aspx?scid=kb;EN-US;173396

283251HowtousetheJetpackutilityonaclusteredWINS/DHCPdatabase

http://support.microsoft.com/default.aspx?scid=kb;EN-US;283251

145881HowtoUseJetpack.exetoCompactaWINSorDHCPDatabase

http://support.microsoft.com/default.aspx?scid=kb;EN-US;145881

另外根据咱们的经验,能够提供可能形成DHCPdatabasecorruptpossiblecause

-----------------------------------------------------------------------------------------------------------

1.三方的应用程序和服务干扰了DHCPdatabase的读写操做。

2.检查磁盘读写是否正常,须要具体检查一下您的磁盘。

3.是否安装了三方安全软件,能够控制安全软件的扫描程序,将DHCP服务排除在外,以防干扰。

另外对于您的第二个问题,这里须要解释的就是,咱们前面所提供的cleanboot加二分法的步骤,就是能够定位具体是哪一个三方服务可能干扰DHCPservice还有形成这个问题的rootcause跟第一个问题DHCPdatabasecorrupt确定不相关,若是要追踪这个新问题,咱们须要您上一个新case继续跟踪,同时您可放心,SA的客户能够免费上无限个case,不会对您有额外的收费要求,谢谢您一直以来的耐心和配合。

相关文章
相关标签/搜索