dnatをSSH転送ポートとして設定する方法

dnatをSSH転送ポートとして設定する方法

2台のコンピュータがありますが、一方から別のコンピュータにSSHを介してのみ接続できます(なぜ?時々もう一度尋ねてください...)。だから私はこれをハックして双方向に効果的にSSHを接続したいと思います。

というデバイスを作成しました。h-Linux-a(IPアドレスは10.10.20.20です)

ssh -R 2222:127.0.0.1:22 h-linux-b

h-linux-b で以下を実行し、h-linux-a に正常に再接続できることをテストしました。

ssh -p 2222 127.0.0.1

だからh-linux-bに以下を追加しました。

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j DNAT --to-destination 127.0.0.1:2222

私がするとき

ssh 10.10.20.20

私のSSHはそこにぶら下がっています。 iptablesのヒットカウンタが上がっているのを見て(1ずつ増えるので再試行する必要はありません)、h-linux-aの一時ポートでtcpdumpをチェックして、トラフィックが戻ってきていることを確認しました(何も表示されません)。生きている)。

だから私のiptablesコマンドは問題のようです。私はINPUTチェーンをあまり使用せず、主にPREROUTINGとPOSTROUTINGを使用しているので、ニュアンスを知りません。

ベストアンサー1

変える:

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j DNAT --to-destination 127.0.0.1:2222

努力する:

iptables -t nat -A OUTPUT -p tcp -d 10.10.20.20 --dport 22 -j REDIRECT --to-ports 2222

リダイレクトチェーンを使用すると、トラフィックを同じシステムに再ループできます。

おすすめ記事