相关文章推荐
才高八斗的西瓜  ·  借助Dnspod ...·  2 年前    · 
才高八斗的西瓜  ·  DNS 解析DNSPod ...·  2 年前    · 

2020-01-03
- 修复了12月31日由于 dnspod API 改动导致的失效。

2019-05-24

- 支持IPV6(如你所料,之前所说的支持是假的)
- 根据网站的更新,api调用使用TLS v1.2,解决了之前调用失败的问题(感谢@lth410 指出)。

------------------------------- 以下正文 ---------------------------------------------

DDNS是什么

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

什么时候需要用?

应用场景举例:

1. 在公司局域网内,小明在自己的电脑上建立了一个FTP服务器用来共享文件。但他使用普通的上网账号上网,主机接入局域网后需要认证账号,随机分配IP地址。每次断线之后都会使得IP地址发生变化,这样一来,小明需要时刻记录下当前的IP地址,才能通过该地址访问到FTP服务器。做动态域名解析后,主机IP绑定到小明自己的域名,一旦IP地址发生变化,更新域名解析内容,他依旧可以通过域名访问到FTP服务器。

2. 阿杰办理了电信宽带后幸运地发现,获得的IP可以从外网直接访问(之所以说他幸运,是因为现在IPV4资源紧张,宽带运营商都是做了一层NAT再后在给用户分配内网IP,很多人实际公用一个出口IP. )。阿杰于是在自己的主机上搭了一个IP摄像头,这样无论在何地都可以通过网络查看家里的情况。IP虽然是公网IP,但却是动态分配的(公网静态IP要10万块钱一年),每断开一次就会变化一次。因此他可以选择动态域名解析。

DDNS可以解决什么? 答:可以把变化的IP自动动态地映射到域名上,通过不变的域名访问变化IP的主机;

DDNS不能解决什么?答:本身不能实现端口映射,因此如果主机在NAT网络内部,而你又没有权限在路由器上设置端口映射,那么DDNS就无解了,需要做反向代理或者端口穿透。

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

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

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

利用DNSPod实现动态域名解析

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

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

在 dnspod 的管理界面 https://console.dnspod.cn/account/token# 创建API Token

创建成功后获得ID和Token,

利用这两个信息,就可以通过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 文件, 并指定要绑定的子域名↓

运行ddnspod.sh,就可以获得IP地址,更新域名的解析值了(这里选择的是解析LAN 地址)。

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

IPV6解析

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

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 来实现。

