把熟悉的局域网设备,接到远端服务

电视或游戏机未必有合适的 Tailscale 客户端。通过 OpenSurge,它们可以继续使用 Mac 作为网关与 DNS,由网关处理 Tailnet 连接。你只需选择私网目标,再授权需要访问的已登记设备。

目标可以是指定节点、MagicDNS 域名,或已经批准的远端子网。例如,让一台授权设备访问 Tailnet 节点上的媒体服务;如果服务位于该节点背后的 LAN,还需要配置并批准相应的子网路由。访问同时遵循 Tailnet 策略与服务自身的权限。

私网访问之外,再选择公网出口

Exit Node 让公网流量经远端网络访问互联网。配置可用的远端 Exit Node 后,可以在设备出口、符合授权条件的 Mac 全局出口,或兼容的手动策略组中选择它。这样,同一个网关既能连接私网服务,也能安排公网流量的去向。

私网目标授权与公网出口选择分别控制。共享手动策略组中的选择会影响所有命中该组的连接,其中的 Exit Node 候选不受私网目标设备授权名单限制。如果希望不同设备使用各自的公网线路,可以为它们选择独立设备出口。

为 OpenSurge 配置独立的托管身份

在“代理与规则源”中展开 Tailscale 卡片,配置控制服务器、节点身份与认证密钥。OpenSurge 通过 mihomo 内嵌的 tsnet 建立连接,并在重启、重载或暂时停用后保留节点身份。Headscale 使用相同的接入方式,填写自己的控制服务器地址与预授权密钥即可配置。

本机 Tailscale App 可以帮助发现节点、MagicDNS、子网路由与 Exit Node,确认建议后再添加。OpenSurge 会单独注册托管节点,其授权和状态与本机 App 独立;无法自动发现时,也可以手工填写。

如果选中的远端子网与本机 App 持有的路由冲突,需要在启动或应用前处理。完成发现后,可以断开本机 App,或调整它接受的路由,为 OpenSurge 的连接腾出路径;界面会展示检测到的路由及处理提示。

启动网关前,先把策略准备好

Tailscale 设置、导入来源与全局附加配置可以独立使用。你可以只配置 Tailnet 访问,也可以再添加代理节点、策略组与规则,无需先准备一份订阅。

停止态策略视图可以预览合成后的策略组,并在启动前准备选择。配置 Exit Node 后,兼容的手动 select 组可以将它与已有候选放在一起;尤其是新建策略组,建议先确认界面显示的当前选择,再启动网关。

来源与全局附加配置组合导入策略,或独立添加配置,并在启动前准备出口。

分别检查私网服务与公网连接

先让一台已登记设备使用 OpenSurge 作为网关与 DNS,打开获授权的私网服务,并在连接视图核对设备、目标和实际出口链。如果还使用 Exit Node,再为需要的流量选择它,单独检查一条新的公网连接。

托管节点按需建立连接,网关启动或重载时会发起预热。首次业务请求需要给节点留出连接时间,必要时重试。私网服务访问和公网出口探测分别反映不同路径,应按实际使用的服务逐一检查。

当前集成提供 Mac 与接入设备向远端的出站访问。若要让 Tailnet 从外部访问家庭 LAN,需要另行配置子网路由器。已配置的私网目标不可用时,OpenSurge 会保持其 Tailnet 路径并在失败时拒绝连接,避免改走 DIRECT。

从一个已经熟悉的服务开始

先选择一个节点、一台授权设备,确认服务可用后,再按需增加远端子网或 Exit Node。随着接入范围扩大,Mac 网关中的目标、设备与出口仍然有清楚的对应关系。

Tailscale 与 Headscale 功能指南了解目标选择、设备授权、Exit Node 与接入条件。接入第一台设备用旁路由模式,从一台客户端开始体验。Wind Rose 与 IPv6了解 OpenSurge 共用设备策略的设计思路。

FAQ

改变网络前常见的问题

每台接入设备都会成为 Tailnet 节点吗?

设备通过 OpenSurge 的托管连接访问已配置的远端目标,无需为这条出站路径逐台注册节点或安装 Tailscale App。

远端 Mac 可以同时提供子网路由和 Exit Node 吗?

可以,需要在远端分别配置并批准两种角色。访问其 LAN 服务时选择相应子网路由,访问公网时配置 Exit Node,再分别检查两条路径。

本地和远端 LAN 的 IPv4 网段相同怎么办?

接受路由前需要先处理地址重叠。高级配置可以使用 Tailscale 4via6 映射,由远端子网路由器发布并批准映射路由,具体设置见产品参考文档。

必须有代理订阅才能使用吗?

不需要。Tailscale 或 Headscale 可以独立配置,使用你自己的 Tailnet 访问条件,并按需添加远端 Exit Node。