![あるインターフェースから別のインターフェースにパケットを転送する](https://rvso.com/image/652693/%E3%81%82%E3%82%8B%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%8B%E3%82%89%E5%88%A5%E3%81%AE%E3%82%A4%E3%83%B3%E3%82%BF%E3%83%BC%E3%83%95%E3%82%A7%E3%83%BC%E3%82%B9%E3%81%AB%E3%83%91%E3%82%B1%E3%83%83%E3%83%88%E3%82%92%E8%BB%A2%E9%80%81%E3%81%99%E3%82%8B.png)
組み込みシステムには、それぞれ 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