7

多層NATの背後にある(apache)サーバーをインターネットからアクセスできるようにしようとしています。

制限:

  1. リレーは避けてください。ログイン/スタン用の公開サーバー (私たちは彼をオールドマンと呼んでいます) がありますが、その帯域幅は中継データを運ぶには貧弱すぎます。
  2. NAT を手動で構成する権利がありません。3.ユーザーはブラウザーやデバイスを変更する必要はありません (つまり、android、ios、および任意の PC で動作します)。

試してみましたが、 1層NATUPnPでしか動作しません。

NAT数か月間、トラバーサル ソリューションを検索しようとしましたが、無駄でした。

調べSTUN/TURN/ICEて、pjsip (icedemo.exe + numb) を試してみましたが、そのスタンは 2 層 NAT を通過できません。

Mist,Pwnat を試しましたが、うまくいきませんでした。また、libjingle は Gtalk 拡張機能を作成するための API のように思えます...(?)

私もこれを解決するために VPN/N2N を作成しようとしましたが、これは公開サーバーに大きな負荷をかけます。どの VPN クライアントでも、サーバー (OldMan サーバー) がすべてのパケットを別のサーバーに中継する必要がありますね。

この問題を解決する解決策はありますか? 多層 NAT の背後にある HTTP サーバー。

ところで、STUN/TURN/ICEが機能する場合、私の考えは次のとおりですが、可能ですか?

  1. ユーザーがアプリケーションをインストールした (例: stun_browser_agent.exe)
  2. ユーザーは Chrome で次のアドレスを入力します: 127.0.0.1:9999
  3. stun_browser_agent.exe デーモンに接続された Chrome
  4. デーモンはStunプロトコルでHTTPサーバーに接続します
  5. HTTP サーバー上のデーモン (例: stun_apache_agent.exe) は、すべてのメッセージを受信し、Apache デーモンに中継します。
  6. Apache はすべての http 情報に応答します -->stun_apache_agent.exe-->stun_browser_agent.exe-->chrome

そうすれば、ブラウザと Apache を変更する必要はありません。

これを実装するために参照できる利用可能なリソースはありますか?

お待ちいただいてありがとうございます

4

2 に答える 2

0

このサーバーと「外の世界」の間のすべての NAT デバイスを制御できますか?

1 つの方法は、インターネット ゲートウェイ ルーターとサーバーの間に SSH トンネルをセットアップすることです。

SSH トンネルはサーバーから開始され、インターネット ゲートウェイ ルーターで実行されている sshd に接続します。SSH のポート転送機能を使用して、インターネット ゲートウェイのポート 80 を、サーバーで Apache が実行されているポートに転送します。

別のアプローチは、公共のインターネットでアクセス可能な他のサーバーに sshd (または他のトンネリング製品) をセットアップすることです。サーバーからの接続を開始し、その接続を使用して、そのパブリック サーバーのポート 80 からサーバーにトラフィックを転送します。

アプローチは基本的に同じです。サーバーからトンネルのセットアップを開始し、その接続を使用して、トラフィックを公開サーバーから自分のサーバーに転送する必要があります。

于 2012-07-26T09:08:02.500 に答える
-1

サーバーへの最も内側の NAT 転送を使用して、次の NAT デバイスにポート転送するように、インターネット接続を備えたものから始めて、各 NAT デバイスを構成します。

更新: 「2.NAT を手動で構成する権利がありません。」これらの NAT デバイスの背後でサーバーを実行する権利を持ちながら、ポート転送を構成する権利を持たない方法がわかりません。確かに、サーバーを実行する権利には、サーバーを実行するために必要なことを行う権利が含まれます。

于 2012-07-26T09:02:07.970 に答える