甲骨文云动态公网 IP 需配合第三方 DDNS 服务实现域名解析,适合需要频繁变更 IP 的临时测试环境。
先说结论:通过部署自动更新脚本绑定 DDNS 服务,可解决动态 IP 导致的域名解析失效问题,但需注意服务稳定性与安全风险。
- 适合:临时测试环境、个人项目等对 IP 稳定性要求不高的场景
- 先准备:注册支持 API 的 DDNS 服务商(如 Cloudflare)、获取 API 密钥
- 验收:通过域名访问服务并检查 DNS 记录更新日志
命令速用版
# 安装必要工具(以 Ubuntu 为例)
sudo apt update && sudo apt install -y curl jq
# 创建更新脚本(示例为 Cloudflare)
cat > /usr/local/bin/update_ddns.sh <为什么会这样
甲骨文云默认分配的公网 IP 属于临时地址,实例重启或停止后可能变更。DDNS 通过定期检测 IP 变化并调用域名服务商 API 更新解析记录,实现域名与动态 IP 的绑定。此方案依赖第三方服务,需确保脚本执行环境与网络策略允许外联。
分步处理
- 获取域名管理权限
在域名服务商控制台获取 API 密钥(如 Cloudflare 的 Global API Key),记录 Zone ID 和 DNS 记录 ID - 部署更新脚本
将示例脚本中的变量替换为实际值,注意文件权限设置为 700 防止密钥泄露 - 配置防火墙规则
在甲骨文云安全组放行出站 HTTPS(443)流量,确保脚本能访问 API - 设置定时任务
通过 crontab 定期执行脚本,建议间隔不低于 5 分钟避免触发 API 频率限制
怎么验证是否生效
- 执行
dig 你的域名检查返回 IP 是否与实例当前公网 IP 一致 - 查看 DDNS 服务商控制台的解析记录更新时间
- 在脚本中添加日志输出,检查
/var/log/syslog中 cron 执行记录
常见坑
- API 密钥权限过大可能导致域名被恶意篡改,建议创建仅限 DNS 编辑的 Token
- 甲骨文云实例重启时若未保留公网 IP,需确保脚本在系统启动后自动运行
- 部分免费 DDNS 服务有更新频率限制,高频调用可能导致临时封禁
参考来源
- Oracle Cloud 文档:Public IP Addresses
- Cloudflare API 文档:Cloudflare API v4