正常域名的 dns 执行会被缓存到运营商每级的服务器内,更新域名的 ip 指向,都有一个生效时间,短则几分钟,长的几天,而 ddns ip 发生变化的时候,怎么保证立即生效的?因为家庭宽带一旦发生改变,需要里面体现出来的!
1
blogfeng 2020-02-13 09:44:52 +08:00 via Android
没有什么好办法。一般就是搞个定时器不停查最新的,发生变化就改。
|
2
chenluo0429 2020-02-13 09:48:20 +08:00
跟 TTL 有关的吧,TTL 越短,生效越快。
|
3
elfive 2020-02-13 09:54:01 +08:00 via iPhone
1. 能不用域名的时候不用域名
2. 本地或路由器能用 host 的时候用 host |
5
blueboyggh 2020-02-13 10:00:34 +08:00
没啥好办法,你告诉 dns 服务商更改后的 ip 以后,只能等待各个 dns 去刷新,几秒钟,几分钟甚至几十分钟都有可能,dns 刷新也不是你能控制的
|
6
RainyH2O 2020-02-13 10:03:04 +08:00
TTL 设置短一点不就得了么,缓存服务器记录超时失效了,这个时候你再一改不就得直接请求权威服务器了
|
7
herozzm OP @RainyH2O 运营商都遵守 TTL 超时时间吗? 就怕你这儿设置了很短,运营商那变老不刷新啊,用户开网站就是 404
|
10
JamesR 2020-02-13 10:49:49 +08:00
我是每天四点半自动重拨下,如果获得新 IP,早上起来已经全球服务器广播好了。
|
11
geekvcn 2020-02-13 10:57:59 +08:00 via iPhone
@herozzm 可用性要求高,又舍不得花钱的小厂小作坊或者个人用户,建议还是加钱,加钱最少的就是买高级版域名解析服务,最短可以 1 分钟 TTL,然后配合每天早上 5 点低谷期自动重新获取 ip 比如重启路由器,通过解析服务商 api 主动刷新 dns 解析,别无他法。另外建议想好好跑业务,就老老实实租服务器,你把时间花在这种无聊的事情上和因此带来的一系列问题上,你同样的时间多挣点钱不香吗
|
12
geekvcn 2020-02-13 11:01:47 +08:00 via iPhone
@herozzm 另外主流运营商 DNS 和 114 之类的第三方 DNS 解析没必要给你的域名解析提高 ttl,这样变相降低自己服务的可靠性,你用户半年不刷新缓存是因为他们本地的缓存策略,比如 dnsmasq 之类的
|
13
geekvcn 2020-02-13 11:03:25 +08:00 via iPhone
你无法控制用户的 dns 缓存,所以老老实实加钱,你的问题无解,只能缓解,最佳方案就是我上面给你的
|
14
LU35 2020-02-13 11:12:49 +08:00 via Android
@geekvcn 现在使用的 cloudflare 管理域名,并使用脚本做 ddns 更新,为何切换 ip 记录后用其他不同网络设备测试大概也就 1 分钟不到记录就切换了。
|
15
locoz 2020-02-13 11:15:32 +08:00 via Android
缓存问题基本无解,你可以用 DNS over HTTP 或 HTTP DNS 来变相解决自己客户端这边的缓存问题,但对别人就没办法了。
还有一个对别人有效的办法就是自建 DNS,但是首先你要有一台能开端口的服务器。 或者如果你对域名经常变动无感的话,可以选择每次更换 IP 都随机换一个域名去更新,这样也能避开下级 DNS 的缓存。 |
16
locoz 2020-02-13 11:17:45 +08:00 via Android
@RainyH2O #6 以阿里云为例,TTL 即使设置到 1,它也不会真的按 1 来。之前提工单,人家说如果设置太低的话,后台会默认提高一些 TTL。(也不知道给个这个选项是干嘛…
|
18
Debuger94 2020-02-13 11:22:14 +08:00
既然用家庭宽带来做域名解析就要承担相应的风险,用户量大或者做实时在线服务的话用家庭宽带肯定不行的
|
20
gqbre 2020-02-13 11:26:00 +08:00
很快的,不放心的话建议半夜更换
|
21
tankren 2020-02-13 11:27:49 +08:00
家宽哪来的用户?????
|
22
herozzm OP |
23
geekvcn 2020-02-13 11:39:20 +08:00 via iPhone
你自己设备
|
26
CEBBCAT 2020-02-13 11:59:49 +08:00 via Android
家宽不是查得很严吗?架网站有被掐网线的案例
|
27
mattx 2020-02-13 12:03:52 +08:00 via iPhone
自己小打小闹可以,上正常的业务会有很多问题。
|
29
liukanshan 2020-02-13 16:12:32 +08:00
你这个转发方案带宽跑不满不说 成本也上去了 我使用 ddns 有好几年了 真正在使用而 dns 更新延迟 很少遇到 你要先确认下这个需求是不是伪需求 ddns 到目前为止 针对家庭私有云 是最完美的方案 其次是 p2p 再其次是转发。
|
30
txydhr 2020-02-13 17:11:24 +08:00 via iPhone
10 分钟检查一次,ttl 设置成 10 分钟,够用了。
|
31
newmlp 2020-02-13 17:21:20 +08:00
hook 掉 dns 查询,然后自己实现
|
32
LU35 2020-02-13 19:45:41 +08:00 via Android
@locoz 恩,仔细看了阿里云 dns 的网站帮助,企业旗舰版可以设置 1 秒、但是和你说的并不一样 ,他的确生效时间为 1 秒。
|
33
locoz 2020-02-13 19:57:30 +08:00
@LU35 #32 没啊,我即使去请求阿里云自己的 DNS,也还是会有缓存问题,需要等待 1-10 分钟不等。之前工单那人也是跟我说建议设成分钟级的。难道说现在改了?
|
34
kljsandjb 2020-02-14 04:56:23 +08:00 via iPhone
|
35
INTEL2333 2020-02-15 22:38:47 +08:00 via Android
没办法,没生效但是网络变化了只能靠路由本身回报,你试试弄个通过邮件或者 WeChat 给你发变化信息咯,像梅林的 server 酱插件一样
|