質問
ソケットベースの通信のソフトウェアレベルのポート転送/トンネルの簡単な要件があります。
- ソケットを使用してソースサーバーとポートを持っています。これは、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を実行している場合、サーバー障害には優れています。 非常によく似た目標を持つ短い質問. 。少し簡潔だと思いますが より詳細なドキュメントが利用可能です.
所属していません StackOverflow