我加入了 IPv6 自动 解析 脚本。到手直接用。非常适合家里有群晖NAS但是只有公网 IPv6 的家庭宽带。绝对是优秀的D DNS 方案。 本脚本的工作流程是:对比云端 解析 记录-> 不存在则添加 -> 存在则更新。 脚本运行依赖:curl、openssl (注:群晖NAS环境默认自带这些工具,无需安装!) 使用方法: 1、首先,登录阿里控制台: 1-1)进入《云 解析 DNS 》,新增待 解析 的域名记录,如:example.com; 1-2) 进入《AccessKey 管理》,获取AccessKey(没有则创建)。 2、然后,打开alid dns .sh脚本,在Setting里设置AccessKey,如下: access_key_id="" access_key_secret="" 3、最后,执行alid dns .sh脚本,如: ./alid dns .sh [OPTION] <String> 如何拿到超级管理员账户+密码,打电话给你10086说宽带故障了让上门来维修,业务员上门来后你直接告诉他,我要 超级管理员账户+密码 ,就算你说让改 PPPoE 拨号上网 他们都不知道这个是干嘛的,很多人不会愿意给你超级管理员账户密码,你直接表态我有用处,记住了他们可能会给你一个默认的超级管理员账户密码,你先试试能不能登录成功,因为我的移动宽带就是超级管理员账户密码不是默认的,在装完宽带后光猫会自动随机重置密码,因为这个问题折腾了几天,那个业务员死活说这个就是超级管理员账户和密码。 1、http://www.anrip.com/post/872 2、http://fengwan.blog.51cto.com/508652/1404534/ 源码 地址 :https://github.com/anrip/Ar DNS Pod 只是源码只能 实现 获取本地IP,若是有路由器,仅能获得 内网 地址 。,要向获得 外网 地址 :需要结合两篇文章。 两个文件,放到/usr/bin下面。... 自2016年6月1日起,苹果要求所有提交AppStore的iOS应用必须支持 IPv6 -only环境,根据苹果开发者网站的声明,大部分现有应用程序已经通过NSURLSession和CFNetwork APIs兼容该协议。依然使用IPv4 APIs的或者硬件编码IP 地址 的开发者将需要手工调整应用代码来适应苹果的最新策略。随着IPv4 地址 用完,转移到 地址 更丰富的 IPv6 协议正在变得越来越重要。 经过全面的测试和灰度发布,腾讯云 DNS Pod 域名解析 已全面支持AppStore IPv6 -only网络环境,已有成.. 脚本内容根据实际情况填写,上面只是示例 规则很简单,从注释中可以看到左到右分别是 分钟(0~59)、小时(0~23)、天(1~31)、月(1~12)、星期(0~6)、用户名、要定时执行的命令或者脚本。只有运行了d dns pod .sh才能检查IP 地址 是否变更并加以修改,所以只要定时运行该脚本,就能 实现 DNS 动态 解析 ,使用crontab能 实现 定时运行功能。首先需要注册一个域名,首选腾讯云域名,因为 DNS Pod 2015年被腾讯收购后和腾讯云的账号打通了。安装crontabs服务并设置开机自启。 公司电信宽带(PPoE)分配了一个公网IP,但它每过一段时间就变了,如果我要用它远程桌面,意味着每过一段时间就要改一次IP,记一个新的IP,非常复杂,该如何用一个固定的 地址 来替代这些变化的IP并且 实现 定时自动替换呢?虽然可以通过购买EIP来固定这个 地址 ,但是成本稍微高了。替代的办法就是 动态 解析 ,用一个别名代替变换的IP。而别名就是域名,用一个固定的域名, 解析 到这些IP,即可 实现 D DNS 。 由于最近搬了办公室,两个办公室两条宽带,现在的办公室与之前的办公室网络不互通,之前的办公室有一台Windows Server2008的服务器做了文件共享。现在换了办公室不能够访问。咨询网工师傅,说调试费用+网线费用3000,遂放弃硬件解决方案。 在查阅资料及结合现有的资源决定使用 IIS+FTP+D DNS POD 实现 外网 访问。 一.安装IIS及FTP(如已安装请略过此步)参考 地址 二.IIS部署FTP站点 快捷导航开始如何购买域名?如何设置API(密钥)重点如何使用D DNS 动态域名 服务为什么使用D DNS 利用 脚本更新 DNS 常见问题我无法 利用 脚本获取到 IPV6 地址 我无法执行这个脚本 本代码已在Linux环境测试,理论上可以在各种Linux设备进行D DNS 动态域名 服务,如群晖等NAS或Linux虚拟机。 在开始之前,首先你需要在腾讯云上购买域名或 域名解析 服务在腾讯云上。 如何购买域名? 在腾讯云域名注册网页上,可以购买域名。 在购买完成后,可以进入腾讯云的域名控制台,查看域名信息。 如何设置API(密钥) 手机设置--更多--移动网络--接入点名称(APN)--进去找到APN协议--设置为 ipv4/ ipv6 保存退出,则手机流量上网的时候就会同时得到一个IPV4 地址 和一个 IPV6 地址 。 该APP运行在安卓设备上,可以将该安卓设备的 IPV6 地址 实时 解析 出来,并能监视IP 地址 的变化,一旦IP发生改变,域名就会指向新的IP 地址 。 摘要使用shell脚本和 dns pod 官方提供的api 实现 域名的d dns 动态 解析 ,本脚本只会在ip有改变的时候才对 dns pod 域名做 解析 更改,而不是定时去更改。脚本适用Linux和openwrt,前提是有bash下面是openwrt系统的路由使用方法1更换openwrt的源加速 地址 sed -i 's/downloads.openwrt.org/openwrt.legion.pt/' /etc/opk... IPV6 阿里DDAS 因为需要在家搭建一套环境,并且需要公网能访问。国内的ipv4的 地址 ,各大运营商基本都不会分配ipv4 地址 (电信宽带好像有地方可以,但是听说很贵),而且是 动态 的,每过段时间就会改变。 发现移动宽带的公网 ipv6 地址 是可以获取到的,但是也会 动态 刷新。想稳定访问就加上阿里的d dns 的域名访问。 ### 1.准备工作 因为宽带接入家里基本是都是需要通过光猫拨号后,再接入路由器。这样就拿不到真实的公网 ipv6 地址 ,需要先将光猫中的设置改为桥接模式,再让路由器输入宽带账户和密码拨号。这个过程我调