前提&背景:
1)家中宽带申请到了公网ipv4,也有自己的域名;
2)平时在外面(旅游、出差)都需要拨vpn回到家中,这样ddns 就成了刚需;
3)之前域名管理注册到dnspod CN上,很稳定。只是因为最近把域名管理迁移到了cloudflare中,所以利用现有的iStoreOS(N1)重新关联vpn域名到公网ipv4。
一开始查了下网上的资料和视频,搞得太复杂。其实两个步骤就可以搞定,所以这里更新下。
准备 cloudflare dns 令牌
-
登录自己的cloudflare 帐号 (https://dash.cloudflare.com/login)
-
登录成功后选择自己的域名进入
-
在域名页面下方,找到“获取API 令牌”的链接
-
点击进入该页面,选择第一个模板:创建一个可以编辑dns的令牌。该令牌创建成功后,会用于后续openwrt 中插件更新指定域名。
-
点击创建令牌后,会获取到这样一个令牌值。这个令牌 记得复制下来,一会要用!
同时,可以在 iStoreOS 命令行中使用下面的curl 命令测试该令牌是否生效:
|
|
这里的信息“Bearer qx3t1mdQ3hP4oCtR2Yw0usLFev1l1Nh0ipcoMJGA” 会在后续 ddns-scripts 中(下面两种方法的第二种)用到。
iStoreOS 中安装ddns插件
经过实测,两个插件都可以实现。不过一个配置一目了然、一个配置项看着复杂一点。
先说简单的:
DDNS-go 插件
1)该插件在 iStoreOS中需要 在应用商店安装(下图第二个):
2)安装成功后,进入ddns-go 插件配置页。先勾选启用选项,然后保存并应用生效:
3)服务启动成功后,进入配置页面:

有常见的 域名服务商。这里选择“Cloudflare”,并在Token中输入上面已经创建好的dns api令牌“qx3t1mdQ3hP4oCtR2Yw0usLFev1l1Nh0ipcoMJGA”
4)下方 IPv4 配置中,输入这里希望管理的二级域名: vpn.nxlan.cn
5)因为,我这里不使用ipv6,其他配置不动,点击“save”保存生效。一定要点击保存才会生效。
生效后,注意观察当前页面右侧的日志:
|
|
最后一行显示了,目前我们家中宽带的ip地址注册上了。
6)最后测试:
先使用nslookup 验证自己的vpn域名-ip 对应关系是否一样,再使用手机断开wifi 使用4g/5g 移动网络拨VPN 测试。
|
|
然后是第二种插件配置方法:
ddns-scripts 插件
1)该插件默认在 iStorOS 中有安装。同样,先找到这个配置页面:
2)先启动服务,让ddns 运行:
3)配置页面下方,点击“添加新服务”。dns服务商 选则cloudflare -v4
4)先编辑刚刚创建的服务配置:
5)添加域名信息:
关键一步:输入用户名、密码。 分别对应刚才生成的DNS Token 中 “ Bearer qx3t1mdQ3hP4oCtR2Yw0usLFev1l1Nh0ipcoMJGA” 这块。
6)“高级设置”中添加,IP地址来源为URL,检测ip 用的url为 http://checkip.dyndns.com
其他配置项目,不用改动。最后点击“保存”。
7) 上面保存好后,返回到服务页面,再点击“保存并应用”就生效了。
最后不点击这个按钮,插件不会应用新添加的配置。
8) 检查方法:一种方法是点击编辑中的“日志查看器”:
还有一种方法,是观察当前服务状态中是否已经出现了对应ip。
这样,第二种插件使用方法,也就完成啦。
Q&A:
-
服务成功运行后,关联的是国外ip 怎么办?
1 2 3 4 5 6很可能是上述提到的几个url 走到梯子上去了国外。 需要检查用于检测ip的几个域名规则是否走到了国外: - http://checkip.dyndns.com - https://myip4.ipip.net - https://ddns.oray.com/checkip - https://ip.3322.net -
域名关联的ip 是国内ip,可是该ip无法从手机上访问到 怎么办?
1 2 3首先,排除自己访问的服务不能是 80 443 这种不能发布的服务。 其次,确认下运营商给你的ip 是可以从外部访问的ip,而不是一个公共ip。例如 我这里举例的ip(36.161.39.63)就是一个公共ip。 最后,检查自己光猫上的端口映射。因为,即使外部访问这个ip到了光猫上,光猫没有映射服务到内网主机,仍然是无法从外部访问自己家中服务的。