自建动态域名解析(DDNS)

科普

域名解析是把域名指向网站空间IP,让人们通过注册的域名可以方便地访问到网站一种服务。域名解析也叫域名指向、服务器设置、域名配置以及反向IP登记等等。说得简单点就是将好记的域名解析成IP,服务由DNS服务器完成,是把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。
动态域名解析服务,是将用户的动态IP地址映射到一个固定的域名解析服务上,用户每次连接网络的时候,客户端程序就会通过信息传递把该主机的动态IP地址传送给位于服务商主机上的服务器程序,服务程序负责提供DNS服务并实现动态域名解析。就是说DDNS捕获用户每次变化的IP地址,然后将其与域名相对应,这样域名就可以始终解析到非固定IP的服务器上,互联网用户通过本地的域名服务器获得网站域名的IP地址,从而可以访问网站的服务。


如何在内网自己部署动态域名解析服务器

这里使用 github 上 New Future 大神的一个开源项目 DDNS 来部署
内网准备一台 linux 系统机器,我这里用 Centos7

部署步骤:

[[email protected] ~]# pip install ddns
[[email protected] ~]# mkdir -p /data/ddns/
[[email protected] ~]# vim /data/ddns/config.json
{
  "$schema": "https://ddns.newfuture.cc/schema/v2.json",
  # 此处用这个默认的地址即可
  "debug": false,
  # 为 true 的话,则会打印出日志,用于调试
  "dns": "alidns",
  # 此处可选 alidns/dnscom/dnspod
  "id": "id",
  # 域名提供商处获取 id
  "index4": "public",
  # 这里可以理解为使用这台服务器访问外网时的外网 IP 做解析
  "index6": false,
  # 这里可以理解为关闭 ipv6 的域名解析
  "ipv4": [
    "itwordsweb.com",
    "ddns.itwordsweb.com"
    # 此处填写域名,这里是指 ipv4 的域名解析,下面的是 ipv6
  ],
  "ipv6": [
    "itwordsweb.com",
    "ipv6.ddns.itwordsweb.com"
  ],
  "proxy": null,
  "token": "token"
  # 域名提供商出获取 token
}
[[email protected] ~]# ddns -c /data/ddns/config.json
[[email protected] ~]# crontab -e
*/5 * * * * /usr/local/bin/ddns -c /data/ddns/config.json
[[email protected] ~]# vim /etc/crontab
*/5 * * * * root /usr/local/bin/ddns -c /data/ddns/config.json

如何获取 id 和 token(阿里云):
现需要登录控制台
https://homenew.console.aliyun.com/

67612-avroomyjuid.png

30323-cwozqvb0cts.png

87998-5c9zz6wdn1.png

41495-5hd4a144kz.png


动态解析结果

20982-yguqodmwzh.png


参考资料

https://github.com/NewFuture/DDNS


linuxcentosddns动态域名解析

我来吐槽

*

*