Openwrt中ZeroTier更新客户端 member id的方法
最近我在用PVE虚拟机安装OpenWrt和ZeroTier,一切都配置得好好的,然后为了方便,我直接克隆了这个虚拟机镜像到另一台机器上。本以为省事了,结果在ZeroTier的服务器管理页面上看到,这两台机器居然共用一个member id!这明显是错的啊,每台虚拟机应该有自己的独立身份才对。服务器肯定懵了,以为是一台机器在到处乱跳。我一开始还以为是ZeroTier服务器抽风了,查了半天才发现是克隆的时候,identity文件没变,导致身份识别重复了。真是烦人,这种小细节最折腾人。

问题根源
当你使用PVE或者VMware等虚拟机安装好ZeroTier后,如果直接克隆到另一个虚拟机上,由于ZeroTier的identity文件(包括私钥和ID)是保存在本地的,克隆过程不会自动更新这些文件。结果就是,两台机器用的还是同一套身份信息,在ZeroTier服务器上看到的就是同一个member id。这显然不对,因为每台设备都应该有唯一的id,否则网络路由和权限管理都会乱套。
解决方法
要解决这个问题,就得重新生成member id。方法很简单,先在OpenWrt上把ZeroTier服务停掉,然后删除那些旧的identity文件,再重启服务就行了。这样ZeroTier就会自动生成新的身份信息,服务器也会识别成新设备。
具体操作步骤:
首先,停止ZeroTier服务。在OpenWrt的SSH命令行里执行:
/etc/init.d/zerotier stop
然后,删除identity相关文件。这些文件通常在
/etc/config/zero/目录下,文件名类似identity.public和identity.secret。用rm命令删除:
rm /etc/config/zero/identity.*
最后,重新启动ZeroTier服务:
/etc/init.d/zerotier start
完成之后,去ZeroTier服务器页面看看,应该就能看到一台新设备出现了,member id也是全新的。以后克隆虚拟机时,记得顺手处理一下这个步骤,省得后续麻烦。不过要注意,删除identity文件后,这台设备在ZeroTier网络里的所有配置(比如IP分配)都会重置,可能需要重新授权和设置。
唉,这种问题说大不大,但没遇到的时候真容易抓瞎。希望以后ZeroTier能自动处理克隆场景吧,不然每次都得手动搞一遍。
点击链接加入群聊四群:722808830
点击链接加入群聊三群:751529538(已满)
点击链接加入群聊二群:376877156(已满)
点击链接加入群聊一群:622891808(已满)
饿了么红包
本站附件分享,如果附件失效,可以去找找看