3

192.168.*アドレスが指定されたマシンでリッスンしているJavaソケットサーバーがあります。ソケットサーバーに接続し、BufferedOutputStreamを使用してコマンドを送信し、BufferedInputStreamで応答をキャプチャするクライアントJavaソリューションがあります。

私がローカルネットワーク上にいるとき、これはすべてうまくいきます。

VPNを使用すると、10 * IPAが得られ、ソリューションが機能しません。10 Netをルーティングする必要があると聞きましたが、VPNサーバーはこれをすべて実行しませんか?

10ネットVPN接続ですべての192.168*リソースにアクセスできるので、これがルーティングの問題になる可能性があるかどうかわかりません。

10 NetVPNのJavaSocketソリューションが送信コマンドを取得したり応答を受信したりできない理由はありますか?

前もって感謝します。

4

1 に答える 1

0

あなたは問題を解決しましたが、私はまだあなたの答えにいくつかの誤解を感じ、確認するために追加することを考えました.

サーバーがポート (4055 など) でリッスンしている 192.... マシンがあります。ここで、このネットワーク外のクライアントがこのサーバーにアクセスしてデータを交換できるようにします。

クライアントが同じネットワーク上にある場合、ルーティングは必要ありません。必要なのは、サーバーがポート 4055 で着信接続を許可することだけです。通常、着信接続 (ローカル ホストからのものを除く) は、Linux の iptables などのファイアウォールによってブロックされるため、そのためのファイアウォール構成にルールを追加する必要があります

ただし、クライアントが別のサブネット上にあり、ルーティングする必要がある場合は、ルーターのルールが必要です。つまり、ルーター ポート (y) で (クライアントの) ip x から受信したすべてのパケットを次の場所に転送する必要があることをルーターに通知する必要があります。サーバーポート 4055。これはポートフォワーディングと呼ばれます。

ルーターが一部のポートを転送できる場合でも、どの IP / ポートからのどのトラフィックを、どのポートでリッスンしているどの IP に転送する必要があるかを明示的に伝える必要があります。

于 2012-10-04T11:55:40.053 に答える