惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

量子位
S
Secure Thoughts
S
Schneier on Security
D
Darknet – Hacking Tools, Hacker News & Cyber Security
Cyberwarzone
Cyberwarzone
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Privacy International News Feed
L
Lohrmann on Cybersecurity
Schneier on Security
Schneier on Security
PCI Perspectives
PCI Perspectives
Google DeepMind News
Google DeepMind News
C
Cybersecurity and Infrastructure Security Agency CISA
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Latest news
Latest news
H
Hacker News: Front Page
月光博客
月光博客
Forbes - Security
Forbes - Security
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
S
Security @ Cisco Blogs
WordPress大学
WordPress大学
Recent Commits to openclaw:main
Recent Commits to openclaw:main
aimingoo的专栏
aimingoo的专栏
宝玉的分享
宝玉的分享
D
Docker
U
Unit 42
Recorded Future
Recorded Future
Spread Privacy
Spread Privacy
Microsoft Security Blog
Microsoft Security Blog
Recent Announcements
Recent Announcements
云风的 BLOG
云风的 BLOG
Application and Cybersecurity Blog
Application and Cybersecurity Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
H
Heimdal Security Blog
Microsoft Azure Blog
Microsoft Azure Blog
V
Vulnerabilities – Threatpost
Vercel News
Vercel News
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
爱范儿
爱范儿
博客园 - 聂微东
Hugging Face - Blog
Hugging Face - Blog
L
LangChain Blog
G
GRAHAM CLULEY
Apple Machine Learning Research
Apple Machine Learning Research
www.infosecurity-magazine.com
www.infosecurity-magazine.com
Blog — PlanetScale
Blog — PlanetScale
博客园 - 三生石上(FineUI控件)
罗磊的独立博客
Help Net Security
Help Net Security
Google Online Security Blog
Google Online Security Blog
S
SegmentFault 最新的问题

博客园 - 悠哉大斌

AI Agent 安全沙箱技术对比:E2B、Cube Sandbox 与 Docker Sandboxes linux 升级 claude code的坑 debian(WSL) apt 代理配置 linux内核之Namespaces、Cgroups、Capabilities、Seccomp和Landlock 大语言模型推理中的隐藏瓶颈及其解决方法 Docker Sandboxes 技术是什么,和docker容器有什么区别 什么是 Docker Agent以及一个Docker Agent示例 windows wsl 安装 Temurin® JDK claude Code 和 codex 作为编程代理,前者使用typescript开发,后者使用rust,他们的决策依据是什么 Java 并发编程发展史与 java.util.concurrent 全景解析 LLM 真的改变了编码风格吗? 如果人工智能会犯错且不精确,为什么它正在改变世界? Python 的协程模型和 JavaScript 的 async/await python闭包和function.__closure__特殊属性 python 的 dunder name和 sunder name 基于nodejs设计REST API的知名开源框架 windows上使用node-oracledb Thick 模式连接 Oracle 11g Claude Code CLI连接 DeepSeek V4模型后调用报400错误 python里对象(object)到底是什么 Python 泛型演变史 Python 类型别名的演变 Python 类型提示的演变史 PEP 593 新增的Annotated 类型 Alibaba AgentScope 和 microsoft agent framework 详细对比分析 spring AI Alibaba Agent Framework 和 agentscope有什么区别和联系 AI Agent协作模式以及主流开源框架对协作模式的支持 Tailscale 是如何接管 DNS 的? Agent = Model + Harness 使用rust编写typescript编译器的难点在什么地方,哪些数据结构是rust不擅长的? TypeScript/JavaScript 中的异步迭代语句 js中的生成器函数 openclaw gateway的网络绑定模式 websocket协议和http协议有何依赖关系? MCP通信的双方是谁? claude code MCP 安装范围 如何在wsl2环境下给claude code cli 配置 playwright-mcp wsl的网络模式有哪几种,有哪些区别? AI Agent memory是什么? ai agent skills是什么? Go测试生态系统工具与最佳实践深度调研(聚焦认证授权系统) 线性代数中常见矩阵类型的概念关系思维导图 三种主流授权策略
Tailscale Serve and Funnel
悠哉大斌 · 2026-02-02 · via 博客园 - 悠哉大斌

Tailscale Serve 和 Funnel 是一对用于网络共享的核心功能,它们由零信任网络服务提供商 Tailscale 开发。简单来说,Serve 用于内部安全共享,而 Funnel 用于安全地公开服务

为了能快速理解并选择合适的功能,它们的核心区别总结如下:

