將封包從一個介面轉送到另一個接口

將封包從一個介面轉送到另一個接口

我有一個嵌入式系統,有2個介面e0和m0,其ip分別是10.0.0.20和192.168.0.20。進入 e0 的傳入封包的 IP 為 10.0.0.10,應轉送至 m0 介面到 IP 為 10.0.0.30 的外部伺服器。此外,返回 m0 的流量應返回 e0。

我嘗試使用以下命令轉送封包:

路由新增-net 10.0.0.0/16 dev m0

iptables -t nat -A PREROUTING -d 10.0.0.30 -j DNAT --to-destination 192.168.0.20

iptables -t nat -A POSTROUTING -s 10.0.0.0/16 -j SNAT --to-source 10.0.0.20

我在 m0 執行了 tcpdump 但沒有看到任何輸出。

你能告訴我我缺少什麼嗎?先感謝您。

答案1

也許您需要使用以下命令在內核中開啟轉送:

sysctl -w net.ipv4.ip_forward=1

相關內容