搭建内网服务器时,因为运营商分配的公网ip地址是动态的。在一段时间后或者重启路光猫后,会导致公网ip变化,此时阿里云设置DNS将失效。因此需要进行动态域名解析DDNS。

DDNS是什么

对于DHCP方式获得的IP,无论对于局域网内来说,还是外网来说,都会有使得IP地址每隔一段时间变化一次,如果想要通过恒定不变的地址访问主机,就需要动态域名解析。用一句话说明原理是:把动态变化的IP地址绑定到固定不变的域名上,这样便是以不变应万变,只要记住域名就可以了。

怎么做?

根据能力和预算有不同的做法:

不差钱可以直接去花生壳购买动态域名服务,随便还能提供内网穿透的功能;

自己折腾可以使用DNSPod + 个人域名 + ArDNSPod脚本.

利用DNSPod实现动态域名解析

首先需要注册一个域名,去腾讯云注册最为方便,因为DNSPod 2015年被腾讯收购后和腾讯云的账号打通了。

登陆dnspod控制台https://console.dnspod.cn/dns/list,创建一条A记录解析,IP值暂时随便填就行:

1681893673-e8cf981a2f2f68e

1681893851-58ae2fc9cb09d74

  • 创建成功后获得ID和Token

1681893945-1540aa67a589d97

利用这两个信息,就可以通过API修改域名解析值了,详见API文档:https://www.dnspod.cn/docs/info.html#d

下载ArDNSPod客户端

ArDNSPod是利用DNSPod实现动态解析的项目,github地址:ArDNSPod https://github.com/anrip/ArDNSPod

笔者重新作了一些修改,可以选择要解析的IP类型,包括外网,内网,IPv6,见

https://github.com/imki911/ArDNSPod     
(复制到浏览器打开,避免被csdn劫持)
  • 将之前得到的ID和token写入dns.conf 文件, 并指定要绑定的子域名↓

1681894096-74e68ac943d9662

到域名控制台查看,已经更新了记录值. 现在就可以通过域名ddns1.cxaa.com 访问主机了。

IPV6解析

1. 在网页管理界面中新建一条解析ipv6的AAAA记录,可以先随便乱填一个地址。

1681894848-cb4fb099bc38d18

2. 在ddnspod.sh 开头,IPtype值改为3,切换到 IPv6 解析。

3. 运行ifconfig,查看具有IPv6地址的网卡设备名,例如eth0等

4. ddnspod.sh 69行,将 eth0 替换成本机的网卡设备名。确保单独运行该命令可以返回ipv6地址

ip addr show dev eth0 | sed -e's/^.*inet6 \([^ ]*\)\/.*$/\1/;t;d'

5. 配置dns.conf文件,运行ddnspod.sh即可更新解析值。

自动更新解析

DDNS的第一个D含义在于动态,即IP地址变化之后自动更新域名记录值,这可以通过把脚本设置为定时任务cron来实现。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。