雷达智富

首页 > 内容 > 程序笔记 > 正文

程序笔记

如何在 OPNsense 上安装和配置 Tailscale 客户端

2024-07-21 44

Tailscale 客户端是一款软件应用程序,可以安装在 Linux、Windows、macOS、Android、iOS 等操作系统上。它用于将设备连接到安全的 Tailscale 网状网络。 Tailscale 的核心是 WireGuard 协议,可确保其创建的网络中的设备之间存在安全通信。

在本文中,我们将介绍安装、配置以及如何将 OPNsense 加入 Tailscale 或 Headscale 网络。最后,您的 OPNsense 及其路由(可选)将成为 Tailscale 专用网络的一部分。与传统 WireGuard 服务器设置相比,使用 Tailscale 的优势在于 Tailscale 不需要端口转发即可工作。那么让我们开始吧。

1.配置SSH服务器

我们将通过命令行界面在 OPNsense 上安装 Tailscale 客户端。这决定了 OPNsense 上 SSH 服务器的配置,可以通过以下文章来执行。

  • 如何在 OPNsense 上启用和启动 SSH 服务器

启用 SSH 服务后,使用 ssh 客户端登录 OPNsense 控制台。

$ ssh [email 
Warning: Permanently added '192.168.1.1' (ED25519) to the list of known hosts.
Last login: Thu Jan 25 01:05:07 2024 from 192.168.1.151
----------------------------------------------
|      Hello, this is OPNsense 23.7          |         @@@@@@@@@@@@@@@
|                                            |        @@@@         @@@@
| Website:	https://opnsense.org/        |         @@@"   ///@@@
| Handbook:	https://docs.opnsense.org/   |       ))))))))   ((((((((
| Forums:	https://forum.opnsense.org/  |         @@@///   "@@@
| Code:		https://github.com/opnsense  |        @@@@         @@@@
| Twitter:	https://twitter.com/opnsense |         @@@@@@@@@@@@@@@
----------------------------------------------

*** fw01.example.io: OPNsense 23.7.12 ***

 GuestWifi (vlan020) -> v4: 172.20.40.1/24
 IoTDevices (vlan021) -> v4: 172.20.41.1/24
 LAN (igb1)      -> v4: 192.168.1.1/24
 PrivateServers (vlan030) -> v4: 172.20.30.1/24
 WAN (igb0)      -> v4: a.b.c.d/24

 HTTPS: SHA256 66 1B 87 B8 43 2C 15 45 05 57 05 1E 5E FF BB BD
               AC A6 DF 50 C9 73 FC A6 D5 88 29 10 A4 16 7B 29
 SSH:   SHA256 lmQRFUxZjpwargrS5JII5m57XW04q8gE4ZHIrO3Ub0I (ECDSA)
 SSH:   SHA256 H3emXepr/oufi2zVoVRBWCt5iJM+JTVjtReBpBOlPUc (ED25519)
 SSH:   SHA256 +vgBRjGF6QyimDHDr9Dcq7aZqxuZGUlEdi//XEVLy8E (RSA)

  0) Logout                              7) Ping host
  1) Assign interfaces                   8) Shell
  2) Set interface IP address            9) pfTop
  3) Reset the root password            10) Firewall log
  4) Reset to factory defaults          11) Reload all services
  5) Power off system                   12) Update from console
  6) Reboot system                      13) Restore a backup

Enter an option:

2. 在 OPNsense 上构建 Tailscale 客户端

本指南中使用的安装方法是从源代码构建的。使用选项 8 打开 shell

Enter an option: 8

root@fw01:~ #

然后运行 OPNsense 代码实用程序来更新端口树。

opnsense-code ports

如果没有更新,您将看到下面的消息。

Already up to date.
ABI 23.7 is no longer supported
Already up to date.

将工作目录切换到 /usr/ports/security/tailscale

cd /usr/ports/security/tailscale

然后在 OPNsense 上构建并安装 Tailscale 客户端。

make install

成功安装将产生类似于下图所示的输出。

