着信外部トラフィックを127.0.0.1でリッスンするサービスにリダイレクトしたいと思います。リダイレクトは簡単です-ただ:
iptables -t nat -A PREROUTING \
-d local_ip --dport 80 \
-j DNAT --to-destination 127.0.0.1:port
しかし、これはパケットをeth0
に残し、火星としてログに記録され、デフォルトでドロップされます。 route_localnet
でeth0
を有効にしてこれを修正できますが、これにより、インターフェイス全体が奇妙なルーティングトリックにさらされます。
route_localnet
なしで正しく転送するにはどうすればよいですか?
正しいこれを処理する方法は、アプリケーションに127.0.0.1ではなく正しいインターフェイスやIPアドレスでリッスンさせ、iptablesを使用してトラフィックを許可し、奇妙な再生を行わないようにすることですNATトリック。