2026 没有公网 IP 也能安全回家:Tailscale 远程访问 AdGuard Home / NAS / SSH 完整指南
家里装好了 AdGuard Home、NAS 或一台 Linux 小主机在局域网里访问很舒服一离开 Wi-Fi192.168.x.x就全部失联。很多人的第一反应是 DDNS 端口映射。但如果运营商给的是 CGNAT 地址没有真正的公网 IP端口映射根本进不来即使能映射把管理后台或 SSH 直接暴露到公网也会增加扫描、撞库和漏洞利用的风险。这篇文章用 Tailscale 解决这个问题不申请公网 IP不在路由器上开放入站端口也不改变家里原有网络结构。手机、Mac、Windows 在外面仍可访问家里的 AdGuard Home、NAS 和 SSH。本文只讨论你本人拥有或获授权管理的设备。示例网段和端口必须替换成自己的实际配置不要原样照抄。一、先选对方案不要一上来就配子网路由Tailscale 可以把已登录的设备放进一个加密的私有网络tailnet。实际部署有两条路你的情况推荐方案远程访问地址AdGuard Home / NAS 所在主机能安装 Tailscale方案 A直接安装最简单Tailscale IP 或 MagicDNS 主机名服务设备不能安装但局域网里有一台长期在线的 Linux / NAS方案 B配置 Subnet Router服务原来的局域网 IP想让任何陌生访客通过公网打开页面本文方案不适合应单独设计反向代理、认证和安全边界能用方案 A 就不要先上方案 B。直接安装的链路更短排错也更容易。二、准备工作开始前确认四件事你知道服务的局域网地址例如192.168.50.2。你知道实际管理端口。AdGuard Home 首次安装通常使用3000/TCP完成初始化后 Web 界面常见为80/TCP但最终应以自己的AdGuardHome.yaml中http.address或页面配置为准。家里至少有一台设备长期在线。手机与家中设备登录同一个 Tailscale 网络。先在家中局域网验证原地址确实能打开例如http://192.168.50.2:3000如果局域网内都打不开先解决服务监听、端口或防火墙问题Tailscale 不会自动修复应用本身。三、方案 A直接在服务主机安装 Tailscale下面以常见 Linux 主机为例。官方安装脚本支持 Debian、Ubuntu、RHEL、CentOS、Fedora、Raspberry Pi OS 等主流发行版curl-fsSLhttps://tailscale.com/install.sh|shsudotailscale up如果你不接受curl | sh的安装方式可以按 Tailscale 官方 Packages 页面为自己的发行版手动添加软件源并安装。终端会给出一个登录 URL。完成认证后检查设备是否已经加入 tailnettailscale status tailscaleip-4假设输出的 Tailscale IPv4 是100.x.y.z手机安装 Tailscale、登录同一账号并开启连接后就可以尝试http://100.x.y.z:你的实际端口如果开启了 MagicDNS也可以直接使用设备名http://adguard-home:你的实际端口MagicDNS 的价值不是“更快”而是不用记住100.x地址。新建的 tailnet 通常已经默认开启也可以在管理后台的 DNS 页面检查。这一步最容易忽略的安全点Tailscale 解决的是设备间的私有连通不替代 AdGuard Home / NAS 自己的登录密码。不要因为用了 Tailscale就顺手把 Web 管理端口映射到公网。不要为了省事长期关闭所有防火墙。只有可信、长期在线的服务器才考虑关闭密钥到期设备丢失或替换后要立即撤销。四、方案 B服务装不了 Tailscale就用 Subnet Router典型场景是AdGuard Home 跑在路由器插件、旧 NAS 或无法直接安装 Tailscale 的设备上但家里还有一台长期在线的 Linux 小主机。此时让小主机充当“进家门的网关”。1. 确认真实网段在 Linux 网关上执行iproute假设局域网是192.168.50.0/24AdGuard Home 是192.168.50.2。如果你看到的是192.168.1.x、10.0.0.x或其他网段后面的命令必须同步修改。2. 开启 IP 转发仅使用 IPv4 子网时可以创建一个专用配置echonet.ipv4.ip_forward 1|sudotee/etc/sysctl.d/99-tailscale.confsudosysctl-p/etc/sysctl.d/99-tailscale.conf然后安装并登录 Tailscale如果尚未安装curl-fsSLhttps://tailscale.com/install.sh|shsudotailscale up3. 发布子网路由sudotailscaleset--advertise-routes192.168.50.0/24这条命令只是“声明我能带你去这个网段”还不等于路由已生效。4. 在管理后台批准路由进入 Tailscale 管理后台打开Machines。找到刚才的 Linux 网关。在Subnets中编辑并批准192.168.50.0/24。保存。如果你配置了autoApprovers这一步可能会自动完成普通家庭网络手动批准更直观。5. 客户端接收路由iOS、Android、macOS 和 Windows 默认会使用已批准的子网路由。Linux 客户端还需要sudotailscaleset--accept-routes此时在手机关闭 Wi-Fi、改用蜂窝网络再访问原来的局域网地址http://192.168.50.2:你的实际端口注意方案 B 访问的是AdGuard Home 原局域网 IP不是充当网关那台机器的100.x地址。五、把权限缩到真正需要的端口“能连通”不等于“应该全部放开”。Tailscale 当前推荐使用 Grants 做细粒度访问控制可以把来源、目标和端口限制到最小范围。下面只是一个结构示例只允许家庭管理员访问目标主机的 SSH、HTTP、HTTPS 和一个自定义管理端口。请合并进现有策略不要覆盖整个策略文件端口也必须按实际情况删改。{groups:{group:home-admins:[your-accountexample.com]},grants:[{src:[group:home-admins],dst:[192.168.50.2],ip:[tcp:22,tcp:80,tcp:443,tcp:3000]}]}如果只是远程查看 AdGuard Home 后台就不要顺便开放整段*:*。最小权限往往比“先全开后面再说”省事。六、连不上时按这个顺序排查1. 设备根本不在线tailscale status先确认两端都出现在设备列表里认证没有过期家中的设备也没有休眠或断电。2. Tailscale 通但网页不通tailscaleping目标设备名或100.x地址tailscale ping可以判断两个 Tailscale 进程是否连得通并显示最终是直连还是经中继。能 ping 通但网页打不开通常要回头查服务端口、监听地址和本机防火墙。Linux 上可以检查监听状态sudoss-lntp如果服务只监听127.0.0.1其他设备当然无法访问。修改监听地址前要同时确认应用认证和防火墙不要为了省事把所有接口、所有端口一起放开。3. 子网路由没有真正生效重点检查--advertise-routes的 CIDR 是否写对管理后台是否批准了 Subnet RouteLinux 客户端是否启用了--accept-routes网关是否开启 IP forwarding家中网段是否和酒店、公司 Wi-Fi 网段重叠。网段重叠是很隐蔽的坑。例如家里和外面的 Wi-Fi 都是192.168.1.0/24系统可能把流量发到错误接口。长期方案是给家庭网络换一个不那么常见的网段或者改用方案 A 的直接节点访问。4. 开启 Tailscale 后其他 VPN 异常多个 VPN 客户端可能同时修改路由和 DNS。先暂时断开另一个 VPN 做对照测试再判断是路由冲突、DNS 冲突还是服务本身不可达。七、发布前的 6 项验收清单不要只在家中 Wi-Fi 里点开一次就宣布成功。至少验证手机关闭 Wi-Fi使用蜂窝网络仍可访问路由器没有新增公网端口映射管理后台仍要求应用自己的账号密码Grants 只允许实际需要的设备和端口家中网关重启后 Tailscale 与服务会自动恢复tailscale ping和实际网页 / SSH 都验证成功。八、Tailscale 和端口映射到底怎么选维度TailscaleDDNS 端口映射是否要求公网 IP不要求通常要求是否开放公网入站端口不需要需要访问者是否安装客户端需要通常不需要适合对象自己、家人、固定团队面向公开访客的服务权限控制可按身份、设备、目标和端口细分主要依赖服务自身与防火墙如果目标只是“我在外面安全管理自己家的设备”Tailscale 通常更省心如果目标是对所有访客公开网站它就不是同一个问题不能硬套。总结没有公网 IP 并不意味着只能把家里的服务困在局域网。正确顺序是能直接安装 Tailscale就用方案 A不能安装再用 Subnet Router先打通最小链路再收紧 Grants最后必须用蜂窝网络做一次真正的外网验收。这套方法同样适用于 NAS、Home Assistant、个人 Git、Code Server 和 SSH。变化的只是目标 IP 与端口安全原则不变不暴露不必要的公网入口、保留应用认证、按最小权限放行。你是把 Tailscale 直接装在服务主机上还是通过子网路由访问如果卡在“能 ping 但打不开页面”可以把系统、部署方式和实际监听端口写在评论区排查会快很多。参考资料Tailscale 官方文档Install Tailscale on LinuxTailscale 官方文档Subnet routersTailscale 官方文档MagicDNSTailscale 官方文档GrantsTailscale 官方文档Troubleshoot TCP connection issuesAdGuard Home 官方 WikiGetting StartedAdGuard Home 官方 WikiConfiguration

