http://www.williamsang.com/archives/1557.html
DNSPOD是一家提供域名解析的服务商。基本功能免费,国内名气算是比较大的。
最近想在外网访问一个拨号上网的服务器。大家都知道拨号上网每次IP都有可能变动。所以需要实现动态域名解析,而DNSPOD提供了修改域名解析的接口,我使用提供的接口写了一个程序。再利用Linux自带的crontab定期检查IP,实现动态域名解析。
原理其实就是比较本机的广域网IP地址和DNSPOD上注册的IP地址是否一致,不一致则利用DNSPOD的API修改成为现在的IP地址。本文主要介绍如何使用此程序,本文将tk.williamsang.com解析到一个拨号上网电脑上。
源代码我已经放到github上,地址:
https://github.com/William-Sang/ddns
使用前提:
- 你在DNSPOD上注册了域名,本文是 williamsang.com
- 你想要映射的记录已经在DNSPOD上建好了,本文建的是 tk
- 你的操作系统为Linux,安装好了PHP环境。
- 你的家用路由器是断线自动连接的(不然连网都没有还搞什么。。。)
域名相关内容查看DNSPOD帮助,介绍的很详细,如下图。
程序试运行
在Linux环境下,假设现在的目录为/data/www:
1
2
|
# git clone git@github.com:William-Sang/ddns.git # cd ddns/ |
修改配置文件:改成你在DNSPOD的用户名密码,和你的域名、记录(可以当作子域名)。
1
|
# vim conf.php |
示例如下:
1
2
3
4
5
6
7
|
//在此填写你的DNSPOD 登录email,和密码 define( 'LOGIN_EMAIL' , 'william@williamsang.com' );
define( 'LOGIN_PASSWORD' , 'bugaosuni' );
//再次填写你需要映射的域名,记录 define( 'DOMAIN' , 'williamsang.com' );
define( 'RECORD' , 'tk' );
|
此时程序地址为:/data/www/ddns/index.php
假设你的PHP程序安装位置为:/usr/local/server/php/bin/php
则尝试执行(如果不一样,这替换为你的实际执行环境):
1
|
# /usr/local/server/php/bin/php /data/www/ddns/index.php |
下图为:服务器现在地址和DNSPOD注册地址一样的运行情况。
下图为:服务器现在地址和DNSPOD注册地址不一样的运行情况。
你可以通过在DNSPOD网站上修改解析、查看记录来验证程序。
注意:
- 修改DNS解析记录需要一定生效时间,所以可能需要几分钟才会生效。
配置crontab
配置crontab,让Linux定时自动执行此程序
关于cron的使用请参看: Linux 定时重复执行任务 crontab 命令详解。
DNSPOD的接口调用是有次数限制的,如果账号尝试登录错误次数在5分钟内超过30次则会被禁止登录一个小时。以下5分钟调用一次,你也可以1分钟调用一次也没问题哈。
1
2
3
4
|
# crontab -e 此时输入一下内容,每五分钟运行一次,也可以设置小一点。 5/* * * * * /usr/local/server/php/bin/php /data/www/ddns/index .php
# service crond restart |
使用PING命令验证域名是否生效,PING命令返回该域名IP,或者你搭建配置好HTTP服务器,直接用域名访问测试效果:
- OKAY结束啦,总结来说就是使用crontab定期运行此PHP脚本。
相关推荐
使用 DNSPOD API 可以实现域名动态解析,即在域名解析中更新 IP 地址。下面是使用 DNSPOD API 实现域名动态解析的步骤: 1. 添加记录 在 dnspod 添加域名后,并添加一个记录用来解析宽带的 IP 地址,如添加一个...
标题“利用阿里云的API实现动态域名解析”表明我们将探讨如何通过阿里云的API接口动态更新DNS记录,确保即使IP地址改变,用户也能通过同一个域名访问我们的服务。 描述中提到“不使用花生壳”,花生壳是一款常见的...
DNSPOD API 域名解析示例本程序基于"李院长"的dns api修改而来php版dnspod api程序基本功能:1.支持域名解析。[泛解析一样支持]2.支持设置A 记录、CNAME、AAAA、MX3.支持修改域名解析4.支持删除域名解析测试帐号:...
DNSPOD API 域名解析示例 本程序基于"李院长"的dns api修改而来 php版dnspod api程序 基本功能: 1.支持域名解析。[泛解析一样支持] 2.支持设置A 记录、CNAME、AAAA、MX 3.支持修改域名解析 4.支持删除域名...
标题中的“dnspod_python_DNSPodAPI_源码”表明这是一个使用Python语言实现的项目,它利用DNSPod的API来管理DNS记录。DNSPod是一家知名的DNS服务提供商,提供了API接口供开发者使用,以便自动化地管理和更新DNS设置...
通过学习这个示例,开发者可以理解如何将PHP与DNSPOD API结合,实现在自己的应用中动态管理域名解析,例如自动化部署、故障切换或者监控等场景。这不仅可以提升运维效率,还能增强系统的灵活性和可靠性。
DNSPOD API **解析示例 本程序基于"李院长"的dns api修改而来 php版dnspod api程序 基本功能: 1.支持**解析。[泛解析一样支持] 2.支持设置A 记录、CNAME、AAAA、MX 3.支持修改**解析 4.支持删除**解析 测试帐号:...
这个压缩包"基于PHP的DNSPODAPI域名解析示例源码.zip"提供了一个使用PHP与DNSPod API进行交互的实例,帮助开发者理解如何通过编程方式管理域名解析设置。DNSPod是一家知名的DNS服务提供商,其API允许用户通过编程...
总结,DNSPod的DynSpod工具是实现动态域名解析的重要工具,尤其适用于个人用户和小型企业,帮助他们在不断变化的网络环境中保持域名指向的准确性。同时,通过配合使用提供的客户端和服务卸载工具,用户可以轻松地...
标题中的“基于 DNSPod 用户 API 实现的纯 Shell 动态域名客户端”指的是一个使用 Shell 脚本语言编写的程序,它与 DNSPod 的用户 API 进行交互,实现动态域名解析服务。DNSPod 是一家提供域名解析服务的公司,其...
在本实例中,我们主要探讨的是如何使用PHP与DNSPOD API进行交互,实现域名解析的相关功能。DNSPOD API是腾讯云提供的DNS服务接口,它允许开发者通过编程方式管理域名解析设置,如添加、修改或删除DNS记录。以下是...
DNSPOD批量解析工具是一款专为管理DNSPOD服务设计的实用程序,它允许用户高效地进行批量域名解析设置。DNSPOD是中国领先的域名解析服务商之一,为用户提供高可用性和低延迟的DNS服务。批量解析功能是针对拥有大量...
楹栋DNSpod域名解析系统可以通过DNSpod建立自己的域名解析平台,可向用户提供独立的控制面板。 楹栋DNSpod域名解析系统 1.30 更新日志:2016-05-17 与官方最新API对接,重新编译组件。 系统功能: 1 增加、...
ArDNSPod是一个基于DNSPod用户API实现的纯Shell脚本动态域名更新客户端。这个项目的主要目的是帮助用户在IP地址变化时自动更新DNSPod中的域名解析记录,确保远程访问的稳定性。由于是用Shell脚本编写,它适用于各种...
楹栋DNSpod域名解析系统可以通过DNSpod建立自己的域名解析平台,可向用户提供独立的控制面板。 系统功能: 1 增加、修改、删除DNSpod用户中的域名 2 同步、同步全部DNSpod用户中的域名到本地 3 可以设置域名的注册...
可以通过查看DNSPod控制台或使用第三方工具检查域名解析情况。 总之,通过PHP脚本"DNSPod.php",我们可以有效地解决黑群晖系统下IPv6地址的DDNS解析问题。这个过程涉及了IPv6基础知识、DNSPod服务的使用以及PHP编程...
楹栋DNSpod域名解析系统 更新日志: 修正日期:2016.5.17 与官方最新API对接,重新编译组件。 楹栋DNSpod域名解析系统简介 楹栋DNSpod域名解析系统可以通过DNSpod建立自己的域名解析平台,可向用户提供独立的...
ipage 基于 DNSPod API 的域名解析管理系统,可以分享二级域名给注册用户,前提是你有个还算有意思的顶级域名,比如 about.me etc.####要求一个待分享的顶级域名独立 IP 的 VPS一些 WEB 开发常识####部署部署...