Zerotier虚拟局域网在树莓派的应用和Syncthing配合Zerotier实现端到端文件同步
一、Zerotier的部署
1、官网注册账号
https://my.zerotier.com/i
2、选择linux系统,执行安装Zerotier
curl -s https://install.zerotier.com | sudo bash
3、将树莓派网络加入Zerotier
zerotier-cli join DB62228FEDF6CE55
DB62228FEDF6CE55 为你的Zerotier IP 需要在官网查看,替换成官网的
4、电脑端在官网下载https://my.zerotier.com/initial-onboard
zerotier的适配系统的版本,根据提示加入网络的命令,在电脑端输入加入秘钥,加入到同一个zerotier网络里,在官网授权设备。
这样电脑端和树莓派就实现了虚拟局域网跨平台跨网络的连接。
二、Syncthing的部署
1、在树莓派上安装和配置 Syncthing
**安装 Syncthing**
sudo apt update
sudo apt install syncthing
**启动 Syncthing 服务**
sudo systemctl enable syncthing@pi
sudo systemctl start syncthing@pi
**查看状态**
sudo systemctl status syncthing@pi
注意:pi 为你的树莓派用户名
如果服务启动失败参考下面修复:
看起来系统用户名是 yangshuo
而不是 pi
,让我们修正命令:
- 使用正确的用户名设置权限
# 创建配置目录
mkdir -p ~/.config/syncthing
# 设置正确的所有者
sudo chown -R yangshuo:yangshuo ~/.config/syncthing/
sudo chmod -R 700 ~/.config/syncthing/
- 创建服务文件
# 创建服务文件
sudo nano /etc/systemd/system/syncthing@yangshuo.service
# 添加以下内容:
[Unit]
Description=Syncthing - Open Source Continuous File Synchronization for %I
Documentation=man:syncthing(1)
After=network.target
[Service]
User=%i
ExecStart=/usr/bin/syncthing serve --no-browser --no-restart --logflags=0
Restart=on-failure
RestartSec=5
SuccessExitStatus=3 4
RestartForceExitStatus=3 4
[Install]
WantedBy=multi-user.target
- 启动服务
# 重新加载服务配置
sudo systemctl daemon-reload
# 启用并启动服务
sudo systemctl enable syncthing@yangshuo
sudo systemctl start syncthing@yangshuo
# 查看状态
sudo systemctl status syncthing@yangshuo
注意:
- 所有命令中的
pi
都要改成yangshuo
- 确保使用正确的用户名和路径
- 服务名也要相应更改
图中是树莓派UI界面的设置,需要将127.0.0.1替换为0.0.0.0才能实现局域网设备之间的互相访问。
本地电脑也要设置成0.0.0.0
原创和求助地址
设置好共享目录,这样我们就实现了虚拟局域网之间的跨网络互通和跨网络同步本地文件夹里的文件。