利用 Linux 核心轉發功能,配合正確路由配置,將普通 PC 變身路由器。本文通過三節點實驗對比錯誤/正確配置,深度解析 ARP 請求無法跨網段的根因與解決方案。
# ① 節點 route add -net 10.0.4.0/24 dev eth1 # ⑦ 節點 route add -net 10.0.1.0/24 dev eth1 # ④ 節點開啟轉發 echo 1 > /proc/sys/net/ipv4/ip_forward
① 發送 ARP 請求 who-has 10.0.4.3,但 ④ 不轉發 ARP 廣播 → ① 無法解析 MAC → ping 失敗
# ① 節點 route add -net 10.0.4.0/24 gw 10.0.1.2 # ⑦ 節點 route add -net 10.0.1.0/24 gw 10.0.4.2
00:16:ec:af:cb:cb → 40:61:86:32:8f:0b ICMP echo request 10.0.1.3 → 10.0.4.3 40:61:86:32:8f:0b → 00:16:ec:af:cb:cb ICMP echo reply 10.0.4.3 → 10.0.1.3
40:61:86:32:8f:0e → 00:25:90:93:40:79 ICMP echo request 10.0.1.3 → 10.0.4.3 00:25:90:93:40:79 → 40:61:86:32:8f:0e ICMP echo reply 10.0.4.3 → 10.0.1.3
net.ipv4.ip_forward=1