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