特性 Tailscale Serve Tailscale Funnel
核心用途 在 Tailscale 内部网络(Tailnet)中安全共享本地服务。 将本地服务安全地公开到整个互联网
访问范围 仅限于你的 Tailnet 内的设备或用户(包括已接受共享的外部用户)。 对互联网上的任何人开放(需在 ACL 中明确允许)。
典型场景 内部协作、开发测试预览、私有文件共享。 公开演示、临时分享给无 Tailscale 账户的客户。
身份验证 自动且强认证。通过 Tailscale 网络加密,并可为后端服务提供用户身份头信息。 依赖 Tailscale 的网络层安全,公开访问时不附带用户身份头信息。
URL 格式 https://<设备名>.<你的tailnet>.ts.net https://<设备名>.<你的tailnet>.ts.net:端口 (需显式指定端口)。
HTTPS 证书 由 Tailscale 自动签发和管理,使用你的 Tailnet 专属域名。 由 Tailscale 自动签发和管理,使用你的 Tailnet 专属域名。

🛠️ 主要功能与应用场景

Tailscale Serve 的主要作用是将运行在你设备上的服务变成你整个Tailnet内可访问的“内部网站”。其常见用途包括:

  • 共享本地开发服务器:例如,将运行在 localhost:3000 的开发网页应用分享给同事预览。
  • 搭建临时文件服务器:快速分享一个文件夹内的文件,比传输文件更高效。
  • 绑定内部服务:将设备的SSH等服务绑定到Tailscale IP,便于内部安全访问。
  • 共享稳定节点:可以设置一个固定名称的节点(如 demo-server.your-tailnet.ts.net),供多人轮流共享其上的服务,保持URL不变。

Tailscale Funnel 则是在 Serve 的基础上,在 Tailnet ACL 策略允许的前提下,为指定的服务开启一个面向公网的“漏斗”,使其能被互联网上的任何人访问。这是一个让你能随时、可控地将内部服务公开的理想工具。

⚙️ 基本使用方法与安全特性

两者的基本命令格式都非常直接。

Serve 的基础命令tailscale serve <目标>。其中<目标>可以是端口号(如 3000)、本地文件路径或静态文本。

Funnel 的基础命令tailscale funnel <端口号>。该命令会将指定端口对应的 Serve 服务开放到公网。

一个重要且方便的特性是,无论是 Serve 还是 Funnel,Tailscale 都会为你的设备自动生成一个唯一的、基于 TLS 的 HTTPS 域名(格式如 your-device.your-tailnet.ts.net),你无需自己配置 SSL 证书。

在安全方面,Serve 在为内网流量转发请求时,会向后端服务添加包含请求者身份(如登录邮箱、显示名)的 HTTP 头信息(如 Tailscale-User-Login),方便后端进行精细的权限控制。

⚠️ 关键限制与注意事项

在使用时,有几个重要的限制需要了解:

  1. 端口互斥同一个端口不能同时用于 Serve(仅内网)和 Funnel(公开)。最后执行的命令决定该端口的状态(serve 使端口完全私有,funnel 使端口完全公开)。
  2. macOS 文件共享限制:由于 macOS 应用沙盒限制,通过 Mac App Store 等安装的 Tailscale 客户端无法使用 Serve 共享文件和目录,只能共享端口。如需此功能,需使用开源版本。
  3. Funnel 默认开启:Funnel 功能在设备上是默认启用的。如果你确定不需要,可以手动关闭它以简化配置。
  4. 网络依赖:使用 Funnel 公开服务时,你的设备需要保持在线并与 Tailscale 网络连接。

💡 总结与如何选择

总的来说,Tailscale Serve 和 Funnel 让你能以前所未有的简便和安全方式分享网络服务:

  • 对内协作,需要与团队、同事安全地共享开发环境或文件,优先使用 Serve
  • 对外公开,需要临时将演示版、测试链接分享给没有 Tailscale 账户的外部人员,就使用 Funnel

它们的结合覆盖了从私有到公开的完整服务暴露需求,核心优势在于 自动化(HTTPS证书、域名)安全性(基于零信任网络)

Tailscale Serve 例子

# 检查本主机 tailscale 服务是否正常(可以访问 https://login.tailscale.com/admin/machines 登录查看已经加入网络的主机)
sudo tailscale status

# 主机启动 Serve
sudo tailscale serve --bg http://127.0.0.1:3000

# 启动完毕后会返回一个https访问地址,将这个地址在另外一台主机上打开即可(两台主机必须是同一个tailscale网络,否则打不开)
https://xxx.tailxxx.ts.net (tailnet only)
|-- / proxy http://127.0.0.1:3000

# 查看所有已配置的 Serve 服务
sudo tailscale serve status

# 停止共享服务
sudo tailscale serve reset