pfSense安装配置ZeroTier教程

ZeroTier是一个分布式网络虚拟机管理程序,建立在加密安全的全球对等网络之上。它提供与企业 SDN 交换机同等的高级网络虚拟化和管理功能,而且可以跨本地和广域网连接几乎任何类型的应用程序或设备。

OPNsense已集成ZeroTier插件,pfSense官方还没发布该插件,但ZeroTier有FreeBSD平台的安装包,这为我们在pfSense上安装ZeroTier提供了途径。

一、安装软件包

第一步,先安装Zerotier软件包。

方法一:使用Xshell等工具进入pfSense终端,以root用户运行以下命令:

pkg add -f https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/zerotier-1.10.4.pkg

方法二:下载zerotier-1.10.4.pkg,解压缩后上传到pfSense后台,然后在pfSense shell环境下执行以下安装命令:

pkg install zerotier-1.10.4.pkg

第二步,安装pfSense-pkg-zerotier软件包,这个软件包提供了在pfSense web界面管理zerotier网络的功能。

下载pfSense-pkg-zerotier-cn软件包,解压缩后上传到pfSense后台,然后在pfSense shell环境下执行以下安装命令:

pkg install pfSense-pkg-zerotier-cn.pkg

注意,这里必须用pkg install进行安装,如果是pkg add 会提示这个程序只能在FreeBSD 13下运行。

二、修改配置文件

在启动ZeroTier服务之前,需要手动修改两个文件。导航到防火墙>系统诊断>编辑文件。

打开etc>rc.conf文件,添加以下内容并保存:

zerotier_enable="YES"

打开etc>sysctl.conf,添加以下内容并保存:

net.link.tap.up_on_open=1

三、启动ZeroTier服务

导航到VPN>Zerotier>配置,选中启用。

service zerotier start

四、加入ZeroTier网络

导航到VPN>Zerotier>网络,点击添加,加入网络。

注:蓝色部分是你在ZeroTier网站上创建的网络ID。

五、添加路由

加入ZeroTier网络后,还必须在ZeroTier网站上进行授权,才能进行路由设定、网络互访。ZeroTier网络的详细设置,请参考这篇文章

六、菜单设置

导航到VPN>zerotier,在网络选项卡,可以看到分配的IP地址。

在peers列表中,看到各节点信息。

七、分配接口

这里与OPNsense Zerotier网络配置示例教程一样,分配接口不是必须的,如果只是节点之间互相访问,只需启用网络即可。如果要访问防火墙后面的子网,就必须分配接口并添加规则。

注意:要给该节点分配接口,必须在Zerotier门户网站上将该节点IP地址的自动分配改为手动分配,如下图所示(引用在OPNsense中配置的图片,仅供参考):

然后导航到到”接口>”菜单项,单击分配。这里可以找到一个以zt开头的新接口。单击+符号进行分配。打开新添加的接口并启用,可以将接口的“描述”更改为ZT,以方便记忆,IPv4地址填写在ZeroTier门户网站上手动分配的IP地址。

八、添加防火墙规则

给ZeroTier使用的接口添加一个any to any的规则。

将防火墙内部客户端所使用的默认网关修改为默认值(或Automatic)或指定接口这一步非常重要,由于本人使用的是双线负载,在默认网关使用负载平衡功能时,发现内部客户端无法正常连接到ZeroTier网络中的其他节点,改为默认后访问正常。

网关修改为默认。

当然,解决办法也有,添加一条防火墙规则,将访问ZeroTier其他网络节点设置为使用默认网关或指定网关,并将规则放在多线负载规则的前面即可。如下图所示:

ZT是访问其他ZeroTier节点的网络地址别名。

九、测试

经过以上设置,ZeroTier网络的各个节点之间可以相互进行访问了。

在防火墙上ping另一个节点(OPENWRT):

从防火墙内部客户端ping OpenW r t后面连接的NAS服务器:

访问一切正常。

十、其他

近期作者对插件进行了更新,经过近半个月的测试,现在该插件已基本处于可以稳定使用的状态,重启以后也可以正常使用。由于插件仍处于开发阶段,还未被官方正式收录,在安装使用中,有可能会造成防火墙假死、无法访问网络、CPU占用增加等问题,建议只在试验环境中使用。该插件由国外网友ChanCM独立完成,文末已附上编译好的安装包且已汉化,测试视频请点击这里

注意:在多WAN网络环境中,如果出站做了负载平衡策略,那么客户端可能不能连接远程网络。可以新建一个别名ZTNET,包含RFC1918网络或ZeroTier所使用的远程网络,指定某一个网关出站(或默认网关)并放在规则列表的前面。

十一、pfSense plus 23.01安装Zerotier方法

由于内核升级,ChanCM开发的插件无法在pfSense plus 23.01上安装运行,新版本只能通过命令行运行。下面介绍安装配置方法。

1、安装软件包

在防火墙shell环境下,运行以下命令并根据提示进行安装:

pkg add -f https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/zerotier-1.10.4.pkg

或下载后运行以下命令进行安装:

pkg install zerotier-1.10.4.pkg

2、修改防火墙配置文件

找到etc>rc.conf文件,添加以下内容:

zerotier_enable="YES"

找到etc>sysctl.conf,添加以下内容:

net.link.tap.up_on_open=1

3、启动zerotier

service zerotier start

重启命令:

service zerotier restart

停止命令:

service zerotier stop

4、加入zerotier

zerotier-cli join e7cd7a9e3cfdd712

如果提示命令出错,重启一下防火墙。

5、授权路由

进入zerotier网站,添加防火墙访问路由。

6、添加接口

导航到分配>接口,找到以zt字母开头的接口,添加一个新接口,静态地址输入Zerotier网站分配的地址,子网掩码为16,网关留空。

7、添加防火墙规则

导航到防火墙>规则策略,在新接口上添加一条any to any规则。

8、添加开机启动项

安装Shellcmd插件,添加以下启动命令,命令类型:shellcmd

service zerotier start

9、已知问题

防火墙后面的客户端访问远程客户端正常,远程可以正常访问防火墙,但无法访问防火墙后面的客户端。

附:zerotier-cli命令列表

可用的参数:

-h                                                 – 显示帮助信息
-v                                                 – 显示版本
-j                                                  – 显示完整的原始JSON输出
-D<path>                                     – 用于参数自动检测的ZeroTier主路径
-p<port>                                      – HTTP端口(默认:auto)
-T<token>                                   – 认证令牌 (默认: auto)

可用的命令:

info                                             – 显示状态
listpeers                                     – 列出所有同行
peers                                         – 列出所有同行(更漂亮的输出)
listnetworks                               – 列出所有网络
join <network ID>                      – 加入网络
leave <network ID>                   – 离开网络
set <network ID> <setting>       – 网络设置
get <network ID> <setting>       – 获取网络设置
listmoons                                   – 列出moons (联合根集)
orbit <world ID> <seed>            – 通过任意成员根加入moon
deorbit <world ID>                     – 离开moon
dump                                         – 用于支持的调试设置转储

评论

  1. cj
    1年前
    2022-12-01 21:46:53

    感谢您的教程,很有帮助!

  2. wshf
    1年前
    2023-3-24 8:07:14

    zerotier-1.10.3.txz文件下载不了,https://pkg.freebsd.org/FreeBSD:13:amd64/latest/All/这个链接不存在

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