飞牛OS实战:借助DDNS-Go与华为云API,轻松构建稳定内网穿透服务

张开发
2026/4/11 16:35:00 15 分钟阅读

分享文章

飞牛OS实战:借助DDNS-Go与华为云API,轻松构建稳定内网穿透服务
1. 为什么需要内网穿透服务家里有NAS或者自己搭建了网站的朋友应该都遇到过这样的问题明明在内网访问很顺畅的服务一到外网就打不开了。这其实就是因为我们的家庭宽带通常分配的是动态公网IP而且运营商还做了NAT转换导致从外部无法直接访问内网设备。我去年刚把家里的旧电脑改造成NAS时就遇到了这个困扰。当时试过各种方案最后发现DDNS-Go配合华为云DNS是最稳定的解决方案。相比其他方案它有三大优势一是完全免费二是配置简单三是更新速度快。最重要的是飞牛OS作为国产轻量级服务器系统对这类工具的支持非常友好。2. 准备工作华为云API配置2.1 创建华为云账号首先需要注册华为云账号这个过程和注册普通网站账号差不多。建议使用常用邮箱注册因为后续API密钥和重要通知都会发到这个邮箱。注册完成后记得完成实名认证这是使用DNS服务的必要条件。2.2 获取API访问密钥登录华为云控制台后按照这个路径操作右上角账号名称 → 我的凭证 → 访问密钥 → 新增访问密钥。这里会生成一对密钥Access Key ID和Secret Access Key。这两个字符串就是DDNS-Go连接华为云API的钥匙一定要妥善保管。我建议把它们保存在本地加密文档中同时可以勾选仅允许控制台查看这样即使别人登录了你的账号也看不到完整密钥。2.3 域名购买与解析设置如果你还没有域名可以在华为云的域名注册版块购买。.top/.xyz这类后缀的域名首年通常只要几块钱。购买后进入DNS控制台添加一条A记录主机记录按需填写比如nas记录值暂时填个任意IP如1.1.1.1TTL建议设为300秒。这个记录稍后会被DDNS-Go自动更新。3. 在飞牛OS上部署DDNS-Go3.1 下载安装DDNS-Go飞牛OS基于Linux所以我们选择Linux版本。打开终端依次执行wget https://github.com/jeessy2/ddns-go/releases/download/v5.2.0/ddns-go_5.2.0_linux_x86_64.tar.gz tar -zxvf ddns-go_5.2.0_linux_x86_64.tar.gz chmod x ddns-go如果你是ARM架构的设备比如树莓派要把下载链接中的x86_64换成arm64。解压后得到一个可执行文件直接运行./ddns-go就会启动服务。3.2 配置系统服务为了让DDNS-Go能开机自启我们需要把它注册为系统服务sudo ./ddns-go -s install sudo systemctl enable ddns-go sudo systemctl start ddns-go这样即使重启飞牛OSDDNS-Go也会自动运行。可以通过systemctl status ddns-go查看服务状态正常会显示active (running)。4. Web界面配置详解4.1 基础配置在浏览器访问http://服务器IP:9876飞牛OS的局域网IP会看到DDNS-Go的配置界面。重点配置项DNS服务商选择华为云AccessKey ID/SecretAccessKey填写之前保存的密钥域名填写完整域名如nas.yourdomain.comTTL建议300-600秒同步间隔默认600秒足够4.2 高级设置点击高级选项卡有几个实用功能禁止公网访问勾选后只能通过内网IP访问Web界面Webhook通知支持钉钉、飞书等IP变更时会收到提醒日志保留建议开启方便排查问题配置完成后点保存立即到日志标签页查看运行状态。如果看到更新成功的日志说明已经生效。5. 路由器端口转发设置现在域名已经能解析到你的公网IP了但还需要在路由器上做端口转发才能访问内网服务。不同路由器界面不同但核心步骤一致登录路由器管理页面通常是192.168.1.1找到端口转发或虚拟服务器功能添加规则外部端口如5000、内部IP飞牛OS的局域网IP、内部端口服务端口保存并应用以群晖NAS为例需要转发5000HTTP和5001HTTPS端口。完成后就可以通过nas.yourdomain.com:5000在外网访问了。6. 常见问题排查6.1 域名解析不生效首先检查DDNS-Go日志是否有报错。常见问题包括密钥填写错误注意SecretAccessKey区分大小写域名格式不对必须是完整域名如sub.domain.com华为云账号未实名认证可以用dig命令测试解析是否生效dig nas.yourdomain.com short6.2 端口无法访问如果域名能解析但服务无法访问检查飞牛OS防火墙是否放行了相应端口确认路由器转发规则正确测试内网直接访问IP:端口是否正常我遇到过转发规则保存但未生效的情况重启路由器就解决了。6.3 IP变更延迟有时公网IP变了但解析未及时更新检查DDNS-Go是否在运行systemctl status ddns-go缩短同步间隔但不要太频繁可能被限流查看华为云解析记录的最后更新时间7. 安全加固建议7.1 保护Web界面默认配置下DDNS-Go的Web界面没有密码保护。可以通过以下方式加固启用禁止公网访问选项使用Nginx反向代理并添加HTTP Basic认证定期检查/var/log/ddns-go.log是否有异常访问7.2 API密钥轮换华为云支持定期更换API密钥。建议每3-6个月生成新密钥并更新DDNS-Go配置旧密钥及时删除。7.3 防火墙设置在飞牛OS上配置防火墙只允许从内网IP访问9876端口sudo ufw allow from 192.168.1.0/24 to any port 9876 sudo ufw enable这套方案我已经稳定使用一年多即使运营商每周强制更换公网IP也能无缝切换。对于家庭用户和小型工作室来说零成本实现接近商业级的内网穿透服务性价比非常高。

更多文章