故障現象
筆者所負責的某教育系統工程項目,區公司報告市公司的網站無法登錄,數據無法上報。市、區教委之間Ping不通。市教委能Ping通其他各縣教委的網他 區教委不能Ping通市及各縣教委的網站。市、區教委都能Ping通省教委、各市教委的網站與Yahoo等網站。
診斷過程
市教委能Ping通各縣教委網站,說明市教委工作正常,筆者認為問題應出在區教委或ISP。區教委能Ping通省教委與Yahoo等 ,說明區教委與ISP的物理連結沒問題 ,也初步斷定區教委的配置沒問題。而區教委不能Ping通各縣教委的網站 ,再次說明問題就應在區教委或ISP。然而, 令筆者不解的是 ,一般來講 ,只要市教委與區教委都能正常上網,并都能Ping通同一個網站,應該彼此也能連通,除非彼此用防火墻進行了包過濾。然而防火墻都已經關閉了,應該不是這個問題。
在這種情況下,筆者最先想到的是ISP到區教委的路由出現問題,登上路由器,然后跟蹤路由。結果發現路由有問題。為了對比,筆者又跟蹤了其他兩個正常的縣教委的路由 結果發現有環路。似乎這是問題的關鍵所在,但這是ISP提供的,必須得慎重。會不會有其他的可能?比如服務器壞了,或是真的有問題,路由會怎么樣呢?筆者找了一個空置的IP地址(是分給區教委的只是沒有用到)試了一下,結果與上相同。
現在有兩種可能:一是確實ISP方面有問題;二是服務器有問題。在給ISP申報故障之前,還是先排除自己出錯的可能,于是筆者先讓區教委的網管員檢查設置。結果發現把子網掩碼設置錯了。詢問后得知,幾天前,由于管理上的需要該網管改動過此處的設置。不小心把255.255.255.243打成了255.255.255.0。據說雖然看著參數表打的,由于平時習慣下意識的打成了內網的子網掩碼了。改過來一試,故障消失了。
排除心得
為什么區教委能Ping通省教委與Yahoo網站而Ping不通市與其他縣教委?
大家知道,主機在發送數據報之前,首先判斷目標主機是否屬本子網的,如果是就直接發送到目標主機;如果不是本子網的就發向默認的網關。主機是怎樣區分外網與本子網的呢?當然是靠子網掩碼。區教委設置正常情況下,子網掩碼(255.255.255 243)會把202.105.218.17(區教委)與202.105.218.1(市教委)認為不在同一子網,所以發送給網關,這時的區教委就能Ping通市教委。可是區教委子網掩碼打成255.255.255.0后,就把202.105.218.1與202.105.218.17看成是同一子網的了。數據報不發送給網關,但本地子網中又沒有202.105.218.1這一臺主機, 所以不通。但是省教委的IP地址是202.105.204.17,子網掩碼(255.255.255.0)運算后與區教委的仍不在同一子網,數據報發給了網關,所以能正常訪問。同理Yahoo的IP地址經過運算后也不與區教委在同一子網,所以也能正常訪問。