准备工作,注册dynv6账号(免费),新增一个免费二级域名
https://dynv6.com/
步骤 1:安装必要工具(飞牛可跳过)
--首先确保系统已安装 curl 和 cron:
sudo apt update
sudo apt install curl cron -y
步骤 2:创建更新脚本
--创建一个用于更新 Dynv6 的脚本文件:
sudo nano /usr/local/bin/dynv6-update.sh
--添加以下内容(替换 YOUR_DOMAIN 和 YOUR_TOKEN):
#!/bin/bash
# Dynv6 IPv6 DDNS 更新脚本
DOMAIN="YOUR_DOMAIN.dynv6.net" # 你的域名
TOKEN="YOUR_TOKEN" # Dynv6账户的API Token (instructions页面的password)
LOG_FILE="/var/log/dynv6.log" # 日志文件路径
# 获取当前IPv6地址(通过icanhazip服务)
CURRENT_IPV6=$(curl -s -6 https://icanhazip.com)
# 检查是否成功获取
IPv6if [ -z "$CURRENT_IPV6" ]; then
echo "$(date): 获取IPv6失败" >> "获取失败(date):获取IPv6失败">>"$LOG_FILE"
exit 1
fi
# 更新Dynv6记录
RESPONSE=$(curl -s "https://dynv6.com/api/update?hostname=$DOMAIN&token=$TOKEN&ipv6=$CURRENT_IPV6&ipv6prefix=auto")
# 记录更新结果
echo "$(date): IP=$CURRENT_IPV6, 响应=$RESPONSE" >> "$LOG_FILE"
保存并退出(按 Ctrl+X,然后按 Y 和 Enter)。
步骤 3:设置脚本权限
--确保脚本可执行:
sudo chmod +x /usr/local/bin/dynv6-update.sh
步骤 4:配置定时任务(Cron)
--编辑系统级 cron 表:
sudo crontab -e
--在文件末尾添加以下行(每小时执行一次):
0 * * * * /usr/local/bin/dynv6-update.sh
保存并退出。
步骤 5:验证配置
--手动执行一次脚本,检查是否正常工作:
/usr/local/bin/dynv6-update.sh
--查看日志确认更新结果:
cat /var/log/dynv6.log
通过以上配置,系统将自动定期更新 Dynv6 的 IPv6 地址,确保 DDNS 记录始终指向最新的公网 IPv6。后续只需要在路由器上开放相关端口,即可在外网访问飞牛系统及相关服务。