ファイアウォール/ NATを通過する機能を備えたVPN

NAT( Network Address Translation )には多くの利点がありますが、欠点がないわけではありません。たとえば、NATルーターの背後にあるサーバーにアクセスしたい場合にポート転送を構成する必要があります。 NAT( NATトラバーサル )を通過する方法はいくつかあります。 この記事では、UDPホールパンチに基づいたそれらの1つを検討します(文字通り-UDPを使用してホールをパンチしますが、英語で用語の多くを謝罪しますが、ロシア語でそれらを調和的に再現する方法はわかりません)。



UDP穴あけ


多くは、 HamachiSkype、 TeamViewerなどのサービスに出会ったり仕事をしたりしています。 彼らの仕事は、UDPパケットを使用したホールパンチングアルゴリズムに正確に基づいています。



UDPホールパンチの原理非常に簡単です。ここでは、たとえば、Hamachiの仕組みを説明します。



PC AとノートブックBは2つのコンピューターであり、それぞれプライベートネットワークの背後にあります。HamachiサービスはパブリックIPアドレスでアクセスできるサーバーです。

  1. AとBはHamachiサーバーへのUDP接続を確立し、ルーターは各接続に外部ポートを割り当て、同時に「トンネル」(穴)がルーターに作成されます
  2. Hamachiサーバーは、AおよびBのパブリックIPアドレスと互いのポートを報告します
  3. AとBは、サーバーから受信した情報を使用して、相互に接続を確立します


この手法は、TCPパケットとは異なり、UDPパケットにはIPアドレスとポートのみが含まれているという事実に基づいています。



N2N


N2Nは、セキュリティで保護された接続でファイアウォール/ NATを通過できる仮想プライベートネットワーク( VPN )です。 N2Nアーキテクチャは、2つのコンポーネントに基づいています。









リモートノードは、仮想ネットワークインターフェイス(タップインターフェイス)を介して相互に通信します。 各コンピューターは、多くの仮想ネットワーク(仮想プライベートネットワークごとに1つの仮想ネットワークインターフェイス)に属することができます。





N2Nをインストールして使用する






ささいなこと


OS Xの場合、タップデバイスをインストールする必要があります。これはTUNTAPをインストールしました



Windows用のn2nのビルドも非常に簡単です。プロジェクトファイルはソースコードにありますが、1)プロジェクト内のパスが正しくないため、ファイルをサブディレクトリにコピーする必要があります。

char *version = "2.03";

char *osName = "Windows";

char *buildDate = "today";








All Articles