どのポート転送が良いですか?

どのポート転送が良いですか?

次のように入力してポート転送を有効にする方法は2つあります。

sudo sysctl -w net.ipv4.conf.eth1.route_localnet=1

または、次の行のコメントを解除してください

net.ipv4.ip_forward=1

/etc/sysctl.conf最初のコマンドは、イーサネットネットワークの名前を指定します。

プライバシーにはどちらが良いですか?

答え1

net.ipv4.ip_forward=1より良い。単純なポート転送の場合、最初のアプローチは不要で、間違っていることがよくあります。公式カーネル文書を引用します。route_localnet

Route_localnet - BOOLEAN ルーティング時にループバックアドレスを火星のソースまたは宛先として処理しません。これにより、127/8 をローカルルーティング目的で使用できます。デフォルトはFALSE

https://www.kernel.org/doc/Documentation/networking/ip-sysctl.txt

答え2

これは2つの異なるオプションです。
ループバックアドレスを含むコンピュータに複数のローカルアドレスがある可能性があります。たとえば、ポート 8080 を 127.0.0.1 からアドレス 192.168.0.1 の外部インターフェイス ens0 に転送するには、次の手順を実行します。

sysctl -w net.ipv4.conf.ens0.route_localnet=1
iptables -t nat -A PREROUTING -i ens0 -p tcp --dport 8080 -j DNAT --to 127.0.0.1

ソケット127.0.0.1:8080のサービスは192.168.0.1:8080から利用可能です。
これは、次の抽象化で明確に見ることができます。 「mangle PREROUTING」の後ろにある「localhost source[YN]」の切り替え iptables処理フロー

関連情報