NameSilo的DDNS动态域名解析脚本,支持IPv6
NameSilo DDNS是一个用于NameSilo的动态域名解析服务,适用于家庭宽带,它能自动检测家庭宽带的IP变动,并自动更新域名的解析。
GitHub项目地址:
项目语言是python3
项目特性:
-
安装、启动简单,且有丰富的可配置项
-
日志记录和滚动
-
具有邮件提醒功能,可及时报告各种信息
-
支持docker运行,
docker pull
即可完成安装 -
支持同时更新多个域名
-
支持IPv6
一、背景
内网一映一射,内网一穿一透,在外访问家里的机器的方案
IPv4
目前运营商给家庭宽带的IP都是动态的,庆幸的是虽然IP地址不固定,但分配到家庭路由器的却是一个实实在在的公网IP,所以我们只需设置光猫为桥接模式 + 使用路由器拨号 + 设置路由器NAT映射即可在公网访问家庭的设备。我们路由器映射22端口就能远程家里的linux,映射445+3389端口就能用win10自带远程桌面远程家里的windows。如下图
为解决公网IP的变动,可以购买一个域名,使用DDNS(Dynamic Domain Name Server,动态域名服务)将域名解析到宽带的IP。这样就可以在家搭建各种服务并通过访问固定的域名来访问,而无需租用昂贵的公网服务器
想实现这个目的,你需要购买一个域名,且有一台一直运行的电脑来运行此DDNS程序
IPv6
IPv6就简单了,运营商目前都给宽带配备了IPv6地址,只需在路由器上开启IPv6功能,电脑上确保有IPv6地址和DNS服务器地址即可使用IPv6联网。如果开了全局代理记得测试时关掉。
只要路由器的防火墙策略未限制外网流量访问内网,则无需NET映射,就能通过IPv6地址访问内网机器!
1.1 域名商推荐
域名商除了给我们一个域名,还负责给我们提供DNS解析,绑定域名到对应IP
我这里推荐NameSilo,第一个原因是他不需要备案,而阿里云、腾讯云等国内域名商是要走备案程序的,比较麻烦,博主前几年备案记得是需要在收到阿里云寄给我的幕布后,拍手持身份证照片,然后才能备案,域名过期后还要注销备案,不然别人拿你域名去干坏事...
二是他有api开放,能通过api来更新域名状态
三是他虽是国外域名商,但是可以通过微信支付,无需境外银行卡
二、其他DDNS方案推荐
都是用到了curl发送请求,把响应保存到文件中 ,再用脚本处理字符串。单个文件就能解决,不过脚本语言特别是Windows的batch语法不是很友好,一般做运维的可能比较熟悉脚本语言。
Windows :https://www.v2ex.com/t/274392
Linux :https://github.com/pztop/namesilo_ddns
还有一个Windows powershell脚本实现的
https://www.ctrol.cn/post/freesource/domain-host/05-25-cartev-4719.html