技術文章 · 網路與網通建置

電腦拿到 169.254 怎麼辦?DHCP 拿不到 IP 的排查表

Windows 出現 169.254.x.x 代表什麼?從網路線、Wi-Fi、VLAN、DHCP Scope、Relay、UDP 67/68 到 DORA 封包,逐層找出拿不到 IP 的原因。

作者 Steve Chen · 發布  · 約 4 分鐘閱讀

網路與網通建置 — 廷皓技術專欄插圖

Windows 網卡出現 169.254.x.x,通常表示介面設定為 DHCP,但沒有取得有效租約,於是使用 APIPA/IPv4 Link-Local 位址。它是症狀,不是「169.254 壞掉」;同一個 L2 裡的 link-local 裝置可能彼此通訊,卻通常沒有可用的 default gateway,無法正常跨網段上網。

DHCP 正常取址會經過 DORA

  1. Discover:Client 還沒有 IP,以廣播尋找 DHCP Server。
  2. Offer:Server 提供可用位址與租約條件。
  3. Request:Client 表示要採用哪一份 Offer。
  4. Acknowledge:Server 確認租約,Client 套用 IP、mask、gateway、DNS 等選項。

DHCPv4 使用 UDP 67/68。Client 與 Server 不在同一個 broadcast domain 時,要靠 Router、Layer 3 Switch 或防火牆上的 DHCP Relay/IP Helper 轉送,不能期待廣播自己跨 VLAN。

先判斷是一台、單一 VLAN,還是全部故障

  • 只有一台:查網路線、Wi-Fi profile、介面設定、驅動、Port Security、NAC 與該 Client 的 reservation/deny。
  • 同一 VLAN 全部:查 access VLAN、Trunk allowed VLAN、SVI/gateway、DHCP relay 與該 scope。
  • 全部 VLAN:查 DHCP 服務、HA、授權、位址池、伺服器網路、防火牆與上游變更。

Client 端五分鐘檢查

  1. 用 ipconfig /all 確認真正有問題的介面,不要被 VPN、Hyper-V、WSL 虛擬網卡混淆。
  2. 確認介面是自動取得 IP,不是留著別處的固定 IP。
  3. 有線看 Link、換已知正常線與 Port;Wi-Fi 確認實際 SSID、BSSID 與訊號。
  4. 在非遠端關鍵連線上,可用 ipconfig /release、ipconfig /renew 重新取址;遠端操作會斷線,不要直接做。
  5. 查看 Windows DHCP Client 事件,記下測試時間與錯誤。

交換器與 VLAN 常見問題

Client Port 的 access VLAN/PVID 要正確,AP 或 IP Phone 帶多個 VLAN 時要確認 tagged/untagged 規則。上行 Trunk 若漏掉該 VLAN,Discover 只會留在接入交換器;DHCP Server 再正常也收不到。STP blocking、Port Security、802.1X/NAC 未授權與 Broadcast Storm,也可能讓 DORA 走不完。

DHCP Server 與 Relay 檢查

  • Scope 是否啟用、還有可租位址,exclusion 與 reservation 有沒有重疊。
  • Subnet mask、gateway、DNS 等 option 是否正確。
  • Relay 的 Server IP、來源 SVI、VRF 與 routing 是否正確,回程路由能不能到 Client 網段。
  • HA/Failover partner 是否同步,Server 時間與服務狀態是否正常。
  • 防火牆不要只看 UDP 67/68 是否「有開」,還要看方向、來源、目的與 relay 實際封包。

抓封包時要看到什麼

在 Client 旁、Relay/Gateway 與 Server 端分別抓 DHCP/BOOTP。只有 Discover、沒有 Offer,問題在 Server 路徑、scope 或 policy;有 Offer、Client 沒 Request,要查回程、Client/NAC;完成 ACK 後仍沒套用,則查 Client 事件與位址衝突。Port Mirroring 可參考「SPAN 抓封包設定」。

不要用固定 IP 把症狀蓋掉

臨時手填 IP 可能讓單機能通,卻沒有修到 VLAN、Relay 或 scope,也可能撞到別人的租約。除非已掌握可用網段、排除範圍與回復方式,否則不要把固定 IP 當成 DHCP 故障的正式解法。

官方與操作資料

聯絡廷皓討論 看更多文章