NAT の背後からの netcat

NAT の背後からの netcat

インターネットに接続されたデバイスがありますが、NAT の背後にあるため、ネットワークの外部から直接 SSH 接続することはできません。リバース SSH トンネリングによってこの問題を回避できることはすでにわかっています。

ここで、このデバイス上で netcat サーバー プロセスを実行し、ネットワークの外部から再度アクセスできるようにしたいと考えています。これを行うにはどうすればよいでしょうか?

答え1

私はこれを自分で理解することができました。SSHトンネリングは基本的にポート転送のようです。NATの背後にあるサーバーで次のコードを実行しました。

ssh -N -R 4321:localhost:1234 user@client &

client:4321これにより、からへのトラフィックをルーティングするトンネルが設定されserver:1234、 によって&バックグラウンドで実行されます。引き続きサーバー上で、次を実行しました。

ncat -lk -c "python myscript.py" localhost 1234 &

これにより、netcatプロセスが実行されますmyscript.py。これで、クライアントからnetcat経由でサーバーに接続できます。

nc localhost 4321

ncat(クライアントにはありませんでしたが、nc同様に機能しました。実際の使用例では、socketPython のライブラリを使用して接続しましたが、同じように機能しました)

関連情報