相关新闻

桌面宠物应用开发指南:从部署到二次开发的完整实践

桌面宠物应用开发指南:从部署到二次开发的完整实践

这次我们来看一个名为"哦麦噶是萌萌的桌宠逍遥"的桌面宠物项目。从项目名称就能感受到,这是一个走可爱风格的桌面伴侣工具,主打萌系外观和互动体验。桌面宠物这类工具在技术圈一直有稳定的用户群体,它们不仅能给单调的工作环境增添…

2026/10/16 21:24:20 阅读更多 →
基于TB6605FTG的无刷电机驱动:I2C控制、电路设计与Arduino/ESP32实战

基于TB6605FTG的无刷电机驱动:I2C控制、电路设计与Arduino/ESP32实战

1. 项目概述:从一块驱动板聊起最近在捣鼓一个需要精确控制无刷电机的小项目,市面上常见的集成驱动模块要么功能太简单,要么价格不菲。直到我发现了东芝的这款TB6605FTG驱动芯片,它就像是为我们这些喜欢折腾的创客和嵌入式开发者量…

2026/10/16 20:49:21 阅读更多 →
深度解析OpenObserve:如何构建高性能云原生可观测性平台

深度解析OpenObserve:如何构建高性能云原生可观测性平台

深度解析OpenObserve:如何构建高性能云原生可观测性平台 【免费下载链接】openobserve Open source observability platform for logs, metrics, traces, frontend monitoring, pipelines and LLM observability. A sophisticated, simple and highly performant al…

