小李同学 keep digging deeper
内网穿透

内网穿透:树莓派中搭建Zerotier

— 字

ZeroTier 把几台分散的设备组成一个虚拟局域网,树莓派上用 Docker 跑一个节点就行。

镜像:https://hub.docker.com/r/bltavares/zerotier

树莓派是 ARM 架构,换别的镜像前先看它支不支持 ARM。

先去官网拿 Network ID

https://my.zerotier.com/network 注册后建一个网络:

启动容器

docker run --device=/dev/net/tun \
--net=host \
--cap-add=NET_ADMIN \
--cap-add=SYS_ADMIN \
-v /home/docker/zerotier-one:/var/lib/zerotier-one \
--name zerotier-one \
-d bltavares/zerotier

几个参数不能省:/dev/net/tun 是建虚拟网卡用的;NET_ADMIN 和 SYS_ADMIN 给容器改网络配置的权限;--net=host 让它直接管宿主机的网络。

/home/docker/zerotier-one 是本地目录,换成你自己的。里面存的是节点身份,删了就得重新加入网络。

执行完会返回一串容器 ID,这个不用管:

加入网络

把控制台上的 NETWORK ID 拼到命令最后,在树莓派上执行:

docker exec zerotier-one zerotier-cli join NETWORK-ID

出现 200 join OK 就是加进去了:

在控制台授权

回到 ZeroTier 控制台,把新出现的设备勾上授权:

授权前设备会显示未加入,这是正常状态。过一会儿就能用分配到的虚拟 IP 直接访问树莓派了。

本文作者 小李同学,转载请注明出处。

评论

还没有人留言。

写一条

提交后会先进站主的待审列表,通过之后才公开。

搜索文章

输入关键词搜索文章。