首页看本文之前,查看前面的三个教程可能对你非常有帮助。如果你只是想查看如果在Cubieboard 上动态解析,可以只看后面的文章。
本节教程主要是实现这样的流程:
通过注册的域名,通过DNSpod做DNS解析,通过IP指向家中的路由器外网IP地址;
家里的路由器一端通过调制解调器或者LAN连接到联通、电信等网络;
家里的路由器另一端连接Cubieboard Linux服务器(教程二中已做好Cubieboard Linux服务器的静态IP地址分配);
家里的路由器其他还连接着各种终端如台式电脑、笔记本电脑、平板电脑、智能手机(路由器支持WIFI或者LAN连接);
通过上面要实现的流程,我画了简单的流程图,如下:
如果要做 DDNS 域名动态解析,我们需要寻找一个最稳定最安全的域名解析商 — DNSpod。
为什么选择 DNSpod?
路由器中自带默认的花生壳作为动态解析,考虑以下几个方面放弃使用:
花生壳是老牌的做动态DNS解析,不太喜欢花生壳那套陈旧的管理界面与非常复杂的注册流程。
花生壳需要按每月付费才可以使用,试用了免费的用户,发现无法添加域名。
没有API接口。
根据花生壳的这三点不足,我决定放弃花生壳,而使用新起的DNSpod。
DNSpod有以下优势:
DNSPod 拥有全球最领先的云 DNS 集群技术。6年 DNS 领域专业研究,无数次紧急 DNS 故障处理,让我们更有信心提供最好的服务。
DNSPod DNS Attack Detector 可以在 6秒内发现域名解析攻击行为并自动学习攻击特征;通过DNSPod DNS Protector 进行攻击防护处理并完成抓包取证,让DNSPod的DNS解析更加稳定。
D监控程序使用超过20种独有的算法,一旦网站服务器失去响应,立刻切换到备用服务器上,主服务器恢复后,再自动切换回去。让网站平稳运行。
无限域名,无限记录。你可以将所有的域名放在DNSPod统一管理。我们允许添加所有类型的解析记录,包括A、CNAME、NS、MX、TXT、SRV、AAAA(IPv6)……,甚至还有免费的 URL 转发。
实时生效。DNSPod专有的DNS同步引擎,仅仅几秒就可以将 DNS 记录同步到DNSPod全国的云DNS集群,快如闪电。
99.99% 稳定运行时间。DNSPod采用分布式DNS服务器架构。一个节点发生故障,其他节点不会受到影响,请求自动分配到可用服务器,对网站完全透明。
搜索引擎优化。DNSpod与百度、搜搜、搜狗有着深入密切的合作关系,是全球唯一一家与搜索引擎合作的DNS服务商。网站一旦开始使用 DNSPod,数据将会被准确迅速地推送到各个搜索引擎。
免费的优质DNS解析服务。承诺永远不会对基本的DNS功能收费。而基本功能对于一台Cubieboard Linux服务器来说完全够用了。
客户端 / API。DNSPod 提供多样化的客户端及丰富的API满足您的个性化需求。
清晰的 UI 设计,简单实用。学会使用DNSPod,仅需三步。
通过 花生壳 VS DNSpod 的比较,我给出 DNSpod 的绝对三大优势:
基础功能永久免费。
监控短信通知、监控邮件通知、监控微信通知。
API 接口随时更新域名解析,从而实现动态解析,Cubieboard Linux服务器直接与 DNSpod 实现 API 交互。
经过使用一段时间的 DNSpod 我发现其解析速度之快,包括国内、国外。一两分钟在国外就能解析出新的动态IP指向,感觉就是一个字“爽”。
预览一下DNSpod手机短信通知。
查看更多: LixiPHP - 专注于建设高品质网站!http://blog.lixiphp.com#ixzz2Xy11ryz7
DDNS 域名动态解析
第一步,根据你Cubieboard Linux 服务器的内网静态IP 地址,通过路由器将端口映射到Cubieboard Linux 服务器IP地址上。
假设你不知道Cubieboard Linux服务器的内网静态IP地址,可以通过ifconfig命令查看,如下:
root@cubieboard:~# ifconfig
eth0 Link encap:Ethernet HWaddr 96:63:50:7e:7f:30
inet addr:192.168.1.59 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:96289 errors:0 dropped:33206 overruns:0 frame:0
TX packets:46096 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:21884319 (21.8 MB) TX bytes:29844976 (29.8 MB)
Interrupt:55 Base address:0xb000
其中inet addr后面的 192.168.1.59 就是Cubieboard Linux 服务器的内网IP地址。
第二步,通过路由器设置虚拟服务器。
虚拟服务器定义了广域网服务端口和局域网网络服务器之间的映射关系,所有对该广域网服务端口的访问将会被重定位给通过IP地址指定的局域网网络服务器。
页面位于路由器 转发规则 > 虚拟服务器,设置为:
ID | 服务端口 | IP地址 | 协议 | 状态 | 配置 |
1 | 80 | 192.168.1.59 | ALL | 生效 | 编辑删除 |
2 | 22 | 192.168.1.59 | ALL | 生效 | 编辑删除 |
注意:80服务端口是Web服务器端口,22是SSH远程控制的接口。
注意:电信已经封杀了80端口,我家里的网络是联通,目前是不限制80端口的。
TP-Link路由器设置请参看上图,其他路由器设置类似。
第三步,为了实现Cubieboard Linux 服务器与DNSpod之间的同步,也就是一旦本地的路由器重启了或者网络中断之后,路由器的外网IP 地址会变化,Cubieboard Linux 服务器能及时更新 DNSpod 的IP指向,从而实现动态域名解析,Cubieboard Linux 服务器及时更新是依靠服务器一直保持网络连接,并获取外网IP地址,通过定时任务,每次5分钟检查一次DNSpod的域名指向的IP是否与Cubieboard Linux 服务器获取到的IP地址相同,如果相同则跳过,如果不同就立刻更新DNSpod 指向的IP为最新获取到的IP地址。