NATの背後にあるVPNを使用したNGINXサーバーホスティング

NATの背後にあるVPNを使用したNGINXサーバーホスティング

私はT-Mobileモバイルルーターを使用してRaspberry PiでNGINXを使用するサーバーをホストしています。 T-Mobileが時々私をNATの後ろに置き始めたことがわかった今日まで、すべてがうまくいきました。

私は聞いたVPNネットワークまたはSSHトンネルを設定すると、サーバーにアクセスできますが、方法がわかりません。

私はインターネットで検索しましたが、モバイルネットワークでどのように実行するかについてのチュートリアルが見つからなかったので、ここに尋ねるつもりです。この質問に対する回答が以前にあった場合は申し訳ありません。

答え1

ローカルサーバーの問題へようこそ。

これらの非対称性は、クラウドサービスの普及と不公平な利点の直接的な原因です。

あなたが見ている問題は、多くのISPが私が「実際のインターネットアクセス」と呼ぶものをもう販売していないという事実が原因です。

特に、移動体通信事業者にとって実際に得られるのは、「一般人」(またはいわゆる「規制機関」)のためにコンテンツを消費するための一方向データパイプを美化する一種の壊れた解決策です。しかし、これは実際には適していません。独自のインターネットサービスを開始します。

これで、十分なダクトテープと抽象化レイヤーを使用すると、あらゆる問題について過度にエンジニアリングできますが、私の経験では実際に問題を解決する方がはるかに優れています。

今、私はあなたにいくつかのアクション方法を提案します。

  1. 実際のトラブルシューティング:「実際のインターネットアクセス」を入手する
  2. 問題をもう一度考えてください。どのような問題を解決したいですか?
  3. 上記の2つの方法が失敗した場合、回避策は「カテーテルの挿入」です。

ソリューションの詳細は次のとおりです。

1. 実際に問題を解決すること: 「実際のインターネット接続」を得ること

以前は顧客にガイダンスを提供していましたが、今は時間がかかります。数年後、この方法は何千倍も効果的であることが証明されました。

この場合、実際の解決策は、次の属性を使用して「実際のインターネットアクセス」を取得することです。

  1. NATの背後ではなく、実際の外部IPを取得します(動的IPも問題ありませんが、静的IPが好ましい)。
  2. 重要なポートを開いたりリダイレクトしたりする能力が必要です。

T-Mobile担当者がこれらの属性を持つサービスを提供できる場合は、その担当者に連絡してください。通常、セールスマンを刺激する魔法の言葉は「固定IP」または「自分のVoIPサーバー」です。これにより、店舗はあなたに有能な人を見つけたり、完全に拒否したりします。

店舗であなたを完全に拒否した場合、通常は実際には「ホームショッピング」の店舗として位置付けられているためです。これらの店舗の多くはフランチャイズに過ぎません。事前にパッケージ化されたT-Mobile接続のみを販売し、T-Mobileブランドを所有していますが、実際のT-Mobileビジネスである接続運営は実際には処理されません。

拒否された場合、行き止まりの路地のように見えるかもしれませんが、まだそうではありません。心を180度変えて自分自身を企業に戻すと、はるかに進むことができます。はい、わかりました。

たとえば、個人的に私は会社を経営し、自宅やモバイル連絡先まですべての連絡先をその会社を通して運営しています。私は企業としてT-Mobile、Orange、O2(またはあなたが保有する企業)のビジネスサービスに連絡する資格があります。彼らはしばしば完全に異なる販売パンフレットを持っており、同じ地域とアクセスポイントに全く異なる接続タイプを提供することができます。ビジネスサービス部門は、ISPの実際の子会社ではなく、「一般」フランチャイズであることがよくあります。

企業の顧客としての私の経験によると、サポートコール時間は短く、ISP AVRはユーザーをより高いレベルの技術者に素早く接続します(一部の人間のオウムやループで特定のフレーズを繰り返す人間の音声レコーダーだけでなく(ルーターを再起動しましたか?) ?)しかし、実際の技術者は実際に問題を解決しました。)

お客様の場合は、地域のすべての携帯電話会社に電話して事業計画に連絡し、電話をかけて製品を販売します。取引) - 非常にビジネス指向です。

また、小規模地域(市/郡/村レベル)のオペレーターを見落とさないでください。彼らはしばしばまったく異なる技術(通常WIFI)を使って非常に興味深い取引をすることができます。彼らは小規模な会社であるため、一般的に取引が調整しやすくなります。

固定IPを得れば金賞添化です。静的IPを使用すると、世界中に公開されているDNS名をサーバーに直接簡単に割り当てることができます(つまり、ほぼどこでも接続できます)。

dynipのみを取得した場合は、IPアップデートを何とかインターネットに公開する必要があります。他のWebサーバー/仮想ホストの助けを借りて独自のソリューションを作成するか、no-ip.org dynipサービスなどのサービスを使用してください(よく似たサービスがたくさんあります)。サービス)。

