(已解决)关于openwrt路由器重启后zerotier的ip变化处理

文章讲述了在Openwrt系统中,由于ZeroTier的配置信息在重启后丢失导致MAC地址改变,从而影响IP分配的问题。解决方案包括将ZeroTier配置备份到/etc/目录,启动时自动恢复,并删除zerotier-one.pid文件以避免PID不匹配的问题。通过这些步骤,设备重启后能保持网络连接并自动获取IP地址。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:每次重启Openwrt后,ZeroTier的虚拟网卡MAC地址会改变。导致网站后台认为是一台新设备,重新分配IP地址。

原理:

①:linux中,ZeroTier参数启动后文件放置在/var/lib/里。
②:重启或者掉电后,var中的数据都会被清理掉。
③:所以,这次配置成功的配置,下次起来后就没有了。
④:因此,知道原因后,就可以将当前配置存放到掉电后不会掉数据的磁盘上,
可以放在/etc下,这个是设备的配置文件,掉电后不会丢失。

1、当前先配置好zerotier,保证可以拿到ip地址。

2、 将整个zerotier 复制到断电不掉数据的/etc下做备份。
cp -a /var/lib/zerotier-one /etc/zerotier

3、(关键步骤和解释)
①:复制后,删掉 /etc/zerotier/下的zerotier-one.pid文件
②:这个文件中记录了后台的zerotier的进程号
③:之所以要删掉,是因为路由器下次启动起来后,zerotier的进程号可能已经不是当前这个pid号了。
④:这个不删掉,我们下一步将/etc/zerotier文件夹的东西全部复制到/var/lib/zerotier-one后,
虽然环境都还原了上次配置成功的环境,但此时文件中记录的pid号和后台真实的pid号对应不上,
就会出问题,但是去官网查看时,设备确实mac地址也没变,分配的ip地址也没变,会导致设备拿不到
ip地址。此时你也可以尝试,重新再加入下网络,发现加入成功,ip地址也拿到了,它加入网络的时候,
会重新在/var/lib/zerotier-one下创建zerotier-one.pid。所以,要删掉!!!

4、设备重启后,启动脚本中需要将复制的东西还原到var下,命令:
cp -a  /etc/zerotier /var/lib/zerotier-one

5、启动脚本中添加如下命令,保证下次重启,自动还原环境,然后重新加入网络。
vi /etc/rc.local 打开这个文件后:添加下面的内容:
cp -a /etc/zerotier /var/lib/zerotier-one
sleep 5
/usr/bin/zerotier-one &
sleep 5
zerotier-cli join 网络号   

综上所述,你的路由器就可以重启,重启后也可以拿到ip地址,也不用去页面点击授权了,非常方便。

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值