ZeroTier
ZeroTier 是一个跨平台且易于使用的虚拟 LAN / Hamachi 替代方案,也可在 Android、iOS、Mac 和 Windows 上使用。根据开发者的说法,GUI 仅在 Mac 和 Windows 上可用。
安装
安装 zerotier-one 软件包。
配置
您需要在 My ZeroTier 上创建一个帐户,并创建一个网络,然后选择您所需的选项,例如支持 IPv4 或 IPv6 或两者都支持。记下新创建的网络 ID,因为您稍后将需要它。
保持您将使用的网络页面处于打开状态,因为您需要授权您连接的每台计算机或设备,并验证它们是否获得了 IP。
要开始,启动 zerotier-one.service
,如果希望它在启动时启动,请启用 zerotier-one.service
。要找出您的计算机 ID(一个类似于 89e92ceee5 的 10 位十六进制数字),请运行
# zerotier-cli info
200 info 89e92ceee5 1.2.4 ONLINE
其中 89e92ceee5 是地址,1.2.4 是版本,后跟其状态。
接下来,您需要加入一个网络
# zerotier-cli join network_id
网络 ID 是一个 16 位十六进制数字,例如 8056c2e21c000001,您可以在“网络”页面上找到它。
返回 my.zerotier 上的网络页面,向下滚动到“成员”部分,您应该看到所有已加入的地址。要授权每台计算机或设备,请选中最左侧的复选框,并验证是否已为其分配了 IP 地址(这可能需要 10 或 20 秒)。您可能需要运行 dhcpcd 以在本地获取新的 IP 地址。
要验证所有设备是否可以相互看到,您可以使用其关联的 IP ping 每个地址,如下所示
$ ping 192.168.192.91
PING 192.168.192.91 (192.168.192.91) 56(84) bytes of data. 64 bytes from 192.168.192.91: icmp_req=1 ttl=53 time=52.9 ms ...
也可以通过运行以下命令查看连接的对等节点
# zerotier-cli listpeers
200 listpeers <ztaddr> <path> <latency> <version> <role> 200 listpeers 12ac4a1e71 87.98.218.130/30883;12;12;1.00 589 1.2.5 LEAF 200 listpeers 8841408a2e 159.203.2.154/9993;13262;13220;1.00 127 1.1.5 PLANET 200 listpeers 9d219039f3 159.203.97.171/9993;13241;3218;1.00 63 1.1.5 PLANET ...
并通过运行以下命令查看计算机连接到的网络列表
# zerotier-cli listnetworks
手动配置
可以通过在程序的 home 目录 /var/lib/zerotier-one
中创建文件 local.conf
来实现手动配置。这允许您设置各种配置选项,例如将服务限制为特定接口,或强制使用不同的端口。此文件必须是有效的 JSON,因为它可能会被 zerotier-one 重写。下面是一个 local.conf
示例,它停止 zerotier-one 使用 docker 和桥接接口
local.conf
{ "settings": { "interfacePrefixBlacklist": [ "docker", "br-" ] } }
有关可用配置项的更多信息,请访问程序的 GitHub 存储库。
故障排除
虚拟网络中的设备无法访问
检查 zerotier-one.service
的单元状态。如果您看到以下错误,则可能未加载 TUN/TAP 内核模块
ERROR: unable to configure virtual network port: could not open TUN/TAP device: No such file or directory
重新启动应该可以解决问题。