あるインターフェースから別のインターフェースにパケットを転送する

あるインターフェースから別のインターフェースにパケットを転送する

組み込みシステムには、それぞれ IP が 10.0.0.20 と 192.168.0.20 である 2 つのインターフェイス e0 と m0 があります。e0 に着信するパケットの IP は 10.0.0.10 で、IP が 10.0.0.30 である外部サーバーの m0 インターフェイスに転送される必要があります。また、m0 に戻るトラフィックは e0 に返される必要があります。

次のコマンドでパケットを転送しようとしました:

ルートを追加 -net 10.0.0.0/16 dev m0

iptables -t nat -A PREROUTING -d 10.0.0.30 -j DNAT --宛先 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

関連情報