前兩天,某知名連鎖藥店出現網絡故障,突然無法與某醫療生產廠家的ERP系統進行數據交互,在這個時間節點,出這樣的問題無疑是非常著急的,藥企的IT聯繫了中國電信,但是電信技術人員表示接入的網絡沒有問題,需要他們自己排查。
藥企的IT輾轉找到筆者,請求協助診斷此故障。聽上去是十萬火急的事情,又是朋友介紹的,啥也不說了,直接上手檢測故障吧。
一、遠程登錄客戶的伺服器,測試訪問外部網絡是否正常,檢測網關設備是否正常,是否有限制策略
1、通過客戶提供的帳戶和密碼,遠程登錄到一台Windows Server 2012的伺服器,訪問外網一切正常,執行命令tracert -d www.baidu.com,顯示路由跟蹤正常,緊接著執行tracert 211.xx.xx.xx (醫療生產廠家的IP),很不幸,路由跟蹤失敗了
2、初步懷疑網關設備上可能有某個策略,是不是正好限制了這個IP。於是登錄客戶的華為USG6570防火牆,正分析策略呢,IT已經來催了。策略太多還沒看完呢,時間這麼緊,索性建立一條允許與那個IP通訊的策略,放在最前面得了,可是,這條策略並沒有被命中,看來與防火牆無關啊。
二、跳過網關設備,直連電信的光貓,進一步檢測
1、由於門店眾多,這台華為的USG6570配置了相當多的策略,時間緊迫,沒空進一步分析了,讓客戶找了台筆記本電腦,直接連接到電信的光貓上面,並且直接配置電信的公網IP:58.XX.XX.XX,上網正常,再次執行命令:tracert 211.xx.xx.xx (醫療生產廠家的IP),又失敗了!
2、難道問題出在上一層?遂聯繫電信的技術人員,請求他在上一層的網絡環境中,同樣用tracert命令排查,結果他回覆說,跟蹤路由正常,並且有截圖為證。筆者又要求他把IP切換到藥店的網段再測試,結果同樣失敗,看來跟客戶的內網沒關係,問題出在電信?
3、電信的技術人員,根據tracert的有限信息繼續分析,發現58開頭的這一段IP,走到移動的網絡之後,就開始丟失路徑了,懷疑是移動那邊把這一段IP錯誤地放到黑名單了。
三、聯繫藥廠那邊的IT,以及他們的網絡供應商——中國移動
1、情況緊急,筆者立刻聯繫生產廠家的IT,請求他協助診斷,結果他還在老家,另外兩位IT,同樣因為疫情影響,無法返回工作崗位,一共就仨人,全都不在崗。他只能試著找一位略懂電腦的同事,幫我們執行一下tracert命令,並且同時幫我們聯繫移動公司,讓他們也幫著診斷一下;
2、等啊等,移動公司的技術人員終於回電話,表示他們那邊可以訪問到藥店的IP,並且發來tracert命令的截圖,沒想到,他們那邊過來的路徑特別短,很快就到了藥店的伺服器
3、看兩端執行tracert命令的截圖,發現來往路徑有很大的不同,所以移動那邊雖然能申通無阻地訪問取藥店的電信 IP,但是這並不代表,電信的IP就不在移動的限制列表裡面。
到這裡,好像這個問題是沒辦法解決了,可是現在情況緊急,怎麼破?
四、轉機:電信直接把上一層的IP下發到光貓
為了迅速地解決問題,電信的技術人員彙報領導後,把上一層的IP直接下發到了光貓,筆者首先用筆記本電腦進行測試,發現與廠家那邊通訊正常。小小地興奮了一下,很快就冷靜了——不行, 防火牆一旦更改IP,下面所有的連鎖藥店,將會與伺服器斷開連接,這將直接導致藥店銷售系統中斷。
如果藥店的銷售系統是用域名訪問伺服器就好了,在域名註冊商那邊修改一下IP,一般10分鐘就生效了,可是問了IT才知道,所有藥店的軟體平台,都是用IP位址來連接伺服器的,又是個壞消息,怎麼辦?
趕緊聯繫了藥店銷售系統的廠商,還算好,技術人員回復,能夠支持域名的方式連接,可是只能一個個藥店、一台台電腦手動修改。已經不錯了,這算是個好消息,立刻讓這位技術人員截圖過來——在哪把IP修改為域名。
筆者登錄了藥店的域名註冊商網站,在控制台新建了一條A記錄,指向電信給的新IP位址,果然10分鐘以內就生效了,就等著在防火牆上修改IP位址了。
五、所有門店改為域名方式連接伺服器,防火牆配置新的IP位址
1、等到晚上21點,筆者遠程登錄客戶的華為USG6570,將外網口的IP修改為電信新給的IP位址,並且在伺服器上再次執行命令:tracert 211.xx.xx.xx (醫療生產廠家的IP),總算成功了,軟體及資料庫也同步正常!
2、所有藥店暫停銷售,夜班人員根據截圖,將軟體平台的IP位址修改為域名方式,全部重新接入伺服器,所有軟體系統正常連接到伺服器,銷售停擺時間不超過10分鐘,基本上沒有任何影響,至此,可以說是大功告成。
寫在最後:雖然問題解決了,但是並不清楚原來的IP到底是哪裡出了問題,時間緊迫、情況緊急,來不及想那麼多,連鎖藥店能夠正常運轉,已經是最好的結局了。
——筆者為網絡工程師,擅長計算機網絡領域,創業多年,希望把自己的經驗分享給大家,覺得有用的,可以關注一下,並請點贊、轉發,如有相同或者不同觀點,歡迎評論,謝謝!