玩客云armbian系统基于zerotier实现异地组网
系统
使用的固件为Armbian-unofficial 24.5.1 Jammy with Linux 6.6.32-current-meson
该固件基于 Ubuntu 22.04
版本,当然你也可以选择别的,下载输入固件时只需要下载后缀带有 burn
的即可直接通过晶晨烧录工具刷入,刷机教程可参考这篇文章:玩客云刷入openwrt系统
Github地址: hzyitc/armbian-onecloud: Armbian for onecloud. 玩客云用armbian (github.com)
本文使用的固件:这里
正文
更换镜像源
因为本文使用的系统基于 ubuntu
构建,加上玩客云为arm架构,所以我们只需要将软件源更换为 ubuntu-ports
即可
同理,基于
debian
则只需要更改为debian
的镜像源即可
以中科大镜像源为例
一行命令修改镜像源
1 | sudo sed -i -e 's@//ports.ubuntu.com/\? @//ports.ubuntu.com/ubuntu-ports @g' \ |
或手动修改
1 | nano /etc/apt/sources.list |
1 | deb http://mirrors.ustc.edu.cn/ubuntu-ports jammy main restricted universe multiverse |
如果是其他的 ubuntu
系统,更换到这里也就完事了,但是 armbian 还有一步操作
手动添加公钥
1 | curl -fsSL https://mirrors.ustc.edu.cn/armbian/armbian.key | gpg --dearmor -o /usr/share/keyrings/armbian-archive-keyring.gpg |
编辑 /etc/apt/sources.list.d/armbian.list
在 deb
和后面的链接中插入
1 | [signed-by=/usr/share/keyrings/armbian-archive-keyring.gpg] |
并将 apt.armbian.com
修改为 https://mirrors.ustc.edu.cn/armbian
整个配置类似
1 | deb [signed-by=/usr/share/keyrings/armbian-archive-keyring.gpg] https://mirrors.ustc.edu.cn/armbian jammy main jammy-utils jammy-desktop |
除非你使用了和本文相同的镜像,否则不建议你直接复制上面的配置,而是请手动修改文件
更新软件源
1 | sudo apt-get update && apt-get upgrade -y |
安装并配置zerotier
这里直接使用官方脚本一键安装
1 | curl -s https://install.zerotier.com | sudo bash |
为了后续更新方便,这里也可以将 zerotier 软件源更换为中科大镜像
编辑 /etc/apt/sources.list.d/zerotier.list
1 | sudo sed -i 's|http://download.zerotier.com|https://mirrors.ustc.edu.cn/zerotier|g' /etc/apt/sources.list.d/zerotier.list |
修改为的文件如下
1 | deb [signed-by=/usr/share/keyrings/zerotier-debian-package-key.gpg] https://mirrors.ustc.edu.cn/zerotier/debian/jammy jammy main |
首先前往 zerotier创建一个 NetWork并记录网络id
然后输入(自行替换下面的id为你自己的)
1 | sudo zerotier-cli join <id> |
会提示 200 join OK
然后回到网页,找到网络下的 Members
,给玩客云授权
稍等一下回到终端,输入 ifconfig
会显示虚拟网卡和虚拟ip地址,记录下这两个值
比如我的就是 ztk4jctlrp
和 10.243.185.19
同时可以找到我的物理网卡为 eth0
如果输入
ifconfig
报错,只需要输入sudo apt install net-tools
后即可
开启ip转发功能
1 | sysctl -w net.ipv4.ip_forward=1 |
配置防火墙
1 | sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE |
注意,请自行修改其中的
ztk4jctlrp
为你的虚拟网卡,eth0
为你的物理网卡
回到 zerotier 后台,新增一条路由规则
需要先知道你本地的ip地址,一般家里ip为
192.168.x
开头,前面的目的地址即填写192.168.x.0/24
,后面的路由填写玩客云的虚拟ip地址,如下
然后在手机或者其他设备上下载 zerotier 客户端,用流量尝试 ping 一下内网的ip,或者访问下内网的设备,能访问或者ping通即成功