Tailscale
sing-box 1.14.0 中的更改
sing-box 1.13.0 中的更改
relay_server_port
relay_server_static_endpoints
system_interface
system_interface_name
system_interface_mtu
advertise_tags
自 sing-box 1.12.0 起
结构
{
"type": "tailscale",
"tag": "ts-ep",
"state_directory": "",
"auth_key": "",
"control_url": "",
"ephemeral": false,
"hostname": "",
"accept_routes": false,
"exit_node": "",
"exit_node_allow_lan_access": false,
"advertise_routes": [],
"advertise_exit_node": false,
"advertise_tags": [],
"relay_server_port": 0,
"relay_server_static_endpoints": [],
"system_interface": false,
"system_interface_name": "",
"system_interface_mtu": 0,
"udp_timeout": "5m",
"ssh_server": false,
... // 拨号字段
}
字段
state_directory
存储 Tailscale 状态的目录。
默认使用 tailscale。
示例:$HOME/.tailscale
auth_key
Note
认证密钥不是必需的。默认情况下,sing-box 将记录登录 URL(或在图形客户端上弹出通知)。
用于创建节点的认证密钥。如果节点已经创建(从之前存储的状态),则不使用此字段。
control_url
协调服务器 URL。
默认使用 https://controlplane.tailscale.com。
ephemeral
指示实例是否应注册为临时节点 (https://tailscale.com/s/ephemeral-nodes)。
hostname
节点的主机名。
默认使用系统主机名。
自 sing-box 1.14.0 起
在 iOS、tvOS 和 Android 上,默认使用设备名称。
示例:localhost
accept_routes
指示节点是否应接受其他节点通告的路由。
exit_node
要使用的出口节点名称或 IP 地址。
exit_node_allow_lan_access
Note
当出口节点没有相应的通告路由时,即使设置了 exit_node_allow_lan_access,私有流量也无法路由到出口节点。
指示本地可访问的子网应该直接路由还是通过出口节点路由。
advertise_routes
通告到 Tailscale 网络的 CIDR 前缀,作为可通过当前节点访问的路由。
示例:["192.168.1.1/24"]
advertise_exit_node
指示节点是否应将自己通告为出口节点。
advertise_tags
自 sing-box 1.13.0 起
为此节点通告的标签,用于 ACL 执行。
示例:["tag:server"]
relay_server_port
自 sing-box 1.13.0 起
监听来自其他 Tailscale 节点的中继连接的端口。
relay_server_static_endpoints
自 sing-box 1.13.0 起
为中继服务器通告的静态端点。
system_interface
自 sing-box 1.13.0 起
为 Tailscale 创建系统 TUN 接口。
system_interface_name
自 sing-box 1.13.0 起
自定义 TUN 接口名。默认使用 tailscale(macOS 上为 utun)。
system_interface_mtu
自 sing-box 1.13.0 起
覆盖 TUN 的 MTU。默认使用 Tailscale 自己的 MTU。
udp_timeout
UDP NAT 过期时间。
默认使用 5m。
ssh_server
自 sing-box 1.14.0 起
在 tailnet 的 TCP 22 端口上运行 Tailscale SSH 服务器。
访问控制由 Tailscale 管理控制台中的 SSH ACL 决定,它将每个连接映射到一个本地用户。该用户如何解析、以及允许哪些用户,取决于平台:
- Linux 和 macOS:从系统用户数据库解析用户。要切换到 sing-box 运行身份以外的用户需要以 root 运行;非 root 时,会话仅限于当前用户。
- Windows:会话以 sing-box 进程的身份运行;映射的用户不会被模拟,因此映射到其他本地账户的会话将被拒绝。
- Android:用户由应用解析,而非系统用户数据库。
root即超级用户(UID 0),shell为 ADB shell 用户(UID 2000);其他名称均作为已安装应用的包名解析,以该应用的 UID 运行,并使用其数据目录作为主目录,因此目标应用必须已安装。termux是com.termux的快捷方式,sing-box是应用自身包名的快捷方式;当 Termux 已安装时,root和termux用户将加载 Termux 环境。以 sing-box 应用自身身份运行无需 root,其他用户则需要已授予的 root 权限;非 root 时,会话仅限于 sing-box 用户。 - macOS:SSH 服务器仅在独立版本中可用,且需要 Root Helper;App Store 版本不支持。
- iOS 和 tvOS:暂不支持。
对象格式:
将 ssh_server 值设置为 true 等同于 { "enabled": true }。
ssh_server.enabled
启用 SSH 服务器。
ssh_server.disable_pty
拒绝 PTY 分配请求。
ssh_server.disable_sftp
拒绝 SFTP 子系统。
ssh_server.disable_forwarding
拒绝本地和远程的 TCP 与 Unix 套接字转发,包括 SSH agent 转发。
拨号字段
Note
Tailscale 端点中的拨号字段仅控制它如何连接到控制平面,与实际连接无关。
参阅 拨号字段 了解详情。