リバースプロキシへのiptablesポート転送

リバースプロキシへのiptablesポート転送

私は Ubuntu vserver を使用しており、SSH 経由で接続され、ポート 1802 をリモートでポート転送するように Putty が設定されているホストにクライアントをポート転送したいと考えています。

達成したいこと:アプリケーションの特定のポートのプロキシとして vserver を動作させたいです。そのポートを使用して vserver に接続できるようにしたいのですが、リバース プロキシ (ホスト) にリダイレクトされるようにします。

クライアント A <== xxxx:1802 ==> vserver (ポート転送) <== リバース プロキシ / ssh 接続 ==> ホスト

すでに持っているもの:ホストには、putty を使用したリモート ポート転送と、vserver への ssh 接続がすでにあります。足りないのはポート転送だけです。これにより、指定されたポートを使用して vserver に接続するクライアントは、ホストに DNAT されます。

これまで試してみたのは以下のとおりです:nginx サーバー設定に追加してみましたlisten 1802;が、まったく機能しませんでした (proxy_pass設定が不足していたと思います)。次に、iptables を使用してみました:

iptables -t nat -A PREROUTING -i -p udp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables -t nat -A PREROUTING -i -p tcp --dport 1802 -j DNAT --to-destination 127.0.0.1:1802
iptables-save

しかし、パラメータについてはよくわかりません--to-destination。また、値を省略した-iため、すべてのインターフェースが iptables エントリに使用されます。

答え1

私の場合は、追加するGatewayPorts yes必要/etc/ssh/sshd_configがありました。ssh を再起動するだけでは不十分で、vserver を再起動する必要がありましたが、その後は機能しました。すべてのポートがすでに ACCEPT に設定されていたため、特別な iptables エントリも必要ありませんでした。

関連情報