更新记录
2020-01-03
-修复了由于12月31日对dnspod API进行更改而导致的失效.
2019-05-24
-支持IPV6(如您所料,前面提到的支持是虚假的)
-根据网站更新,api调用使用TLS v1.2,从而解决了先前调用失败的问题(感谢@ lth410指出了该问题).
-------------------------------以下文字------------- --------------------------------
什么是DDNS
对于通过DHCP获得的IP,无论是在局域网中还是在外部网络中,IP地址都会偶尔更改一次. 如果要通过恒定地址访问主机,则需要使用动态DNS. 一句话,原理是: 将动态更改的IP地址绑定到固定的域名,这样它就可以响应更改而无需更改,只需记住域名即可.
我什么时候需要它?
应用场景示例:
1. 在公司的LAN中,小明在他的计算机上设置了一个FTP服务器来共享文件. 但是,他使用普通的Internet帐户访问Internet. 主机访问LAN后,他需要对帐户进行身份验证并随机分配IP地址. 每次断开连接时,IP地址都会更改. 这样,小明需要始终记录当前IP地址,然后才能通过该地址访问FTP服务器. 经过动态域名解析后,主机IP会绑定到小明自己的域名. 一旦IP地址更改并且域名解析内容已更新,他仍然可以通过域名访问FTP服务器.
2. 处理完电信宽带后,阿杰很幸运地发现可以直接从外部网络访问他获得的IP(之所以幸运,是因为IPV4资源现在很紧张,宽带运营商已经进行了一层NAT,然后将Intranet IP分配给用户,实际上许共享一个出口IP. ). 因此,Ajie在其主机上设置了一个IP摄像机,以便无论身在何处,他都可以通过Internet在家中查看情况. 尽管IP是公用网络IP,但它是动态分配的(公用网络静态IP每年花费10万元),并且每次断开连接时都会更改. 因此他可以选择动态域名解析.
DDNS能解决什么?答: 更改后的IP可以自动动态映射到域名,并且可以通过未更改的域名访问更改IP的主机;
DDNS无法解决什么?答: 端口映射不能单独实现. 因此,如果主机位于NAT网络内部,并且您无权在路由器上设置端口映射,则DDNS将没有解决方案,因此需要反向代理或端口穿透.
如何做到?
根据容量和预算,有不同的方法:
您可以直接去花生壳购买动态域名服务而不必花钱,还可以提供Intranet渗透功能;
您可以自己使用DNSPod +个人域名+ ArDNSPod脚本.
使用DNSPod实现动态域名解析
首先,您需要注册一个域名. 向腾讯云注册最方便,因为DNSPod在2015年被腾讯收购并在腾讯云的帐户中开放.
登录dnspod控制台,创建A记录分析,并临时填写IP值:
在dnspod的管理界面中创建API令牌
创建成功后获取ID和令牌,
使用这两个信息,您可以通过API修改域名解析值,有关详细信息,请参阅API文档:
下载ArDNSPod客户端
ArDNSPod是一个使用DNSPod实现动态解析的项目,github地址: ArDNSPod
作者再次进行了一些更改,可以选择要解析的IP类型,包括外部网络,内部网络,IPv6,请参见
将之前获得的ID和令牌写入dns.conf文件,并指定要绑定的子域名↓
运行ddnspod.sh,您可以获取IP地址并更新域名的解析值(此处,选择是解析LAN地址).
检查域名控制台,并且记录值已更新. 现在,您可以通过域名ddns1.imki.club访问主机.
IPV6分析
1. 创建一个新的AAAA记录,以在Web管理界面中解析ipv6,您可以随机填写地址.
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任务来实现.
本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/tongxingongju/article-290177-1.html
入台湾之日
我就为了这个更新了~比上一版9