树莓派安装Zerotier 作者: 毕世平 时间: 2025-09-30 分类: 默认分类 前言:在尝试使用`frp内网穿透`和`ipv6公网ddns`操作后,始终觉得不如意,一是速度不理想,二是需要有自建服务器或者还需要有购买域名。于是,我把内网穿透目标看向了开源免费的`zerotier vpn`。 本文主要是参考网上教程,记录下在树莓派`Raspbian`系统上安装`zerotier vpn`的方法,之后添加转发规则,使得在外面连接上`vpn`之后,可以直接访问同局域网下的设备(比如路由器后台)成为可能。 ## 一、安装配置Zerotier ### 1.1 安装 `ssh`登录树莓派后台,因为`pi`默认在`sudo`用户组,那么直接执行下面脚本安装即可: # 执行一键脚本安装zerotier curl -s https://install.zerotier.com | sudo bash ### 1.2 配置 在进行下面一步操作之前,需要已经注册好[zerotier官网](https://my.zerotier.com "zerotier官网")的账号,并且已经添加好一个`Network`,即已经获取到了一个`Network ID`,并选择好了连接到`VPN`后自动被分配到的`ipv4地址网段`。 # 假定添加创建的Network ID是abcd1234,局域网网段是192.168.192.0/24(允许设备接入,它会自动签发地址,后续也可手动修改) # 树莓派端执行如下命令,加入Network sudo zerotier-cli join abcd1234 # 来到Zerotier官网网页端,刷新网页,会看到有一个新的加入请求,选中,授权加入即可(操作如下图) # 重启zerotier-one服务 sudo systemctl restart zerotier-one  ## 二、配置局域网访问 ### 2.1 获取一些关键信息 本文假定是树莓派所在局域网网段是`192.168.10.0/24`网段,然后配置连接上`zerotier vpn`之后,被自动分配到`192.168.192.0/24`网段,那么执行`ifconfig`查看详细信息,如下图:  从上图可知,树莓派通过`eth0`与家庭局域网连接,`zerotier vpn`创建的虚拟网络接口名称是`zt5bhzwejr`,且网段分别在`192.168.10.0/24`和`192.168.192.0/24`。 ### 2.2 添加转发及路由规则 想要通过树莓派访问家庭局域网设备,需要先开启`ipv4流量转发`,执行下面命令: # 添加一行 sudo echo net.ipv4.ip_forward=1 >> /etc/sysctl.conf # 如果树莓派接入的是双栈网络(同时有ipv4和ipv6),那么可同时配置开启ipv6转发 sudo echo net.ipv6.conf.all.forwarding=1 >> /etc/sysctl.conf # 使之生效 sudo sysctl -p 然后添加路由规则,由于树莓派所在局域网网段是`192.168.10.0/24`,树莓派我手动修改了它接入`zerotier vpn`后获得的IP地址是`192.168.192.100`,那么在`zerotier官网`添加路由规则如下图:  ### 2.3 添加规则 执行如下命令,添加`iptables`规则 # 添加nat规则 sudo iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE sudo ip6tables -t nat -A POSTROUTING -o eth0 -j MASQUERADE # 添加filter规则 sudo iptables -t filter -A FORWARD -i eth0 -o zt5bhzwejr -m state --state RELATED,ESTABLISHED -j ACCEPT sudo iptables -t filter -A FORWARD -i zt5bhzwejr -o eth0 -j ACCEPT ### 2.4 规则持久化 开机情况下添加的`iptables`规则即时生效,重启即丢失,那么安装下面这个软件解决问题: # 更新源 sudo apt update # 安装iptables-persistent服务,安装过程中会提示保存当前ipv4和ipv6规则,全部选OK即可 sudo apt -y install iptables-persistent # 查看服务状态 sudo systemctl status netfilter-persistent # 保存防火墙规则到 /etc/iptables 目录下,分别是 rules.v4 和 rules.v6 ,开机会自动从文件恢复 sudo netfilter-persistent save ## 参考链接: - [Zerotier官方安装文档](https://www.zerotier.com/download/#linux "Zerotier官方安装文档") - [Linux上配置zerotier的局域网访问](https://blog.csdn.net/w267us8/article/details/128950906 "Linux上配置zerotier的局域网访问") 标签: none