質問

ソケットベースの通信のソフトウェアレベルのポート転送/トンネルの簡単な要件があります。

  • ソケットを使用してソースサーバーとポートを持っています。これは、WindowsとLinuxの両方で機能するJavaプログラムであり、これは無関係です。
  • このポートにデータを送信し続けるデバイスがあります。双方向のコミュニケーションがあるかもしれません
  • このデータを別のリモートサーバーとポートにリダイレクトしたいと思います。そのため、クライアントの場合、アプリサーバーを移動するたびにIPアドレスの変更を心配する必要はありません。

これを構成して実行するために使用できるツール/ディーモン/サービスプログラムはありますか?

SSHを試しましたが、これにはSSHプロトコル対応サーバーが必要です。私の場合、これは適用できません。また、JSCHを使用してみましたが、これもJava形式のSSHの実装です。

誰かがいくつかのポインターを投げることができますか? LinuxでiPtables Natを使用することは可能ですか?

役に立ちましたか?

解決

あなたが試すことができます netcat また socat (Netcatよりも強力です)

TCP4を使用してポート80を転送するためのSOCATの例:

socat tcp4-listen:80,fork tcp4:{another server}:{another port}

そして、参照してください http://en.wikipedia.org/wiki/netcat#port_forwarding_or_port_mapping netcat用

どちらもJava関連ではありません。

他のヒント

名前付きのTCP/IPポート転送ユーティリティがあります ポートフォワード で利用可能 code.google.com. 。 Javaで完全に書かれています。

走っている場合 xinetd すでにシステムでは、シンプルを提供します ポート転送メカニズム Iptablesをまだ実行していない場合は、役に立つかもしれません。

iPtablesを実行している場合、サーバー障害には優れています。 非常によく似た目標を持つ短い質問. 。少し簡潔だと思いますが より詳細なドキュメントが利用可能です.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top