私の経験では、(リンクの品質によって異なります)no-ipは通常何らかの理由で年に一度深刻に壊れます。通常、固定IPよりも不安定です。

ビジネスグレードの接続価格は通常1.2〜1.5の範囲であり、時には同様の「仕様」接続価格よりも2.0倍高いですが、私や私の顧客はほぼ常にこの価格に満足しています。

私が説明したアプローチはやや退屈で費用がかかりますが、支払う対価は便利さ、実行可能性、そして最終的にはより良いサービスです。

また、数年前にキャリアクラスのNATアドレスプールがIANA予約IPアドレスプールに追加されたことを思い出させたいと思います。これはかなり大規模であり、これはますます一般的な顧客(別名一般顧客)がこれらのNATに投入されることを意味します。プール。わずか数年前でも現実ではなかったが(住宅用モバイル接続)、モバイル接続が急速に現実化している。 dynip と固定 IP アドレスの数は非常に限られているので、すばやく接続すればするほど、将来的に良い結果が得られます。

IPv6はこの問題を解決することになっていましたが、特にモバイル空間ではそうではありません。

必要:

  • PI
  • 「実際のインターネット接続」
  • コンテンツ(元のIP)を持たない、または固定IPを持つDNS編集機能を持たないドメイン、または動的IP追跡用のIP / Webサーバーを持たないドメイン、静的IPの場合、この3番目のステップは完全にオプションです。

2. 問題をもう一度考えてみてください。どの問題を解決したいですか?

しかし、全体的なデザインとアーキテクチャが間違っている可能性があります。どの問題を解決したいですか? Piでnginxを実行するのはなぜですか?

PiデータをWebに公開するには、モバイルワールドですべての監視アドウェアが実行する作業を実行する必要があります。つまり、すでにオンラインになっているいくつかのサーバー/ Webサーバーを購入し、Piのデータをそこにプッシュする必要があります。つまり、データフローの方向を変更する必要があります。

これにより、NAT浸透について心配する必要はありません。 Piはmyserver.com(すでに簡単にアクセスできます)に接続し、そこにデータを送信します。その後、myserver.comでPi接続を観察できます。バッチ計算とサーバー上のすべてを実行し、myserver.comで実行されているnginxを介してダイジェストをレンダリングします。

これは自分にとってより良い解決策ではないでしょうか?

これを行うには、他のサービス(すでに持っていない場合)、つまりインターネットアクセス可能なサーバーまたはWebサーバーを購入する必要があります。

必要:

  • PI
  • ネットワークのサーバー/Webサーバー/コンテナ/VPS(DNS名の使用を推奨)

3. 上記の両方が失敗した場合は、ソリューションを「ダクト化」します。

良い接続プロトコルが得られず、Piからサーバーにデータをストリーミングすることで問題が解決します。たとえば、ネットワークからPiシステムに「リモートで」アクセスして「入力」できる必要がある場合は、そうです。 VPNは唯一のソリューションです。

これは基本的にソリューション2のより複雑な変形です。 ) 違いは、Piからインターネットアクセス可能なサーバーにデータを送信するのではなく、実際にPiにVPNトンネルを介してインターネットアクセス可能なサーバーに接続するように指示することです。

つまり、インターネットにアクセスできるサーバーという別のサービスを購入する必要があります。

これは特別なケースではWebホスティングサーバーにすることはできず、実際の完全なサーバー(または少なくともlxcなどのVPS /コンテナー)になる可能性があります。

