
家里 NAS 上跑着 frp 内网穿透手机里装的是 DDNS 自动更新脚本周末想远程连回家里看个文件结果半天连不上——查到最后不是我服务器的锅是当初随便注册的免费域名被注册局收回了。这种坑踩过一次之后我算是想明白了玩内网穿透和 DDNS域名才是整个链路里最值得认真选的一环。这篇文章不聊“如何配置 frp”这种老生常谈专门聊聊那个容易被忽略的地基域名。自建 NAS 的用户、在校园网或宿舍搞动态公网 DDNS 的学生、维护家庭服务器的程序员都能从里面找到可以直接照做的选域名和配置思路。核心目标只有四个字长期、低价。你不需要为一个月打不开几次的个人服务付出几百块的域名费但也不该用随时可能消失的免费域名给自己埋雷。1. 为什么内网穿透老手最后都绕不开一个自己控制的域名1.1 DDNS 的真相动态 IP 需要的是更新解析的通道很多人以为 DDNS 是“绑定域名到动态 IP”其实准确说DDNS 是“动态更新域名解析记录”。运营商给你的公网 IP 是变动的路由器或者脚本每隔几分钟检测一次当前公网 IP一旦发现变化就通过 DNS 服务商的 API 把域名指向新 IP。这个链路里域名只是载体真正关键的是“这个载体能不能让我随意修改解析”。如果你用路由器自带的 ASUS DDNS、No-IP 这类免费二级域名服务确实能免费用可你无法决定解析记录的 TTL也不能把它托管到你自己的 DNS 平台。最麻烦的是这类服务经常要求每 30 天“激活”一次或者因为长期不用被回收。等你出差一周回来发现家里设备连不上登录后台一看域名被服务商冻结了那感觉实在酸爽。我后来统一用自建 DNS 更新方案比如 ddns-go 这样的工具它在每次公网 IP 变动后调用 Cloudflare 或阿里云的 API 更新 A 记录。但前提是这个域名得在你自己名下且 DNS 托管在支持 API 的服务商那里。自己控制域名就是让整个链路可以有“自动更新”的能力。1.2 内网穿透的入口frp/ngrok 的虚拟主机依赖域名再说内网穿透。用 frp 把内网服务暴露出去时最常见的做法是公网服务器上跑 frps监听某个端口内网机器跑 frpc和 frps 建立隧道用户访问公网服务器的 IP/域名frps 根据请求的 Host 头转发给对应的内网服务。这里的“根据 Host 头转发”直接就依赖域名。没有域名的话你只能靠 IP 端口去访问体验极差也不方便申请 HTTPS 证书。用 frp 的人迟早会配置customDomains比如nas.example.top然后让 DNS 把这个子域名解析到你的 frp 服务器 IP。域名在这个场景里不是锦上添花而是刚需。顺带说一句即使你用 Tailscale 这类组网工具默认分配的是machine-name.tailnet.ts.net如果你希望用固定的、好记的地址替代自动分配的尾部域名或者想让 HTTPS 证书更可控同样需要自己的域名。1.3 免费域名和公共二级域名的坑我劝你别赌免费域名不是不能用而是在“长期 内网穿透/DDNS”这个场景里太不稳。很多人推荐 eu.org、Freenom 的 .tk、.ml、.ga 这些后缀理由是免费且可以自定义解析。但实际跑下来问题一堆注册局政策变化快今天还能申请明天可能停止注册某些免费后缀被搜索引擎标记为“高风险”分享链接给朋友时容易被拦截免费域名通常不支持你修改域名服务器NS所以无法托管到 Cloudflare也就用不了免费的 API 自动更新更致命的是你无法保证它永远在你的掌控里。某个周末正在外面急着访问家里路由器后台发现域名解析全部失效后台一查账号被注册局清理了。所以我的结论是内网穿透和 DDNS 用的域名必须满足“自己注册、续费价格明确、DNS 解析可控”三条最低要求。2. 选域名的第一课首年 1 美元的快乐续费 100 美元的心痛2.1 新顶级域名的定价逻辑首年补贴、续费恢复原价先看价格不看任何花里胡哨的营销话术。你在各种注册商首页看到的大促价比如 .xyz 首年 0.99 美元、.top 首年 6 元人民币这些基本都是在赔本赚吆喝。注册局和注册商为了拉新用户会用“首年特价”吸引你下单等到第二年续费价格就回到正常水平。很多新顶级域名的续费价是首年价的 5 到 10 倍。这不是坑而是商业规律。但你需要做的是在注册前就把第二年的价格问清楚。别等一年后收到续费邮件才发现自己养不起。我整理了几个常见域后缀的价格区间价格会随注册商和促销活动浮动大家以实时查询为准域名后缀常见首年价常见续费价长期使用建议.xyz0.5 - 2 美元9 - 16 美元首年便宜续费中等用户基数大.top5 - 20 元20 - 50 元续费便宜适合个人工具类服务.icu1 - 3 美元8 - 15 美元曾经便宜近年涨价需留意.site / .space1 - 3 美元与 .top 相当和 .top 定位类似看注册局活动.com5 - 10 美元10 - 13 美元最稳妥但长期成本最高.eu.org免费免费不建议作为唯一依赖看到这个表你应该能理解为什么很多人最后选择 .top 做内网穿透专用域名续费常年维持在 30 元人民币上下即使未来涨价也很难像 .com 那样动辄 100 多块。而 .xyz 的续费虽然比 .com 便宜一点但近年注册局活动频繁如果你想长期用就要算准“哪一年续费能蹲到优惠券”。2.2 隐藏成本隐私保护、赎回期、锁定转移比续费价格更隐蔽的是这些成本隐私保护Whois Privacy部分注册商默认收费一年几美元。虽然现在很多顶级域名强制隐藏 Whois但个别后缀仍会显示真实邮箱。我建议优先选免费提供隐私保护的注册商比如 Cloudflare、Porkbun、Namecheap 的 WhoisGuard。域名赎回期Redemption Grace Period域名过期超过一定天数通常是 30 天后会进入赎回期。这时候你不能再按正常续费价拿回域名而是要付 80 美元以上的“赎回费”。我就见过有人首年 1 美元注册 .xyz第二年忘记续费进入赎回期后干脆弃用白丢了一个域名。转移锁定期注册商一般会在新注册或续费后锁 60 天防止域名被恶意转移。如果你觉得自己可能很快换注册商这种锁定会影响迁移节奏。这些成本加在一起往往比域名本身的价格还高。所以“长期低价”的完整定义应该是续费价格可接受且没有各种隐藏附加费。2.3 选便宜域名还是选稳定域名我的判断标准判断一个域名适不适合作为内网穿透/DDNS 长期入口我按以下优先级你能接受第二年续费价格吗这个后缀是否允许自定义 NS能否托管到 Cloudflare注册商是否提供 API或者能否通过 Cloudflare API 更新解析这个后缀是否频繁被滥用、被邮件服务商拉黑前三点都好理解很多人忽略了第四点。比如某些低价后缀因为太便宜被大量用于垃圾邮件和恶意网站导致这类后缀在一些邮件服务、即时通讯软件里被默认降权或拦截。如果你只是用来跑 NAS 或远程桌面影响不大但如果你把内网穿透出去的页面发给别人对方浏览器提示“该域名存在风险”体验就很糟糕。这也是我为什么不在生产环境用那些玄学免费后缀的原因。3. 长期低价域名怎么选我从 .xyz、.top、.eu.org 里留下的一个3.1 我的选择过程3 个域名的使用现状我现在名下有几个域名分工很明确一个 .com 主域名用于个人博客和正式对外展示长期成本不低但品牌感强。一个 .top 域名专门给内网穿透和 DDNS 用这是我最推荐的“干脏活累活”的域名。一个 .eu.org 备用域名偶尔测测试验性工具从不敢让核心服务依赖它。为什么 .top 会成为我的主力内网穿透域名首先续费价格便宜即使一年只改几次解析也不会心疼钱。其次它在国内外的主流 DNS 服务商都能正常接入Cloudflare 也支持 .top 的托管和 API 管理。最关键的一点是.top 注册局相对稳定没有三天两头政策摇摆的毛病。3.2 注册商怎么选Cloudflare、Namecheap、Porkbun 的区别域名后缀选好了注册商也很重要。同一后缀在不同注册商的价格差很多服务也差很多。注册商优点缺点适用场景Cloudflare Registrar基本按成本价续费无加价默认免费隐私保护DNS 托管和 API 强大不参与首年低价促销域名管理界面偏极客已有 Cloudflare 账号希望长期托管解析的用户Namecheap经常有首年优惠免费 WhoisGuard界面友好续费价正常偏贵部分后缀促销仅限首年新手注册喜欢一站式后台Porkbun续费价透明API 完善对新顶级域名支持好国内没有节点访问速度一般追求 API 和低成本愿意折腾的用户阿里云 / 腾讯云国内访问快有新用户优惠券可与备案系统打通实名、备案流程繁琐部分后缀手续费偏高域名要绑定国内服务器且不想用境外服务商的情况我个人现在的习惯是域名注册商只负责“养活”这个域名真正处理解析和 DDNS 更新的是 Cloudflare。等注册商把域名续费价格压到合理区间我就把 NS 改到 Cloudflare之后所有解析和自动更新都走 Cloudflare API。这样即使注册商跑路我也可以随时把域名转移到别家不受绑定。3.3 选域名时的几个具体操作细节选的时候别光看价格动手查几件事用whois命令或在线工具查该域名的注册局政策确认是否支持 DNS API。支持多不多人用直接搜“对应后缀 Cloudflare”看有没有抱怨帖。去 NamePros 这类域名论坛搜一搜该后缀的风评。如果一个后缀的负面帖子集中在“注册局涨价”“恶意滥用”上就要谨慎。注册前一定要开启“自动续费”同时在日历里设置人工提醒。有些注册商的自动续费是默认开的有些不是有些还要求绑定信用卡才能开这点很容易被忽略。我在很早以前注册过一个 .site 域名首年 1 美元很爽结果第二年续费直接 8 美元第三年 15 美元完全没有规律。现在那个域名早就被我放弃了。这提醒我低价域名要选“续费价稳定”的而不是“首年价最低”的。4. 从注册到托管让域名真正适配 DDNS 和内网穿透的配置路线4.1 注册商、DNS 托管商、接入服务商要分开看很多人以为域名在注册商那里买完就“全在注册商后台管理”了。其实域名注册、DNS 解析、访问接入是三层不同的事域名注册商负责你要不要续费、转移、域名转移密码等。DNS 托管商负责把home.example.top这样的域名解析成具体的 IP 地址。接入服务商负责提供访问流量进入内网的通道比如你的 frp 服务器。把 DNS 托管放到 Cloudflare 这种有成熟 API 的平台好处是你可以用脚本自动改解析不依赖某一注册商的后台。DDNS 更新尤其需要这种能力——死活用注册商那套网页后台手动改 A 记录早晚会累死。所以我的建议是注册域名选一个续费价格你能接受的注册商。修改域名的 NS 记录指向 Cloudflare 分配的 DNS 服务器。在 Cloudflare 中添加该域名把已有的解析记录手动导入或从注册商同步。在 Cloudflare 中创建 API Token用于后续 DDNS 自动更新。4.2 DDNS 配置实操以 ddns-go 为例DDNS 工具我推荐用 ddns-goGitHub 上开源的Web 界面挂机就能跑支持 Cloudflare、阿里云、腾讯云等多家服务商。以 Cloudflare 为例去dash.cloudflare.com的“个人资料 - API 令牌”里创建一个自定义 Token权限选择Zone - DNS - Edit区域选择你要管理的域名。在内网机器上运行 ddns-go监听某个端口比如:9876。第一次访问界面填入DNS 服务商CloudflareAPI Token刚才创建的 Token域名home.example.top获取 IP 方式选择“通过接口获取公网 IPv4”或类似选项点击保存后ddns-go 会定时检查公网 IP发现变化就调用 Cloudflare API 更新解析记录。这一步完成后不管运营商怎么换 IP你的home.example.top都会在一两分钟内指向最新的公网 IP。注意一个问题如果你在 Cloudflare 里把这个记录的代理状态开成橙色云朵CDN 代理实际上是让 Cloudflare 缓存了这个域名访问者的请求会先到 Cloudflare再由 Cloudflare 回源到你的动态 IP。对 DDNS 来说IP 变化后回源地址更新会有延迟而且新增的流量也会让免费版 CDN 的缓存策略更复杂。所以个人自用场景我建议把该记录设为DNS only灰色云朵等以后有需要再单独用 CDN 隐藏入口。4.3 内网穿透 frp 的域名解析配置路线frp 是自建内网穿透最常见的工具核心组件就是 frps服务端和 frpc客户端。假设你已经有一台公网 VPS上面跑了 frps现在要做的是把内网 NAS 的管理页面通过nas.example.top暴露出去在 Cloudflare 的 DNS 面板里添加一条 A 记录nas.example.top指向 VPS 的公网 IP。修改 frps.ini[common] bindPort 7000 vhostHTTPPort 8080 vhostHTTPSPort 8443这里vhostHTTPPort和vhostHTTPSPort是 frps 用来处理 HTTP/HTTPS 流量的端口请确保它们在防火墙里放行。修改内网 NAS 上跑的 frpc.ini[common] serverAddr your-vps-ip serverPort 7000 [nas-web] type https customDomains nas.example.top localIP 192.168.1.100 localPort 443 [web] type http customDomains nas.example.top localIP 192.168.1.100 localPort 80这样当用户访问https://nas.example.top:8443时frps 会根据 Host 头把它转发给内网的192.168.1.100:443。注意 frps 的vhostHTTPSPort和 Cloudflare 的代理逻辑要搭配好如果你在 Cloudflare 开了 CDN则需要让 Cloudflare 通过 8443 或 443 回源到 VPS。证书问题怎么办frp 本身可以直接支持 HTTPS但证书需要自己签发。更省事的方式是用 Caddy 作为反向代理自动申请和续期 Lets Encrypt 证书。对于内网穿透场景在 Cloudflare 开托管、并把 CDN 代理关掉时可以给 Caddy 配置好泛域名证书一次搞定。我用这个方案跑了好几个月访问 NAS 的速度和在家里局域网基本没区别关键是再也不用记一串带随机端口的 IP 了。4.4 为什么要用子域名而不是直接裸域名有人会觉得example.top这个根域名就不能直接穿透吗技术上可以但我不推荐。原因有三个根域名通常用于网站主入口如果被 frp 转发到内网服务一旦你忘了配置或 frp 挂了访问根域名会直接报错影响其他依赖。根域名的 DNS 记录改动影响面大而子域名比如nas.example.top、frp.example.top各自独立后续迁移非常方便。如果你以后想让多个内网服务共存完全可以利用泛域名解析*.example.top配合 frp 的subdomain功能新增服务只需要在 frpc 里加一行不用频繁改 DNS。子域名还有一层好处即使某个内网服务需要调试你也可以把子域名解析到不同服务器不影响主域名的正式访问。5. 续费、过期、被回收三年自建服务换来的域名避坑清单5.1 自动续费是底线但不能只依赖它自动续费是防止域名落入赎回期的第一道防线但很多意外恰恰发生在自动续费环节绑定的信用卡过期了、注册商偷偷改了扣款日、支付宝代扣失效……所以我的习惯是注册时开启自动续费同时把续费日期写进日历设置提前 30 天、提前 7 天两个提醒每年续费后检查一次余额或支付记录确认扣款成功。有一次我差点栽在“自动续费成功但注册商后台显示域名还是过期”的乌龙上。原因是注册商第二天才处理扣款而我正好在那天尝试转移域名触发锁定期。后来我再也不会在续费日前几天乱动域名正是这种细节决定了长期使用的稳定性。5.2 免费域名不是“长期低价”的答案我理解为什么很多人贪图方便用免费域名但长期来看免费域名省下的是钱花掉的是时间。处理一次免费域名服务商宕机、解析失效、账号被删除的问题比你花 30 块钱续费 .top 一年要痛苦得多。尤其是把 DDNS 和 frp 都挂上去后整个“中央登记处”一旦失联你的所有子服务都要跟着遭殃。如果你的预算真的紧张到一年几十块都不能出那也请至少选一个拥有明确续费政策和客户支持的注册局比如用.top首年活动价注册第二年哪怕恢复原价也就是一顿午饭钱。这钱买的是一个确定性你知道自己的域名还在手里解析随时能改证书随时能续。5.3 安全与隐私从域名侧防患于未然域名虽然只是一个小字符串但它绑定的账号一旦被盗你的整个内网穿透入口都会被接管。所以我做了几件事域名注册商和 DNS 托管平台都开启双因素认证打开注册商提供的隐私保护不公开真实姓名和邮箱定期导出 Cloudflare 的 Zone 文件备份万一配置被误删能快速恢复。这些操作花不了几分钟但在遇到域名劫持或误删解析时能帮你省下几天的恢复时间。5.4 一个容易忽略的细节天下没有“免费 可自定义 NS 稳定”的完美方案有些人会问既然 Cloudflare 可以托管 DNS为什么我不能用免费的二级域名比如yourname.afraid.org这种然后让 Cloudflare 当 DNS 托管答案是二级域名的权限归服务商所有你无法把它完整地转移到 Cloudflare 下。Cloudflare 托管的域名必须是你自己拥有顶级域名控制权的域名。所以别绕了注册一个真正属于自己的域名才是正路。最后的一点个人心得从早期用免费域名频繁踩坑到现在手里攥着一两个“养得起、信得过”的域名我的体会是自建服务这件事里最不该省的就是基础控制权。域名是整个内网穿透和 DDNS 链路的入口你可以花很少的钱去买一个 .top 专门干这活也可以花多一点预算上 .com 图稳定但一定不要让自己沦落到“域名被服务商随手回收”的境地。要真说还有什么小技巧就是每年 11 月黑五前后多数注册商都有一波低价续费活动我会在那时候提前给来年要续费的域名囤几年顺便检查一下自己的两步验证器里有没有港加对应的注册商账号。习惯养成了后续维护成本几乎是零。希望这篇文章能帮你少走点弯路把域名这种事一次搞定。