一つに一番近い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とそれに伴うすべての心配は必要ありません!