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,不會對您有額外的收費要求,謝謝您一直以來的耐心和配合。

相關文章
相關標籤/搜索