1、环境说明
光猫桥接+路由器拔号的模式
2、DDNS是什么
对于DHCP方式获得的IP,无论对于局域网内来说,还是外网来说,都会有使得IP地址每隔一段时间变化一次,如果想要通过恒定不变的地址访问主机,就需要动态域名解析。用一句话说明原理是:把动态变化的IP地址绑定到固定不变的域名上,这样便是以不变应万变,只要记住域名就可以了。
3、应用场景
应用场景举例:
在公司局域网内,小明在自己的电脑上建立了一个FTP服务器用来共享文件。但他使用普通的上网账号上网,主机接入局域网后需要认证账号,随机分配IP地址。每次断线之后都会使得IP地址发生变化,这样一来,小明需要时刻记录下当前的IP地址,才能通过该地址访问到FTP服务器。做动态域名解析后,主机IP绑定到小明自己的域名,一旦IP地址发生变化,更新域名解析内容,他依旧可以通过域名访问到FTP服务器。
阿杰办理了电信宽带后幸运地发现,获得的IP可以从外网直接访问(之所以说他幸运,是因为现在IPV4资源紧张,宽带运营商都是做了一层NAT再后在给用户分配内网IP,很多人实际公用一个出口IP. )。阿杰于是在自己的主机上搭了一个IP摄像头,这样无论在何地都可以通过网络查看家里的情况。IP虽然是公网IP,但却是动态分配的(公网静态IP要10万块钱一年),每断开一次就会变化一次。因此他可以选择动态域名解析。
DDNS可以解决什么? 答:可以把变化的IP自动动态地映射到域名上,通过不变的域名访问变化IP的主机;
DDNS不能解决什么?答:本身不能实现端口映射,因此如果主机在NAT网络内部,而你又没有权限在路由器上设置端口映射,那么DDNS就无解了,需要做反向代理或者端口穿透。
4、解决方法
- 不差钱可以直接去花生壳购买动态域名服务,随便还能提供内网穿透的功能;
- 自己折腾可以使用DNSPod + 个人域名 + ArDNSPod脚本.
5、DNSPod + 个人域名 + ArDNSPod脚本
5.1 、注册域名
我在花生壳注册的一个顶级域名,如下:
转到DNSPod下管理
先把dns解析改为 dnspod的,然后再dnspod转入该域名
5.2 、开通公网IP
直接打电话10000,说家里面需要安装监控,开通公网IP,注意我的模式是光猫桥接+路由器拔号的模式,一定要桥接模式,如果自己不会配置的找运营商调试。
有了公网IP就配置在域名的A记录里。
5.3 配置ArDNSPod脚本
git 地址:ArDNSPod脚本
1、下载脚本
git clone https://github.com/imki911/ArDNSPod
目录如下
2、创建访问密钥
3、配置dns.conf
包括上一步创建的密钥和域名(一行一个)
4、配置定时任务
每分钟执行一次
5、日志输出
这样动态IP就会不断更新到DNSPOD中的域名解析中了。
6、参考
https://github.com/imki911/ArDNSPod
https://cloud.tencent.com/developer/article/2071744
问题
以上方案在公司的局域网内有时候无法使用,可以用以下方案
基于DNSPod用户API实现的纯Shell动态域名客户端
UE-DDNS 一个通用嵌入式DDNS脚本