一、安装软件包
使用Xshell等工具进入pfSense终端,以root用户运行以下命令:
pkg add https://pkg.freebsd.org/FreeBSD:12:amd64/quarterly/All/zerotier-1.6.2.txz
二、修改配置文件
在启动ZeroTier服务之前,需要手动修改两个文件。导航到防火墙>系统诊断>编辑文件。
打开etc>rc.conf文件,添加以下内容并保存:
zerotier_enable="YES"
打开etc>sysctl.conf,添加以下内容并保存:
net.link.tap.up_on_open=1
三、启动ZeroTier服务
转到防火墙>系统诊断>命令行(或终端下),输入以下命令:
service zerotier start
四、加入ZeroTier网络
导航到防火墙>系统诊断>命令行(或终端下),输入以下命令:
zerotier-cli join e5cd7a9e1c######
注:蓝色部分是你在ZeroTier网站上创建的网络ID。
五、添加路由
加入ZeroTier网络后,还必须在ZeroTier网站上进行授权,才能进行路由设定、网络互访。设置完成以后,可以在pfSense上ping其他路由的子网来测试网络是否连通。
重启防火墙后,必须重复第三、四步操作。
六、ZeroTier运行参数
在终端输入:zerotier-cli help,可以查看命令参数。
用法: zerotier-cli [-参数] <command/path> [<args>]
可用参数:
-h – 显示帮助信息
-v – 显示版本
-j – 显示完整的原始JSON输出
-D<path> -ZeroTier主路径,用于参数自动检测
-p<port> – HTTP端口 (默认: auto)
-T<token> – 认证令牌 (默认: auto)
可用命令:
info – 显示状态信息
listpeers – 显示所有的远程端
peers – 显示所有的远端连接 (列表)
listnetworks – 显示所有网络
join <network> – 加入一个网络
leave <network> – 离开一个网络
set <network> <setting> – 设置网络设置
get <network> <setting> – 获得网络设置
listmoons -显示moons (联合根集)
orbit <world ID> <seed> – 通过任意根成员加入moon
deorbit <world ID> – 离开一个moon
ZeroTier网络的详细设置,请参考这篇文章。
七、已知问题
由于该插件不是为pfSense定制,在防火墙重启后服务将不能自动运行,需要手动运行一次命令。国外网友已经为pfSense开发了ZeroTier的Web界面的管理程序,只需安装到pfSense中就能使用。可能是没适配2.45-1版本的原因,我在测试时提示ZeroTier服务没启动,无法进行设置。插件在这里下载,安装视频请点击这里。
根据pfSense的开发进度,ZeroTier将可能作为插件在2.5中提供