ポートオープン(転送)を必要としないP2P VPNソリューションはありますか?

ポートオープン(転送)を必要としないP2P VPNソリューションはありますか?

一つに一番近いVPN P2Pベース私が見つけた解決策はピアツーピアVPN:インストールは本当に簡単ですが必要です港を開くnode(デフォルトでは7000 TCP)これを実行している1台のマシン(別名)から。

いくつかのLinuxデバイスが自動的に接続されるように準備したいと思います。特定のVPNネットワーク、たとえば、いくつかのcronジョブを使用していつでもどこでもリモートで探す彼らは。ルータにアクセスできないためポートを開けません。

最善の解決策は、次のツールを使用することです。

# p2pvpn --connect --network MyNetworkName
$ ifconfig
eth0      Link encap:Ethernet  direcciónHW 00:23:54:7f:f2:4f
          Direc. inet:192.168.11.113  Difus.:192.168.11.255 Másc:255.255.255.0
tun0      Link encap:UNSPEC  direcciónHW 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          Direc. inet:10.8.0.6  P-t-P:10.8.0.5  Másc:255.255.255.255

tun0新しく作成された内容を参照してください。仮想インターフェイス
そんなことありますか?

コマンドライン好ましい解決策。
マルチプラットフォーム好ましい解決策。

追加: - 同様の解決策(まだポートを開く必要があります)は同様の手順です。オープンVPN(設定にはほとんど頭が痛いですが、うまく機能します)。

答え1

これしなければならないまだ試していませんが、ソースとターゲットの両方にUDPとポート番号を使用している場合は可能です。たとえば、

  • A は、ポート 1194 からポート 1194 に B にデータパケットを送信します。
  • B はポート 1194 からポート 1194 に A にデータパケットを送信します。
  • Bのファイアウォールは、AからのパケットがBから送信されたパケットへの応答であると考えているため、これを許可します。
  • Aのファイアウォールは、BのパケットがAが送信したパケットに対する応答であると考えているため、これを許可します。

すべてではありませんが、多くのファイアウォールがこれらのUDPホールパンチングを可能にします。ただし、ファイアウォールはTCP接続の状態をより詳細に追跡し、簡単になりすましすることができないため、TCPでは機能しません。これは、あなたが言及したPeerVPNソフトウェアがTCPを使用していると言及してから古いことを意味します。ただし、デフォルトではUDPを使用するOpenVPNは機能する必要があります(文書にはVPN用TCPが関係しない理由で悪い考えだと言われています)。 OpenVPNには、固定ローカルポート番号を使用するオプションがあります--lport

固定のソースポートとターゲットポートを試してみることもできますが、両側で異なるポートを試すこともできます。

UDPホールパンチングは、一方または両方にデュアルNATがある場合、またはソースポートを保存しようとしないNATまたは一般的なファイアウォールよりも厳しい場合に防止される。

あるいは、IPv4の代わりにIPv6を使用することもできます。利用可能なIPv6アドレスの数が非常に多いので、NATとそれに伴うすべての心配は必要ありません!

関連情報