....
gvisor.dev/gvisor/pkg/sleep
gvisor.dev/gvisor/pkg/tcpip/transport
gvisor.dev/gvisor/pkg/tcpip/ports
gvisor.dev/gvisor/pkg/tcpip/transport/tcpconntrack
tailscale.com/net/packet/checksum
gvisor.dev/gvisor/pkg/tcpip/network/hash
gvisor.dev/gvisor/pkg/tcpip/stack
github.com/pkg/sftp
gvisor.dev/gvisor/pkg/tcpip/transport/internal/noop
gvisor.dev/gvisor/pkg/tcpip/header/parse
gvisor.dev/gvisor/pkg/tcpip/transport/internal/network
tailscale.com/net/tstun
gvisor.dev/gvisor/pkg/tcpip/transport/packet
gvisor.dev/gvisor/pkg/tcpip/link/channel
gvisor.dev/gvisor/pkg/tcpip/network/internal/fragmentation
gvisor.dev/gvisor/pkg/tcpip/network/internal/ip
gvisor.dev/gvisor/pkg/tcpip/transport/raw
gvisor.dev/gvisor/pkg/tcpip/network/internal/multicast
tailscale.com/wgengine/magicsock
gvisor.dev/gvisor/pkg/tcpip/network/ipv4
gvisor.dev/gvisor/pkg/tcpip/network/ipv6
gvisor.dev/gvisor/pkg/tcpip/transport/tcp
gvisor.dev/gvisor/pkg/tcpip/transport/udp
gvisor.dev/gvisor/pkg/tcpip/transport/icmp
gvisor.dev/gvisor/pkg/tcpip/adapters/gonet
tailscale.com/wgengine
tailscale.com/tsd
tailscale.com/ipn/ipnlocal
tailscale.com/wgengine/netstack
tailscale.com/ipn/localapi
tailscale.com/ssh/tailssh
tailscale.com/ipn/ipnserver
tailscale.com/cmd/tailscaled
===>  Staging for tailscale-1.58.0
===>   tailscale-1.58.0 depends on package: ca_root_nss>0 - found
===>   Generating temporary packing list
for t in ./cmd/tailscale  ./cmd/tailscaled; do  dst=$(echo ${t} |  /usr/bin/sed -Ee 's/^[^:]*:([^:]+).*$/\1/' -e 's/^\.$/tailscale/');  src=$(/usr/bin/basename ${dst});  case ${dst} in  /*) dst=/usr/ports/security/tailscale/work/stage${dst}; /bin/mkdir -p $(/usr/bin/dirname ${dst}) ;;  *) dst=/usr/ports/security/tailscale/work/stage/usr/local/bin/${src} ;;  esac;  echo "===>  Installing ${src} as ${dst}";  install  -s -m 555 /usr/ports/security/tailscale/work/bin/${src} ${dst};  done
===>  Installing tailscale as /usr/ports/security/tailscale/work/stage/usr/local/bin/tailscale
===>  Installing tailscaled as /usr/ports/security/tailscale/work/stage/usr/local/bin/tailscaled
====> Compressing man pages (compress-man)
===> Staging rc.d startup script(s)
===>  Installing for tailscale-1.58.0
===>  Checking if tailscale is already installed
===>   Registering installation for tailscale-1.58.0
Installing tailscale-1.58.0...

3.配置Tailscale客户端服务

安装完成后,使tailscale客户端服务自动启动。

# service tailscaled enable
tailscaled enabled in /etc/rc.conf

也启动该服务。

service tailscaled start

您可以通过检查服务状态来获取进程ID。

# service tailscaled status
tailscaled is running as pid 72048.

4. 将 OPNsense 加入 Tailscale 或 Headscale 网络

按照本节中提供的步骤将 OPNsense 加入 Tailscale 或 Headscale 网络。

1) 生成 Tailscale 身份验证密钥

我们需要 Tailscale 身份验证密钥才能将 OPNsense 注册到 Tailscale 网络。打开 Tailscale UI 仪表板,然后导航到设置个人设置 > 密钥 > 身份验证密钥 > <,生成身份验证密钥strong>生成身份验证密钥。

设置生成密钥所需的选项。

将生成的密钥复制到合适的地方。

Headscale 用户:

如果您使用自托管的 Tailscale 替代方案 – headscale,则可以从 CLI 生成密钥。

headscale --user <username> preauthkeys create --reusable --expiration 90d

2) 将 OPNsense 加入 Tailscale/headscale 网络

要加入 Tailscale 网络,请运行 tailscale up 命令。以下标志可供使用。

Tailscale 连接命令示例 - https://controlplane.tailscale.com

tailscale up --login-server https://controlplane.tailscale.com  \
--authkey <your_auth_key> \
--accept-routes \
--advertise-routes=192.168.1.0/24 \
--force-reauth

Headscale 连接命令示例 – https://controlplane.tailscale.com

tailscale up --login-server https://vpn.example.com  \
--authkey <your_auth_key> \
--accept-routes \
--advertise-routes=192.168.1.0/24 \
--force-reauth

请参阅下面有关如何安装 Headscale 服务器的文章:

  • 如何在 Docker 容器中使用 UI 运行 Headscale
  • 在 Ubuntu 上安装和配置 Headscale

如果您希望来自网状网络中的设备的流量通过 OPNsense 防火墙路由,请包含 --advertise-exit-node 标志。

运行登录命令后确认状态。

# tailscale status
100.85.221.75   fw01                 fw01.taila6df.ts.net freebsd -
100.99.203.103  desktop-irjpvj9      josphatkmutai@ windows -

在 OPNsense 上创建新的网络接口。登录以配置接口分配并启用它。

这是在接口 –> 分配 ==> “分配新接口” –> “选择设备” –> “tailscale0” 下完成的。

给出接口描述,例如“Tailscale

保存然后单击创建的界面并勾选两个框以启用并锁定以防止意外删除。

登录 Tailscale 管理控制台 https://login.tailscale.com/admin/ 并在“机器”菜单部分确认设备已连接。

5. 批准 OPNsense 通告的路由

如果您使用 --advertise-routes 标志将要通告到其他节点的路由传递给其他节点,则需要批准路由才能生效。

单击“机器名称”,单击右侧的三个点,然后单击“编辑路由设置”。

选择批准的路线或使用“批准全部”勾选所有路线。

确认保存设置。

如果在运行 tailscale up 命令时使用了选项 --advertise-exit-node,“用作退出节点 ” 不会变灰。

结论

OPNsense 和 Tailscale 都是强大的网络工具和技术,可以为网络用户带来巨大的好处。通过将 OPNsense 添加到 Tailscale 或 Headscale 专用网络,您不仅可以访问该设备,还可以访问通告路由中可用的所有网络设备。所有这一切都是可能的,无需手动配置 OpenVPN 服务器或通配符。设置过程非常简单,不需要任何高级的网络技能。我们希望我们的文章内容丰富,希望下次再见。

此网站上提供更多指南:

  • 如何在 pfSense/OPNsense 上配置 OpenVPN 服务器
  • 如何安装和配置 OPNSense 防火墙
  • 如何在 Ubuntu/Debian 上安装 netboot.xyz iPXE

更新于:2个月前
赞一波!2

文章评论

全部评论