Tailscale是一项虚拟专用网络 (VPN) 服务,可以让您从全球任何地方安全轻松地访问您的设备和应用。它使用开源 WireGuard 协议实现安全直接的通信,确保只有您的专用网络内的设备才能相互建立通信。Tailscale 客户端软件可以安装在多种操作系统上,包括 Linux、Windows、macOS、Android、iOS、OPNsense、pfSense 等。它用于在安全的 Tailscale 网状网络内建立设备之间的连接。与典型的WireGuard服务器配置相比,Tailscale 的优势在于无需进行端口转发。
近期,OPNsense推出了Tailscale插件,在OPNsense上使用Tailscale更加便捷。本文介绍在OPNsense防火墙安装配置Tailscale的方法。
教程使用的防火墙软件版本为24.7.11,Tailscale插件版本1.0。
安装Tailscale
在OPNsense防火墙中,导航到转到系统>固件,插件选项卡,搜索tailscale并安装。
配置Tailscale
获取预认证密钥
注册tailscale帐号,登录tailscale控制面板,单击右上角的Settings选项栏,然后单击左侧边栏的Keys,再单击Generate auth key,生成预认证密钥,单击复制图标,保存生成密钥。
输入预认证密钥
导航到VPN>Taliscale>认证菜单,粘贴预认证密钥并应用。
启用tailscale
转到VPN>Tailscale>设置菜单,选中启用,监听端口使用默认值,勾选允许子网路由选项,如果需要防火墙做为tailscale远程客户端的出口节点,请选中接受DNS和通告出口节点选项。设置完成点击应用。
添加通告路由
为了让tailscale客户端顺利访问防火墙内部子网,需要添加通告路由。转到通告路由选项卡,添加防火墙LAN子网。
分配接口
如果需要精细控制tailscale流量,可以分配tailscale接口并设置防火墙规则。
导航到接口>分配,添加tailscale接口。
启用新添加的接口,接口不需要设置任何IP地址。
添加防火墙规则
导航到防火墙>规则,tailscale接口,添加一条防火墙规则。本示例添加了一条any to any规则,你也可以添加更精细的控制规则。
至此,OPNsense上的tailscale设置全部完成。
控制器配置
禁用密钥过期
默认密钥最多只有90天的有效期,为方便长期使用,可以禁用密钥过期。登录Tailscale控制器面板,在主机部分,找到上线的OPNsense防火墙,点击右侧更多选项图标,如下图所示:
单击disable key expiry,禁用密钥过期。
添加通告路由
控制器添加在OPNsense上配置的通告子网,以便让tailscale客户端顺利访问防火墙LAN子网。点击右侧的更多选项图标,单击Edit route settings,编辑路由设置。选中OPNsense上设置的通告路由子网。如果需要将防火墙做为出口节点使用,请选中Use as exit node选项。
测试连接
在远程客户端上安装tailscale应用程序,并使用同一帐号登录连接tailscale,然后ping OPNsense防火墙的LAN地址(延迟较高是因为开了代理):
浏览器输入防火墙LAN地址,检查是否能正常打开OPNsense的登录界面。如果客户端需要将OPNsense做为出口节点,需要在tailscale应用程序上选中出口节点,此时访问ip111.cn,出口公网地址应该会更改为防火墙的出口地址。
注意:如果防火墙后面的客户端不能与远程客户端连接,尝试启用UPnP和NAT-PMP设置,并选中允许NAT-PMP端口映射选项。详细原因请参阅这里。
其他说明
如果不需要精细控制流量,可以不添加接口和防火墙规则。