Proxy ARP 運作原理視覺化解說

🔀 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 對外回應。

🌐
外部使用者
Internet
📡
ISP 路由器
198.51.100.254
🛡️
防火牆
198.51.100.1
(代理 .10/.11/.12)
🖥️
內部伺服器
10.0.0.10

⚙️運作流程(步驟圖解)

假設外部使用者想連線到 Web Server 的公共 IP 198.51.100.10

1

外部流量抵達 ISP 路由器

封包目標為 198.51.100.10,路由器發現它在直連網段,需要查詢 MAC 位址。

2

路由器廣播 ARP 請求

路由器對整個網段大喊:「誰擁有 198.51.100.10?」

ARP Request: Who has 198.51.100.10?
3

防火牆代替回應(Proxy ARP)

雖然防火牆介面 IP 是 198.51.100.1,但因為它設定了對應的 NAT 規則,會用自己的 MAC 位址代為回覆。

ARP Reply: 198.51.100.10 is at AA:BB:CC:DD:EE:FF
4

封包送達防火牆

ISP 路由器將封包送往防火牆的 MAC 位址,Layer 2 傳輸完成。

5

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 留言