サーバーがある場合は、PiとサーバーにVPNソリューションを展開する必要があります。

  • SSHPiをクラウドコンテナに関連付けることもできます(コンテナはカーネルモジュールをロードできません)。
    • SSH 接続活動性モニターの問題が発生します。考えられる解決策については、autossh(1)を参照してください(時々検出が中断される可能性があります)。
    • SSH「VPN」はユーザ空間で動作し、それほど効率的ではありません。つまり、帯域幅は非常に低くなりますが、これによりWebを閲覧できます。
    • 速度と活性の安定性が不足しているが、驚くべき柔軟性を得る。 SSHトンネリングについて書かれた本がたくさんあります。
  • オープンVPNPiをクラウドコンテナに関連付けることもできます(コンテナはカーネルモジュールをロードできません)。
    • OpenVPN は SSH よりも少し速いかもしれませんが、それでもユーザー空間で実行されているため、まだ遅くてかなり非効率的です。
  • ネットワークセキュリティプロトコル非常に成熟したVPN技術ですが、企業や軍事環境で提供されるため、セットアップとメンテナンスが急速に非常に複雑になる可能性があります(ビザンチンバロック構成、多くのモバイルパーティー、デバイス、オペレーティングシステムの互換性の問題)、実際のサーバーが必要です。仮想化が最も少ないVPS)
    • 企業の支店ネットワークをインターネット全体にまたがるグローバル企業ネットワーク(東京支店をニューヨーク支店、ロドン支店、アムステルダムと台湾のデータセンターに接続)で接続することが多い技術です。
    • IPSECカーネルモジュールをカーネルにロードする必要があるため、物理サーバー(コンテナ/ lxcはできませんが、仮想マシンは可能です)が必要です。
      • しかし、カーネルモジュールはソリューションの半分に過ぎません。
    • これには、Strongswan(1)がLinuxでよく使用するIPSEC調整ソフトウェアも必要です。ソフトウェアはカーネルを調整し、実際にVPN接続を構築し、一緒にバインドします。
    • 接続が確立されると、すべての暗号化通信がカーネルで直接発生するため、これは非常に高速なデータレートを可能にする非常に高性能なソリューションです。
    • 十分な暗号知識と IPSEC 経験を積んだ後、Cisco スイッチまたは Windows ボックスを IPSEC VPN ネットワークに直接正常に接続できるため、IPSEC ネットワークは非常に不均一になる可能性があります。
  • ラインバッカーすでに複数の記録を破っている親戚の新規移民は、実際のサーバーが必要です(最小の仮想化VPS)。
    • 非常に、非常に、非常に簡単な設定 - 意図的にSSHと同じくらい簡単(VPN用SSHを置き換える予定) - 複雑なIPSECを処理したことがある場合は、昼と夜の違いがあります
    • カーネルモジュールとしてカーネルにロードされるため、実際のVPSが必要です。
    • 非常に近代的な低電力高性能暗号化を使用します。
    • しかし、そのおかげで速度も非常に高速です(私は1GBit住宅用光学装置で定期的に20MB / sを取得します)。
    • 時々LinuxおよびOpenBSDカーネル用の標準​​デバイス
    • ベアボーンには自動化やツールが不足しているため、IPルーティングがホストオペレーティングシステム(Linuxなど)に委任されているため、ルーティングとパケット転送を設定する方法をよく理解する必要があります。

必要:

  • PI
  • ネットワークのサーバー/コンテナ/VPS(好ましくはDNS名を含む)
  • VPNソリューション

私の経験に基づいた結論は、ソリューション1.)が一般的に最高で最適なソリューションであることです。プロジェクトが拡大するにつれて、ソリューション1.)はしばしば非常に強力なソリューション3.)に発展する可能性があります. (VPNは固定IPと比較して優れており、シンプルです。)データフローを元に戻すことができ、頼りになれば、ソリューション2は最も安価で実装が簡単です。解決策3.)は、多くのクライアント(多くの場合、ラップトップを使用してリモートワーカーに電話をかけ、Piシステムを「移動」する場合)と一緒に使用するときに管理するのが最も不安定で費用がかかります。

答え2

私はNATが好きです。これにより、プライベートインターネット以外のインターネットを維持しながら、すべての(パブリック)インターネットにアクセスし続けることができます。安全面では良い点だと言えば十分です。しかし、あなたが考える限り、それは悪夢です。これがIPv6にNATが存在しない理由です。最初の提案はIPv6で動作させることができますか? 2番目の提案は、T-Mobileに電話して苦情を吐くことです。 Raspberryやビデオ監視など、必要なものすべてにアクセスするには、パブリックIPアドレスを割り当てる必要があると言います。あなたが話していることを誰かが理解するまで、あなたは文句を言わなければならないかもしれません。

第三の提案は、インターネット上のVPSはあなたのニーズに十分ですか? VPSは安価で強力で、さまざまな用途に使用できます。

他のすべての方法が失敗し、インターネットからRaspberryにアクセスできるようにする必要がある場合は、VPSを購入してお気に入りのLinuxバージョンをインストールし、RaspberryからVPSにVPNを設定してください。このように、Raspberryはクライアントで、VPSはサーバーです。

永続的なIPアドレスがないため、IP設定の変更を自動的に検出するようにVPNを設定する必要があります。 SSHの場合、その機能はSSHに含まれていないため、いくつかのカスタムスクリプトが必要です。 」モシュ「Sshよりも良い選択肢になることができます。

個人的に見てみましょう強い白鳥そしてイケフ2 https://en.wikipedia.org/wiki/Internet_Key_ExchangeクライアントIPの変更を処理できるVPN。 Strongswanを使用したRoadwarrior設定用のGoogle。

これが始めるのに役立つことを願っています。

答え3

どこかに別のサーバーがある場合は、SSHトンネルを実行して接続するか、RPiデバイスでOpenVPNクライアントを設定して接続できます。

SSHトンネルは役に立つかもしれませんが、インターネット障害やその他の理由で接続が失われると、メンテナンスは困難です。私の本では、OpenVPNはより安定しているようです。

関連情報