ローカルホストのポートを一部のリモートホストに転送:ポート

ローカルホストのポートを一部のリモートホストに転送:ポート

Remotehost.some.where:4444で実行されているサーバーがあるとします。 localhost:5555に接続する必要があるソフトウェアがあります。次sshのように渡すことができます。

ssh -L 5555:remotehost.some.where:4444 myuser@localhost

ただし、これにはlocalhostへの不要なSSH接続が必要であり、追加してもこれを-N防ぐことはできません。ログインせずに(おそらく他のツールを使用して)このポート転送を実行するにはどうすればよいですか?

ベストアンサー1

最も簡単な解決策は、一種のTCPプロキシを実行することです。たとえば、次のように使用できますsocat

socat tcp-listen:5555,bind=127.0.0.1,fork tcp:remotehost.some.where:4444

実行中、localhostのポートへの接続はlocalhostのポート5555に転送されます。4444remotehost.some.where

ここで使用するコマンドは受信のみを行います127.0.0.1。そのポートの他のホストからの接続を実際に受け入れるには、その5555オプションを削除するだけですbind=127.0.0.1

おすすめ記事