③:所以,这次配置成功的配置,下次起来后就没有了。 ④:因此,知道原因后,就可以将当前配置存放到掉电后不会掉数据的磁盘上, 可以放在/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地址,也不用去页面点击授权了,非常方便。
Zero Tier - OpenWrt Zero Tier 已合并到官方软件包存储库中,可以使用opkg软件包管理工具进行选择。 是一个程序,用于创建独立于全球提供商的虚拟私有云。 该项目为 Zero Tier 提供 OpenWrt 软件包。 下载并将其复制到您的 OpenWrt 安装中,最好复制到/ tmp文件夹中。 然后安装 ip k软件包文件: opkg install zero tier _*. ip k 现在启动 Zero Tier : /etc/init.d/ zero tier start 要将 Zero Tier One包含到您的 OpenWrt 映像中或创建. ip k包(相当于Debians .deb文件),您必须构建一个 OpenWrt 映像。 要在Debian上构建 OpenWrt ,您需要安装以下软件包: sudo apt-get install subversion g++ zlib1g-de
from email.mime.text import MIMEText from email.header import Header from smtplib import SMTP_SSL from threading import Timer def GetWan IP (): Zero Tier 是一款非常好用的内网穿透工具,不需要配置,就能实现虚拟局域网的组建,让你可以在外也能连回家中、学校、办公室的电脑获取资料,数据。配置与使用都非常简单,堪称「 无配置,零基础」。 Zero Tier 支持 Windows、macOS、Linux 三大主流平台,iOS、Android 两大移动平台,以及 QNAP(威连通)、Synology(群晖)、Western Digital MyCloud NAS(西部数据)三个 NAS 平台,还支持 LEDE开源 路由器 项目。 # 使用步骤
要使用Python配置 OpenWrt 路由器 的网关并远程 重启 OpenWrt 路由器 ,您需要使用Python的 paramiko 库和 OpenWrt 路由器 的 SSH 访问。 以下是一个示例代码,它使用 paramiko 库连接到 OpenWrt 路由器 并执行命令来设置网关和 重启 路由器 。 ```python import paramiko # 连接到 OpenWrt 路由器 ssh = paramiko.SSHClient() ssh.set_mi ssi ng_host_key_policy(paramiko.AutoAddPolicy()) ssh.connect('192.168.1.1', username='root', password='your_password') # 设置网关 stdin, stdout, stderr = ssh.exec_command('uci set network.lan.gateway=192.168.1.254') stdin, stdout, stderr = ssh.exec_command('uci commit network') # 重启 路由器 stdin, stdout, stderr = ssh.exec_command('reboot') # 关闭 SSH 连接 ssh.close() 请注意,您需要将代码中的 IP 地址、用户名和密码替换为您的 OpenWrt 路由器 的实际值。另外,使用此代码时,请确保您已经安装了 paramiko 库。