通过ZerotierOne远程连接家中的设备

发布于 2020-11-17  2813 次阅读


ZerotierOne可以帮你把家里的设备和公司的设备组建一个虚拟的网络,帮你建立设备间的P2P连接,数据传输更安全,免去了自己组建VPS转发数据的不便。

首先进入Zerotier的官网,注册一个账号,然后创建一个Private的网络,这时可以拿到一个网络ID,后面只要在各个设备上安装ZerotierOne的客户端,通过网络ID加入你创建的私密网络,就可以组建成一个类似于局域网的虚拟网络。

家中的笔记本比较老旧,无法直接安装编译好的二进制包,只好自行编译,好在也很简单。

https://github.com/zerotier/ZeroTierOne/tree/fe1ce885a04ae68894b8a8fc1892db212addbf6e

先下载项目,在运行下面命令进行编译安装:

make && make install

Linux 下编译安装会自动安装好/var/lib/zerotier-one 文件夹下(不同系统目录不同,参考github项目首页README中的说明)

进入安装目录:

 cd /var/lib/zerotier-one

运行zerotier:

./zerotier-one -d

加入网络,加入网络后会自动保存,以后启动会自动加入该网络

./zerotier-cli join <network-id>

编写启动脚本

cd /etc/systemd/system
vim zerotier-one.service

输入如下的内容

[Unit]
Description=Serive to ZeroTierOne
After=network.target

[Service]
Type=simple
PIDFile=/var/lib/zerotier-one/zerotier-one.pid
ExecStartPre=cd /var/lib/zerotier-one
ExecStart=zerotier-one
Restart=on-failure

[Install]
WantedBy=multi-user.target

设置开机启动

systemctl enable zerotier-one

立刻启动zerotier-one

systemctl start zerotier-one

查看zerotier的运行状态

systemctl status zerotier-one

ps aux | grep zerotier-one

netstat -anp | grep 9993  # default listen port is 9993

由于在ZeroTier控制台创建的是一个PRIVATENetwork所以需要手动认证该设备(Auth的单选框中打勾)

回到client终端,查看虚拟网络信息:

ifconfig

ztppise7ul: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 2800
        inet 192.168.195.100  netmask 255.255.255.0  broadcast 192.168.195.255
        inet6 fe80::944f:4cff:fecf:cfba  prefixlen 64  scopeid 0x20<link>
        ether 96:4f:4c:cf:cf:ba  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 19  bytes 1496 (1.4 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

参考

https://www.cnblogs.com/architectforest/p/12678142.html


风雨兼程路,雨雪初霁时