文章目录
- 异地组网原理
- VPN技术
-
- [传统VPN 和 P2PVPN](#传统VPN 和 P2PVPN)
- P2PVPN的两个Point的连接建立
- [基于P2PVPN 的 ZeroTier](https://vpsxb.net/2781/#ZeroTier))
异地组网原理
之前描述了 异地组网方案,但是没有说异地组网原理
c
异地组网通常使用一系列网络技术来连接不同地理位置的网络,并实现远程通信和资源共享。
以下是一些常见的技术和方法:
VPN(虚拟专用网络):VPN技术允许通过公共网络(通常是互联网)建立安全的网络连接。不同类型的VPN,如站点到站点VPN和远程访问VPN,可以用于将不同地理位置的网络连接在一起。VPN可以提供加密和隧道功能,以确保数据在传输过程中的安全性。
广域网(WAN)连接:使用专用线路、光纤、卫星连接等各种WAN技术,可以将不同地理位置的网络物理连接在一起。这些连接可以用于传输数据和实现广域网。
路由器和防火墙配置:在不同地理位置的网络中配置路由器和防火墙,以处理数据包的路由和安全性。这些网络设备可以配置成在不同地理位置之间建立连接。
远程桌面和远程应用:通过使用远程桌面协议(如RDP、VNC)或远程应用软件,用户可以远程访问和控制另一个地理位置上的计算机或应用程序,从而实现远程办公和资源共享。
云服务:使用云计算服务,可以将应用程序和数据部署在云中,以便不同地理位置的用户和网络访问。云服务提供了灵活性和可伸缩性,以适应异地组网的需求。
这些技术和方法可以单独或结合使用,根据组织的需求和网络架构来实现异地组网。异地组网的目标是在不同地理位置之间建立稳定的、安全的网络连接,以便实现远程通信、资源共享和远程访问。
c
我认为 VPN 和 广域网(WAN)连接 才是解决方案
路由器和防火墙配置 是 为了安全,是安全方案
远程桌面和远程应用 能解决A访问B,但不能解决B访问A
云服务 避免了异地组网问题, 将资源全部上云
而异地组网就是为了 使用 异地的资源(算力,存储)
c
这里只介绍 VPN技术
VPN技术
- 这里 已经描述了如何使用TUN设备完成 VPN 的搭建
传统VPN 和 P2PVPN
c
是的,P2PVPN和传统的VPN之间存在区别。以下是它们的主要区别:
架构:
传统VPN:传统VPN通常使用客户端-服务器(Client-Server)模型,其中有一个中央服务器(VPN服务器)用于管理和连接客户端设备。
P2PVPN:P2PVPN使用对等网络(Peer-to-Peer)模型,其中没有中央服务器,而是直接连接各个设备,使它们能够互相通信。
中央控制:
传统VPN:传统VPN通常由中央服务器进行管理和控制,它负责验证用户身份、路由流量、加密通信等。
P2PVPN:P2PVPN中没有中央控制点,设备之间平等地建立连接,每个设备通常扮演客户端和服务器的双重角色。
用途:
传统VPN:传统VPN通常用于连接远程用户或分支办公室到公司网络,或者提供访问受保护资源的远程访问。
P2PVPN:P2PVPN更常用于直接设备之间的安全通信,例如点对点文件共享、在线协作、视频通话等。
安全性:
传统VPN:传统VPN通常提供较高级别的安全性,包括身份验证、加密和访问控制,以保护数据在互联网上的传输。
P2PVPN:P2PVPN的安全性取决于所使用的协议和配置,通常较简单,可能需要额外的安全措施来确保数据的保护。
中继:
传统VPN:传统VPN通常需要中央服务器来中继数据流量,这可能导致性能瓶颈。
P2PVPN:P2PVPN直接连接设备,减少了中继和性能瓶颈的问题。
总的来说,P2PVPN适用于需要直接设备之间通信的场景,而传统VPN更适合连接到中央网络或提供受保护资源访问的场景。选择哪种技术取决于特定的用途和需求。
P2PVPN的两个Point的连接建立
c
P2PVPN ,刚开始的时候怎么验证是否在线?
P2PVPN在建立连接时通常会涉及一些验证和发现过程,以确定设备是否在线。以下是一些常见的方法来验证设备在线状态:
Rendezvous服务器:P2PVPN系统可能使用中继服务器(也称为rendezvous服务器),设备在初始连接时会与该服务器通信。服务器负责记录在线设备的信息,如IP地址和端口。设备可以定期向服务器发送心跳信号以表示在线状态,或者服务器可以在设备首次加入网络时记录其信息。其他设备可以从服务器获取在线设备的信息,然后直接连接到目标设备。
NAT穿越:NAT(网络地址转换)设备通常用于将私有网络内的设备映射到公共互联网地址。P2PVPN系统可能使用NAT穿越技术,通过一系列协议和技巧来克服NAT的限制,以建立直接的P2P连接。这有助于设备之间直接通信,而无需中继服务器。
UPnP(通用即插即用):某些P2PVPN系统可以利用UPnP协议,该协议允许设备自动配置路由器以便进行P2P通信。当设备启动时,它可以尝试配置路由器以允许P2P连接。
Peer Discovery:P2PVPN应用程序可能使用对等发现协议,通过向局域网内的其他设备广播或查询来查找其他在线设备。一旦发现其他设备,它们可以建立直接连接。
这些方法可以单独使用或组合使用,以帮助P2PVPN设备验证对等设备是否在线并建立连接。选择的方法取决于P2PVPN系统的设计和要求。不同的P2PVPN应用程序和协议可能使用不同的方法来实现在线设备的验证和发现。
基于P2PVPN 的 ZeroTier
c
ZeroTier 这一类 P2P VPN 是在互联网的基础上将自己的所有设备组成一个私有的网络,可以理解为互联网连接的局域网。最常见的场景就是在公司可以用手机直接访问家里的 NAS,而且是点对点直连,数据传输并不经由第三方服务器中转。
Zerotier 在多设备之间建立了一个 Peer to Peer VPN(P2PVPN) 连接,如:在笔记本电脑、台式机、嵌入式设备、云资源和应用。这些设备只需要通过 ZeroTier One ( ZeroTier 的客户端) 在不同设备之间建立直接连接,即使它们位于 NAT 之后。连接到虚拟 LAN 的任何计算机和设备通常通过 NAT 或路由器设备与 Internet 连接,ZeroTier One 使用 STUN 和隧道来建立 NAT 后设备之间的 VPN 直连。
简单一点说,Zerotier 就是通过 P2P 等方式实现形如交换机或路由器上 LAN 设备的内网互联。
c
ZeroTier 官方搭建了一个行星根服务器叫做 地球 Earth,这个行星根服务器是唯一且是免费的,它记录了所有的路径信息,一般情况下大家都直接用的这个。
行星根服务器 R 记录了所有的路径信息,设备 A 能通过 ZeroTier 唯一地址标识找到需要连接的设备 B。这个过程如下:
A 想要将数据包发送到 B,但由于它没有直接路径,因此将其向上发送到 R。
如果 R 有直接链接到 B,它会转发数据包给 B。否则它会继续向上游发送数据包,直到达到行星根 (planet)。行星根知道所有节点,所以如果 B 在线,最终数据包将到达 B。
R 还向 A 发送一个消息,包含有关它如何到达 B 的提示。同时,将消息发给 B,通知 B 它如何到达 A。
A 和 B 获取它们的消息并尝试相互发送测试消息,可能会对 NAT 或状态防火墙进行穿透。如果这样可以建立直接链路,则不再需要中继。
如果无法建立直接路径,则通信可以继续中继 (速度慢)
除此之外还有 12 个遍布全球的根服务器,这些是收费的服务。由于 Earth 在国外,如果使用免费套餐,连接时的延迟可能会很高。不过 ZeroTier 能自己创建根服务器 月球 Moons,这样我们就能在大局域网中得到更好的体验了。