🔀 Proxy ARP
防火牆如何用「一個介面」回應「多個 IP」
Network · Firewall · NAT📡先複習:什麼是 ARP?
ARP (Address Resolution Protocol) 是 Layer 2 的協定,用來把「IP 位址」轉換為「MAC 位址」,讓封包能夠在區域網路中找到正確的目標裝置。
💡 生活化比喻
想像你要送信給「王小明」(IP),但郵差只認「門牌號碼」(MAC)。ARP 就像是你大喊:「請問誰是王小明?」 然後王小明回答:「我住在 3 號!」
🎭那 Proxy ARP 又是什麼?
Proxy ARP(代理 ARP)是指某台裝置(通常是路由器或防火牆)代替其他主機回應 ARP 請求。它會回覆:「那個 IP 就是我!請把封包送給我!」即使該 IP 實際上並不屬於它的實體介面。
🟢 一般 ARP
- 每個 IP 對應一台真實主機
- 主機親自回應自己的 ARP 請求
- 一對一關係
🟠 Proxy ARP
- 一個介面「代理」多個 IP
- 防火牆代替他人回應
- 一對多關係
🗺️典型網路拓撲
ISP 分配了一段公共 IP 198.51.100.0/24 給企業,防火牆的實體介面 IP 是 198.51.100.1,但它需要「代表」 .10、.11、.12 這些 Static NAT 使用的 public IP 對外回應。
(代理 .10/.11/.12)
⚙️運作流程(步驟圖解)
假設外部使用者想連線到 Web Server 的公共 IP 198.51.100.10:
外部流量抵達 ISP 路由器
封包目標為 198.51.100.10,路由器發現它在直連網段,需要查詢 MAC 位址。
路由器廣播 ARP 請求
路由器對整個網段大喊:「誰擁有 198.51.100.10?」
ARP Request: Who has 198.51.100.10?防火牆代替回應(Proxy ARP)
雖然防火牆介面 IP 是 198.51.100.1,但因為它設定了對應的 NAT 規則,會用自己的 MAC 位址代為回覆。
ARP Reply: 198.51.100.10 is at AA:BB:CC:DD:EE:FF封包送達防火牆
ISP 路由器將封包送往防火牆的 MAC 位址,Layer 2 傳輸完成。
NAT 轉換並轉送到內部
防火牆依據 Static NAT 規則,把目標 IP 從 198.51.100.10 改寫為 10.0.0.10,轉送給內部伺服器。
DST: 198.51.100.10 → 10.0.0.10🎯為什麼防火牆需要 Proxy ARP?
因為防火牆常常需要在同一個實體介面上承載多個公共 IP,而不想額外切割子網或新增介面。
多 Public IP 承載
ISP 給的整段公共 IP 都綁在同一介面,無需多個實體埠。
Static NAT / 1:1 NAT
讓每台內部伺服器對應一個公共 IP,對外曝光服務。
VIP 虛擬 IP
負載平衡或服務虛擬位址可以浮動在多個後端之間。
HA 高可用切換
主備防火牆切換時,新設備透過 Gratuitous ARP 接管 IP。
✨關鍵重點整理
🎯 一句話總結
Proxy ARP 讓防火牆「假裝擁有」多個 IP,用單一 MAC 位址接收所有流量,再透過 NAT 將流量正確導向背後的真實主機。
✓ 透明性:外部設備完全不知道有 Proxy ARP 存在
✓ 彈性:不需要重新切割子網路
✓ 集中管理:所有公共 IP 的流量都匯集到防火牆審查
⚠️ 注意:設定錯誤可能造成 ARP 表混亂或 IP 衝突
0 留言