iT邦幫忙

2025 iThome 鐵人賽

DAY 16
0
自我挑戰組

日誌檢查學習自我挑戰系列 第 16

Day15:DHCP 與 DNS的日誌檢查

  • 分享至 

  • xImage
  •  
  1. DHCP (Dynamic Host Configuration Protocol)
    DHCP 負責自動分配 IP 位址。日誌主要用於追蹤 IP 分配、租約衝突和伺服器狀態。

DHCP (Dynamic Host Configuration Protocol) 關鍵日誌檢查表

DHCP 負責自動分配 IP 位址,日誌主要用於追蹤 IP 分配、租約衝突和伺服器狀態。

要檢查的內容 關鍵日誌訊息 (關鍵字) 意義與故障排除方向
IP 地址衝突 IP_ADDR_CONFLICTDHCPD_IPADDR_CONFLICT 問題: DHCP 伺服器偵測到它嘗試分配的 IP 地址已經被網路上另一臺設備使用。解決: 檢查是否有人使用靜態 IP 且該 IP 位於 DHCP Scope 內但未被排除。
租約失敗 DHCPD_LEASE_FAILUREno addresses available 問題: DHCP 伺服器無法向客戶端提供 IP 地址。解決: 檢查 DHCP Scope (地址池) 是否已滿、IP 是否都被租用或排除列表過長。
Relay 錯誤 DHCP_RELAY_MSG_TOO_BIGdhcp relay invalid server 問題: DHCP Relay 代理 (通常是路由器或 L3 交換器) 傳輸 DHCP 訊務時出錯。解決: 檢查 Relay 介面配置的伺服器 IP 是否正確,或訊息是否超過 MTU 限制。
伺服器狀態 DHCPD_STARTDHCPD_STOP 問題: 記錄 DHCP 服務的啟動和停止。解決: 確認服務是否意外關閉,或在啟動時是否有配置錯誤導致服務啟動失敗。
  1. DNS (Domain Name System)
    DNS 負責將域名轉換為 IP 地址。日誌主要關注查詢失敗、伺服器連接錯誤和複製同步問題。

DHCP (Dynamic Host Configuration Protocol) 關鍵日誌檢查表

DHCP 負責自動分配 IP 位址,日誌主要用於追蹤 IP 分配、租約衝突和伺服器狀態。

要檢查的內容 關鍵日誌訊息 (關鍵字) 意義與故障排除方向
IP 地址衝突 IP_ADDR_CONFLICTDHCPD_IPADDR_CONFLICT 問題: DHCP 伺服器偵測到它嘗試分配的 IP 地址已經被網路上另一臺設備使用。解決: 檢查是否有人使用靜態 IP 且該 IP 位於 DHCP Scope 內但未被排除。
租約失敗 DHCPD_LEASE_FAILUREno addresses available 問題: DHCP 伺服器無法向客戶端提供 IP 地址。解決: 檢查 DHCP Scope (地址池) 是否已滿、IP 是否都被租用或排除列表過長。
Relay 錯誤 DHCP_RELAY_MSG_TOO_BIGdhcp relay invalid server 問題: DHCP Relay 代理 (通常是路由器或 L3 交換器) 傳輸 DHCP 訊務時出錯。解決: 檢查 Relay 介面配置的伺服器 IP 是否正確,或訊息是否超過 MTU 限制。
伺服器狀態 DHCPD_STARTDHCPD_STOP 問題: 記錄 DHCP 服務的啟動和停止。解決: 確認服務是否意外關閉,或在啟動時是否有配置錯誤導致服務啟動失敗。

範例:DHCP 租約失敗

