![像 Hamachi 这样的自托管互联网 LAN 解决方案](https://linux22.com/image/1520090/%E5%83%8F%20Hamachi%20%E8%BF%99%E6%A0%B7%E7%9A%84%E8%87%AA%E6%89%98%E7%AE%A1%E4%BA%92%E8%81%94%E7%BD%91%20LAN%20%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88%20.png)
我想设置提供 Internet 上的 LAN 的 VPN,其方式与 Hamachi 网状服务器允许网络上的对等方使用接口上的 IP 直接通信,同时将常规流量引导至主网络适配器(例如 eth0 或 wlan0)。
我有大量资源,但似乎找不到合适的设置。我研究过 SoftEther,但它似乎不符合我的需求。
我的需求是在我的家庭服务器(具有公共 IP)上创建一个 Mesh VPN 服务器并手动连接到它(方式与 Hamachi 非常相似),以便我的同事可以与作为中央服务器的我的家庭计算机进行交互。当我不在州内时,我需要它连接到我的一些工作计算机。我主要关心的是隧道传输 UDP 流量。
是否有任何自托管的类似 Hamachi 的解决方案,它不充当网关,而是充当互联网上的 LAN?
答案1
它不充当网关而是充当互联网上的局域网?
几乎全部VPN 软件可以发挥这样的作用。事实上,这通常是默认设置。只要一开始就不配置服务器提供默认路由,就行了——你得到的 VPN 仅适用于其特定子网。
也就是说,如果你想要一个网格:
通常的建议是锡克(甚至可能是 1.1 分支)。它似乎能够在 IP 层或以太网层(交换机模式)设置带有中继的任意网状拓扑。支持广播(多播数据包作为广播处理)。
零层处于中间位置:它会尽可能尝试使用直接连接(甚至穿透 NAT),否则会回退到通过超级节点进行中继。虽然很少需要,但可以托管您自己的控制器和超级节点。支持多播和广播(有限制)。
然后是OpenVPN,它严格基于客户端-服务器。(它有一个客户端到客户端标志,但没有 NAT 打洞功能。)常规的 OpenVPN 服务器听起来对你来说很好用,但如果你将它设置为轻敲模式(与默认模式相反屯),那么它将中继任意以太网流量,而不限于 IP。
(以上所有内容均适用于 Linux、FreeBSD 和 Windows。)
最后,根据操作系统的不同,有很多轻量级的手动配置隧道类型 – 例如 GRE 或 L2TP。一旦网络发展壮大,它们就会变得有些笨重,因为您必须手动设置每个点对点链接(没有打洞;除非添加 IPsec,否则没有加密),但……它们基本上是网络的管道胶带。
请注意,可能没有任何软件支持全部平台,因此在某些情况下,您只需要在 2 个或 3 个网络之间路由数据包。例如,您可能希望在 PC 上运行 Tinc,但通过 OpenVPN 从 iPhone 连接。这很好,只要 OpenVPN 服务器有 Tinc 子网的路由,反之亦然。(对于“LAN over Internet”和您的常规的局域网。