飞牛NAS+Docker+DDNS:三步搞定动态域名解析与二级域名配置
1. 为什么需要动态域名解析家里有飞牛NAS的朋友肯定遇到过这样的烦恼每次想从外网访问家里的NAS都得先查一下当前的公网IP地址。更糟心的是运营商的公网IP经常变动可能早上还能连下午就失效了。这时候动态域名解析DDNS就是你的救星。简单来说DDNS就像给你的NAS配了个永久门牌号。即使公网IP怎么变你只需要记住一个固定的域名比如nas.yourname.com就能随时找到家中的设备。我实测下来配合Docker部署的方案稳定性比传统脚本方式强太多三个月没出现过一次断连。2. 准备工作搭建前的必备条件2.1 硬件与网络环境检查首先确认你的飞牛NAS已经开启Docker支持。在飞牛OS的管理后台进入「应用中心」-「Docker」确保服务状态显示为运行中。如果是首次使用系统会自动下载约300MB的依赖包我这台N5105的机器大概花了5分钟。关键点来了必须确认你的网络有公网IP。电信/联通用户可以直接拨打客服要IPv4公网地址部分地区免费移动用户建议用IPv6测试。在NAS终端里运行curl ifconfig.me如果显示的IP和路由器WAN口IP一致说明有公网IP。2.2 域名服务配置推荐使用免费的DDNS服务如DDNS8注册后你会得到专属子域名例如nas-yourname.9517.eu.orgAPI Token在账号设置的「安全」页面生成这里有个坑要注意不要直接在浏览器里复制Token我吃过亏有些特殊字符会被转义。建议点击显示Token后用记事本保存。如果后续容器报认证错误八成是Token格式问题。3. Docker Compose部署实战3.1 配置文件详解在飞牛NAS的/docker/ddns目录没有就新建创建docker-compose.yml我建议用VS Code编辑避免编码问题version: 3.9 services: ddns: image: fjsay/ddns:latest environment: - DOMAINnas-yourname.9517.eu.org # 必须带完整子域名 - TOKENyour_api_token_here # 32位字母数字组合 - API_URLhttps://ddns8.cn/api/ddnsapi.php dns: - 8.8.8.8 # 推荐用阿里云DNS223.5.5.5更快 - 1.1.1.1 restart: unless-stopped network_mode: host # 必须用host模式获取真实公网IP参数说明DOMAIN填注册时获得的完整子域名不是根域名TOKEN建议用环境变量文件保密进阶用法network_mode桥接模式会获取到内网IP这是新手最容易踩的坑3.2 启动与验证在终端进入配置文件目录执行docker-compose up -d查看日志确认运行状态docker logs -f ddns正常情况会看到类似输出[INFO] 当前公网IP: 112.64.xxx.xxx [SUCCESS] 域名解析更新成功4. 二级域名进阶配置4.1 泛域名解析设置如果想给不同服务分配子域名如movie.nas.com、download.nas.com需要在域名服务商处添加两条记录类型主机名值TTLANAS公网IP600CNAME*主域名6004.2 Nginx反向代理示例在Docker中新增一个nginx服务services: nginx: image: nginx:alpine volumes: - ./nginx.conf:/etc/nginx/conf.d/default.conf ports: - 80:80 - 443:443配套的nginx.conf配置片段server { listen 80; server_name movie.*; location / { proxy_pass http://nas内网IP:32400; # Plex端口 } }5. 常见问题排查指南5.1 容器启动失败现象docker-compose up报错退出排查步骤检查yaml文件缩进必须用空格不能用Tab运行docker pull fjsay/ddns:latest手动拉取镜像查看NAS磁盘空间df -h小于1GB时会拉取失败5.2 域名解析不更新现象外网IP变了但域名仍指向旧IP解决方案进入容器内手动触发更新docker exec ddns sh -c echo UPDATE /tmp/ddns.trigger检查时间同步docker exec ddns date # 显示时间应与主机一致5.3 IPv6支持问题如果你的网络只有IPv6需要修改compose文件environment: - IPV61 # 启用IPv6检测 - CHECK_URLhttp://v6.ident.me # IPv6检测专用接口6. 安全加固建议定期轮换Token每月在DDNS服务商后台生成新Token更新compose文件限制解析频率在crontab添加定时任务避免频繁请求API*/10 * * * * docker restart ddns /dev/null日志监控用飞牛自带的日志服务监控/var/lib/docker/containers/*/*-json.log我在实际使用中发现配合飞牛的防火墙规则只开放必要端口这套方案完全可以满足个人用户的远程访问需求。如果遇到突发问题最快解决方案就是docker-compose down docker-compose up -d重建容器能解决90%的异常情况。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2423011.html
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!