2026/10/15 23:06:18 阅读更多 →

最新新闻

LiteLLM Proxy 启动方式与 Python 环境管理:用 uv 与虚拟环境把 TaoToken 接入本地代理

LiteLLM Proxy 启动方式与 Python 环境管理:用 uv 与虚拟环境把 TaoToken 接入本地代理

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 20:04:40 阅读更多 →
基于Go语言的区块链学历认证系统:从存证到验真全流程实践

基于Go语言的区块链学历认证系统:从存证到验真全流程实践

简介:一套基于Hyperledger Fabric的学历学位认证管理系统完整源码及部署文档,面向高校计算机相关专业学生、教师及区块链开发者,适用于毕业设计、课程设计或学历认证类项目前期调研与二次开发。压缩包共723个文件,整体约15.56MB&a…

2026/10/18 20:04:40 阅读更多 →
研华IPC-510工控机搭建工业数据采集与自动化监控方案

研华IPC-510工控机搭建工业数据采集与自动化监控方案

做自动化项目的老工程师估计都遇到过这种场景:产线上设备明明都有通讯口,但数据就是拿不上来,老板要的报表靠人工拿着纸笔去抄,设备报警只能等操作员发现再跑过去看。这背后缺的往往不是采集模块,而是一个能常年7x24小…

2026/10/18 20:04:40 阅读更多 →
安全审计不是扫漏洞:构建可信交付的工程闭环

安全审计不是扫漏洞:构建可信交付的工程闭环

1. 安全审计不是“扫漏洞”,而是构建可信交付的工程闭环最近帮一家做SaaS工具的团队做代码健康度复盘,他们刚上线一个新模块,CI流水线里跑着SonarQube和ESLint,但安全团队突然发来一份报告:三个高危SQL注入点、两个硬编…

2026/10/18 20:04:40 阅读更多 →
无监督学习实战指南:聚类、降维与异常检测全解析

无监督学习实战指南:聚类、降维与异常检测全解析

接手一批新数据时,我最先问自己的不是“能不能建模预测”,而是“这批数据里到底藏着几类模式”。这个问题往里挖,核心就是无监督学习。无监督学习说的是:在没有任何标签、没有标准答案的情况下,靠数据本身的结构去找分…

2026/10/18 20:04:40 阅读更多 →
华为IGMP组播原理与实战:从精准调度到排障精要

华为IGMP组播原理与实战:从精准调度到排障精要

1. 为什么组播不是“群发”,而是一场精准的流量调度革命?很多人第一次听说IGMP,下意识就把它和微信群发、邮件群抄送划等号——“不就是让一台设备把数据同时发给多台设备吗?”这个理解方向错了,而且错得挺关键。我刚接…

2026/10/18 20:03:40 阅读更多 →

日新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

周新闻

基于GMM的语音识别系统原理与MATLAB实现详解

基于GMM的语音识别系统原理与MATLAB实现详解

说到基于高斯混合模型(GMM)的语音识别系统,很多人第一反应就是一堆数学公式,觉得门槛很高。但如果你真的在MATLAB里把它落地跑通,会发现核心其实就是三件事:把声音变成特征向量,用GMM给每个类别…

2026/10/18 0:00:55 阅读更多 →
数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理入门:反白、灰度化、调色板修改与导出txt实践

数字图像处理这四个字听起来挺唬人,但落到具体操作上,无非就是让计算机按你的想法“摆弄”像素。我在一个模拟项目X里用了一套特别经典的基础处理流程:对图像做反白、改调色板、彩色转灰度,最后把像素数据导出成txt文件。单看每一…

2026/10/18 0:00:55 阅读更多 →
机器人大脑技术盘点:具身智能的感知、决策与数据闭环

机器人大脑技术盘点:具身智能的感知、决策与数据闭环

如果你的信息流最近也天天刷到“机器人大脑”这个词,你会发现一个很有意思的现象:每个人说的“大脑”根本不是同一个东西。有人指的是大语言模型,有人指的是运动控制系统,还有人指的是能理解物理世界的端到端模型。在2026年这个时…

2026/10/18 0:00:55 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 0:55:02 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/17 17:22:31 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/18 12:16:16 阅读更多 →