[故障現象]
動態主機分配協議(DHCP)是一個簡化主機IP地址分配管理的TCP/IP標準協議。用戶可以利用DHCP服務器管理動態的IP地址分配及其他相關的環境配置工作(如DNS、WINS、Gateway的設置)。
因此,使用DHCP服務器可以在一定程度上減少網絡管理員的工作量,并且能夠方便管理員對網絡進行管理。不過,由于DHCP服務屬于Windows 2000 Server的自帶組件,用戶可以很方便地將該服務添加并啟動。所以,經常會有一些對網絡不熟悉的用戶擅自將自己的計算機設置成DHCP服務器,從而影響其他網絡客戶機IP地址的正常獲得。下面就以一個實例,介紹網絡中其他DHCP服務器干擾IP地址分配問題的解決過程。
筆者所在公司使用一臺Windows 2000 DHCP服務器為公司局域網內部的用戶分配IP地址,由于公司內部計算機比較多,因此采用網絡位為172.16.0.0的B類私有地址作為內部網絡的IP地址,并且根據需要,在公司支持三層交換的主交換機上,將整個內部網絡分割成15個子網,其中DHCP服務器所在的子網為172.16.2.0(公司所以內部服務器都在這個子網中)。
為了能夠使其他的子網正常獲得IP地址,還在主交換機中將DHCP協議轉發功能打開,經過上述設置,網絡中的客戶機的IP地址獲得一直正常。可是,一天早晨上班以后,陸續接到一些公司網絡用戶的投訴電話,反映無法接入Internet,并且有的用戶還反映,在“網上鄰居”中只能看到個別的計算機,其他大量計算機無法進行訪問。
診斷過程
得到這一消息后,筆者分析既然不是一臺計算機出現問題,那么就不太可能是因為客戶機的設置問題造成的故障。另外,由于發生問題的計算機都集中在一個子網內。因此,該故障極有可能是因為網絡設備或IP地址故障引起的,得出這一結論后,筆者就打開HP Open View網絡管理軟件查看。
通過檢查,發現該子網所地應的部門交換機和主交換機的連接端口都處于激活狀態,并且可以正常ping到。為了保險起見,重新啟動該部門的交換機。完成啟動后,詢問出現問題的用戶,告知問題依舊。由于交換機多個端口同時出現故障的情況基本上是不可能發生的,因此,可以初步排除該問題是因為網絡設備故障造成的。
于是,筆者趕到出現問題計算機的現場查看,并在故障計算機上的DOS窗口中,輸入IPconfig命令,查看該計算機的IP地址信息,發現所有問題計算機的IP地址均為192.168.2.0網絡位的C類私有地址,由于Windows系統未找到DHCP服務器時,系統將分配給一個192.254.*.*的IP地址給當前計算機,而不是目前的192.168.*.*的IP地址。
因此,出現這種故障,應該是網絡中存在其他DHCP服務器造成的,為了進一步驗證筆者的判斷,筆者為該計算機手工指定一個IP地址,發現該計算機完全可以連接到局域網中,并訪問正常,從而證實了筆者的判斷。
由于客戶機通過這臺未知的DHCP服務器獲得了錯誤的IP地址,而該IP地址不被Internet上的代理服務認可,因此,客戶機自然無法接入Internet.另外,由于有相當數量的計算機獲得了同一網段的IP地址,因此它們之間可以通過“網上鄰居”訪問。
既然是局域網中存在其他的DHCP服務器,那么要解決當前網絡故障,就只有將這臺DHCP找出,并禁用其DHCP服務。于是筆者將問題計算機的IP地址設置為自動獲得,再通過IPconfig/ALL命令,查看IP地址的詳細信息,發現分配當前計算機IP地址的DHCP服務器的IP地址為192.168.2.1.從而可以斷定就是這一計算機在搗亂。
為了進一步查找該計算機的相關信息,筆者使用查詢計算機名和相關信息的軟件——“追捕”,查詢該計算機,發現該計算機的計算機名為BillGates(比爾蓋茨?看來該計算機名是隨便起的),并且工作組和域名也看不出什么有價值的信息。
既然通過該計算機的NetBIOS信息無法找到具體的計算機,于是,筆者轉向查找該計算機的MAC地址。首先,筆者使用ping命令ping 192.168.2.1這臺計算機。
然后,再在DOS窗口中,輸入arp —a命令,便可查到192.168.2.1所對應的MAC地地址。接下來,使用超級終端程序,通過Console口登錄到該子網所對應的部門交換機,在該交換機的IOS的特權模式下,輸入Show fdbentry all mac<MAC Add.>(尖括號中為DHCP Server的MAC地址)查找該MAC地址所對應的交換機端口號。
這時交換機將把所對應的端口號列出來,通過該端口號,就可以找到具體的計算機了。
找到該計算機后,筆者將其上的DHCP服務停止,并通知每臺故障客戶機,重新獲得一遍IP地址。當計算機獲得IP地址后,發現所有的IP地址均獲得正確,并可以正常訪問公司的局域網絡,至此故障解決。
排除心得
使用IP地址解析MAC地址,然后再從交換機的MAC地址列表中定位該MAC地址對應交換機端口的端口號,從而找出特定IP地址客戶機的具體位置,是局域網絡管理中查找“惡意”主機(影響或破壞網絡中其他計算機正常運行的計算機)的基本方法之一,通過這種方法可以很方便地查找或定位某一臺計算機的具體位置,從而能夠及時將該計算機上的問題清除。
另外,后來翻看DHCP的技術文章得知,Windows 2000的DHCP可以設置授權功能,通過DHCP授權,可以使客戶機在登錄時采用網絡有限廣播的形式來查找DHCP服務器,這樣就能有效地阻止未授權DHCP服務器加入到已存在Windows2000 DHCP服務器的網絡中。筆者在設置授權后,就再也沒有發生過網絡中其他DHCP服務器干擾IP地址分配的現象。