故障情境 (Symptom)
網路結構: 網路中的用戶端設備 (PC/手機) 通過交換器連線到網路,由一台中央伺服器 (Router 或專門的 DHCP Server) 提供 DHCP 服務。
問題描述: 新接入網路的 PC-C 無法獲得 IP 地址,顯示為 APIPA (169.254.x.x),舊設備也可能在租約到期後無法續約。
使用者回饋: 「我連不上網!」或「我沒有拿到 IP!」
2. 故障假設 (Hypothesis)
當客戶端無法取得 IP 時,故障可能發生在 DHCP 協定的四個步驟 (DORA) 中的任一環節。最常見的故障點是:
DHCP Scope (地址池) 已滿。 (伺服器端)
DHCP 訊息被阻擋 (Relay Agent 或防火牆)。 (中間層)
客戶端無法發出 Discover 廣播。 (客戶端/L2)
3. 系統化排查步驟 (The 6-Step Drill)
我們將從客戶端開始,逐步追蹤到伺服器端。

步驟 1:客戶端 (Client) 檢查
目標:確認問題是否真的在於 DHCP 服務。

指令 (在無法獲得 IP 的 PC-C 上執行) 預期結果 故障判斷
ipconfig /all (Windows) 或 ip a (Linux/Mac) IP 地址顯示為 169.254.x.x 確認客戶端正在使用 APIPA (Automatic Private IP Addressing) 地址,這明確表示 DHCP 請求未成功。
ipconfig /release 然後 ipconfig /renew 應能獲得正確 IP 如果仍是 APIPA, 則確認問題持續存在,無法獲得任何 IP,需進一步排查網路和伺服器端。

步驟 2:檢查 DHCP Scope 狀態 (Server)
目標:確認伺服器是否有足夠的 IP 地址可以分配。這是最快速的故障點之一。

指令/操作 (在 DHCP 伺服器上執行) 預期結果 故障判斷
檢查 Scope 狀態 (GUI 或 CLI) 顯示 Available IP 數量充足 (例如 > 10%) 如果顯示 Used IP 達到 100% 或 95% 以上,則 Scope 已滿,需要擴大地址池或縮短租約時間。
檢查伺服器日誌 (show logging 或事件檢視器) 檢查日誌: 尋找 DHCPD_LEASE_FAILUREno addresses available 如果找到此訊息, 則直接確定是地址池耗盡或配置錯誤,導致租約失敗。
檢查 排除列表 (Exclusion List) 排除列表不應過長或包含整個子網路 如果誤將整個 Scope 排除,則無 IP 可用。

步驟 3:檢查 DHCP Relay Agent (Router/L3 Switch)
目標:如果客戶端與 DHCP 伺服器不在同一網段,需要 Relay Agent (IP Helper) 來轉發 DHCP 請求。

指令 (在 L3 Switch/Router 的客戶端網段介面上執行) 預期結果 故障判斷
show ip interface <VLAN/介面ID> 應配置 ip helper-address <DHCP Server IP> 如果沒有配置或配置錯誤,DHCP 請求(Discover 廣播)將無法到達伺服器
檢查 Relay Agent 的系統日誌 (show logging) 檢查日誌: 尋找 DHCP_RELAY_MSG_TOO_BIGdhcp relay invalid server Relay Agent 本身在轉發過程中可能出錯,導致訊務丟失。

步驟 4:檢查伺服器狀態與衝突 (Server & Logs)
目標:確認 DHCP 服務本身是否正在運行,以及是否有 IP 衝突。

指令/操作 (在 DHCP 伺服器上執行) 預期結果 故障判斷
檢查伺服器狀態 服務狀態應為 Running/Active 如果服務沒有啟動,需手動啟動。檢查日誌: 尋找 DHCPD_STARTDHCPD_STOP 訊息來確認服務是否有意外停止。
檢查伺服器日誌 檢查日誌: 尋找 IP_ADDR_CONFLICTDHCPD_IPADDR_CONFLICT 如果找到此訊息, 表示有設備使用靜態 IP,且該 IP 與動態 IP 發生衝突,伺服器會停止分配該 IP。解決: 將該靜態 IP 加入到 DHCP 的排除列表。

上一篇
Day15: VLAN 與 Trunks 的日誌檢查
下一篇
DAY17:OSPF (Open Shortest Path First) 運作原理
系列文
日誌檢查學習自我挑戰18
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言