網絡出現 IP 衝突如何找出元兇?
兩部設備使用同一個 IP 位址時,網絡會出現斷斷續續、間歇無法連線的徵狀,且難以憑直覺判斷源頭。本文說明如何按 Windows 的 IP 衝突警告、ARP 快取與交換機 MAC 位址表,逐步鎖定衝突的設備,並解釋 DHCP 與固定 IP 混用的常見成因及預防方法。
IP 衝突如何發生
IP 位址是設備在網絡上接收與傳送資料時使用的識別;兩部設備同時使用同一 IP,路由器便無法確定該把封包送往哪一部。實際表現往往不是完全斷網,而是間歇性故障:一部設備能上網時另一部便斷線,兩者互相「搶奪」位址,用戶重新連線或重啟後短暫恢復,不久又再發作。
衝突的成因主要有三類:
手動設定的固定 IP 重疊
兩部設備以手動方式設定相同位址,常見於安裝工程時複製設定檔、或維修時以「照抄」方式重設設備。
DHCP 派發與固定 IP 相撞
一部設備以 DHCP 自動取得位址,另一部手動設定於同一範圍,DHCP 伺服器不知道該位址已被佔用,仍可能派發給新設備。DHCP 的工作流程由 RFC 2131 定義。
虛擬機器與手機熱點
虛擬機器的虛擬網絡介面、手機個人熱點等臨時設備,其預設位址範圍可能與辦公網絡重疊,接上後即造成衝突。
要理解 ARP(Address Resolution Protocol)在排查中的角色,可參考本站〈ARP 是什麼?〉一文。
判斷是否屬於 IP 衝突
先用下列徵狀判斷問題是否屬 IP 衝突,避免把硬件故障或線路問題誤當衝突處理:
- 查看 Windows 提示——Windows 桌面出現「網絡上的位址已被使用」的氣泡提示,是最直接的訊號。
- 檢查事件日誌——Windows 的事件檢視器在 System 類別下記錄事件 ID 4199,內容指明「IP address conflict」,並列出衝突的另一方 MAC 位址。
- 觀察間歇性故障模式——衝突設備輪流取得連線權,網絡時通時斷;完全無法連線或長期無誤的環境反而較少是衝突造成。
- 在命令列查看 ARP 快取——以 ipconfig /all 確認本機位址與閘道,再以 arp -a 查看閘道 MAC。衝突期間該位址的 MAC 會反覆改變,重複查詢幾次即可觀察到「同一 IP 出現兩個不同 MAC」的現象。
- 以 Ping 測試閘道——ping 閘道位址若時通時不通,而其他設備同時也出現相同模式,即指向位址衝突。
衝突期間 ARP 快取中的 MAC 反覆變化,正是「兩個設備爭用同一位址」的直接證據。MAC 與 IP 的對應解析機制詳見 RFC 826。
需要協助?IP 衝突的排查需要查看交換機統計與實地查線,由工程人員處理可快速鎖定設備並重新規劃位址,防止復發。WhatsApp →
用交換機 MAC 位址表鎖定元兇
鎖定元兇的核心工具,是網管型交換機的 MAC 位址表(MAC Address Table,又稱 FDB):
- 確認衝突位址——從故障設備的 ipconfig /all 或 ARP 快取中取得衝突的 IP。
- 在交換機查詢該位址的來源連接埠——在可網管交換機的 CLI 或管理介面執行 show mac address-table(Cisco 語法)或同類指令,輸入衝突的 MAC,系統會回報該 MAC 在哪些連接埠上學習到。
- 重複查詢兩次或以上——衝突雙方交替傳送訊框時,同一 MAC 會在不同時間出現在不同埠;記錄兩次結果的「埠集合」,把兩個埠的連接線同時找出,即鎖定了兩部衝突設備。
- 沿實體線路追蹤——順著連接埠對應的配線架、牆身面板與末端設備核對,找出實際佔用位址的設備。
- 暫時停用其中一部——拔線或關機後,另一部即恢復穩定連線,可作為確認。
沒有網管型交換機時,可改用「逐一關閉可疑設備電源,觀察其餘設備是否恢復」的方式縮窄範圍,效率較低但同樣可行。網絡工程師上門處理這類問題,通常先以交換機統計鎖定範圍,再配合實地查線,兩個方向互相印證。
DHCP 設定與固定 IP 的取捨
衝突的根源,多數在於「DHCP 派發」與「手動固定 IP」在同一網絡中並存而缺乏協調。以下原則可大幅減少衝突發生:
需要固定位址的設備用 DHCP 保留
NVR、門禁控制器、打印伺服器等需要固定位址的設備,在 DHCP 伺服器上按 MAC 設定保留位址,由 DHCP 統一派發,避免手動設定位址與池範圍重疊。
DHCP 池與保留區不重疊
把 DHCP 自動派發範圍與手動設定的位址範圍清楚分開(例如池只覆蓋 10.0.0.100–200),手動位址集中在池外,兩者永不碰撞。
定期檢查租約與保留清單
把 DHCP 租約列表與設備清單核對,移除已退役設備的保留項目,避免舊設備重新上電時與新設備衝突。
停用設備的位址釋放
長期離開網絡的設備先釋放位址或直接停用,DHCP 租約期滿後其位址可重新派發,不會長期佔用。
RFC 2131 描述的 DHCP 流程中,伺服器在派發位址前會發出 Probe 測試位址是否已被佔用;但實務上 DHCP 伺服器未必能發現手動設定的衝突位址,因為手動設備不會回覆 DHCP 的探測訊息,所以「靠 DHCP 自動避免衝突」並不可靠,仍須從設定層面把範圍分開。
衝突的進階防護與香港實際情況
對衝突敏感或設備眾多的網絡,可採用以下進階防護:
- 啟用 DHCP Snooping——交換機信任 DHCP 伺服器所在的埠,非信任埠上的 DHCP 回應一律丟棄,防止私人 DHCP 伺服器派發錯誤位址。原理見本站〈DHCP Snooping〉一文。
- IP-MAC 綁定與 Port Security——在交換機埠上限制學習的 MAC 數目或綁定位址,阻止未授權設備接入;動態 ARP 檢測(DAI)則可過濾惡意 ARP 訊息。
- 分段網段——把設備按用途分 VLAN,減低單一衝突影響整個網絡的範圍;大型辦公室可考慮每層或每部門獨立網段。
以香港的實際情況而言,辦公室與商舖網絡的衝突多數源於三類場景:一是流動辦公或分租環境下,訪客與租戶各自帶入的無線路由器和桌面交換機各自派發位址,與主網絡撞在一起;二是維修或裝修期間,工程人員以「複製設定」方式快速重設設備,造成兩部設備同一 IP;三是系統遷移後,舊設備未停用、新設備沿用同一規劃,兩者同時存在。處理這類問題,除了即時鎖定元兇,更重要的是把位址規劃與 DHCP 設定整理成文件,納入網絡的日常管理。