北京联通下发的 dns 的 ttl 为什么这么飘忽...

2022-07-02 22:02:24 +08:00
 woaihsw
root@OpenWrt:~# dig @202.106.46.151 www.baidu.com

; <<>> DiG 9.18.1 <<>> @202.106.46.151 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53410
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		285	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	39	IN	A	110.242.68.4
www.a.shifen.com.	39	IN	A	110.242.68.3

;; Query time: 9 msec
;; SERVER: 202.106.46.151#53(202.106.46.151) (UDP)
;; WHEN: Sat Jul 02 21:55:14 CST 2022
;; MSG SIZE  rcvd: 90
root@OpenWrt:~# dig @202.106.46.151 www.baidu.com

; <<>> DiG 9.18.1 <<>> @202.106.46.151 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 7202
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		1056	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	245	IN	A	110.242.68.4
www.a.shifen.com.	245	IN	A	110.242.68.3

;; Query time: 9 msec
;; SERVER: 202.106.46.151#53(202.106.46.151) (UDP)
;; WHEN: Sat Jul 02 21:55:15 CST 2022
;; MSG SIZE  rcvd: 90

pppoe 下发的两个 dns, 202.106.46.151 和 202.106.195.68 都有这个问题...

相隔 1s 的两次查询, 返回的 ttl 按理来说也应该是相差 1s 才对...

这怎么会从 285s 忽然增加到 1056s...

但是公共 dns 就没有这种现象, ttl 就是很合理的每秒递减...

root@OpenWrt:~# dig @223.5.5.5 www.baidu.com

; <<>> DiG 9.18.1 <<>> @223.5.5.5 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34794
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		142	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	142	IN	A	110.242.68.3
www.a.shifen.com.	142	IN	A	110.242.68.4

;; Query time: 9 msec
;; SERVER: 223.5.5.5#53(223.5.5.5) (UDP)
;; WHEN: Sat Jul 02 21:56:14 CST 2022
;; MSG SIZE  rcvd: 90
root@OpenWrt:~# dig @223.5.5.5 www.baidu.com

; <<>> DiG 9.18.1 <<>> @223.5.5.5 www.baidu.com
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12533
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 0

;; QUESTION SECTION:
;www.baidu.com.			IN	A

;; ANSWER SECTION:
www.baidu.com.		141	IN	CNAME	www.a.shifen.com.
www.a.shifen.com.	141	IN	A	110.242.68.4
www.a.shifen.com.	141	IN	A	110.242.68.3

;; Query time: 0 msec
;; SERVER: 223.5.5.5#53(223.5.5.5) (UDP)
;; WHEN: Sat Jul 02 21:56:15 CST 2022
;; MSG SIZE  rcvd: 90

那么问题来了, 联通的 dns 服务器配置是不是出了什么问题...

它这个 ttl 到底是不是从权威服务器拿的...

2647 次点击
所在节点    宽带症候群
10 条回复
dem0ns
2022-07-02 22:06:53 +08:00
可能做了负载均衡,有多个 dns 服务器
bclerdx
2022-07-02 22:21:22 +08:00
同问,这个 ttl 值是干什么用的?
laozhoubuluo
2022-07-02 22:33:04 +08:00
联通的 DNS 是多台机器负载均衡的,用 nslookup 可以看到主机名会比较明显(如以下数据)。
固网 DNS 比较混乱,除了每一台有一个 bta.net.cn 的代号设备(地址不明),其他的分布于 tucheng 或者 xingfudajie 。
移网 DNS 比较统一,两个地址指向一个集群,集群内 yzeq 和 szds 各三台。

```
C:\Users\laozh>nslookup www.baidu.com 202.106.46.151
服务器: dialdns.bta.net.cn
服务器: c1-xingfudajie-recurse-ns1
服务器: c1-xfdj-recurse-ns5
服务器: c1-xfdj-recurse-ns4
服务器: c1-tucheng-recurse-ns1
服务器: c1-tucheng-recurse-ns2
服务器: c1-tc-pbs-recu-ns1
服务器: c1-xingfudajie-recurse-ns2

C:\Users\laozh>nslookup www.baidu.com 202.106.196.115
服务器: linedns.bta.net.cn
服务器: c1-xfdj-recurse-ns4
服务器: c1-xingfudajie-recurse-ns2
服务器: c1-tucheng-recurse-ns1
服务器: c1-tucheng-recurse-ns2
服务器: c1-xfdj-recurse-ns5
服务器: c1-tucheng-recurse-ns2
服务器: c1-xfdj-recurse-ns5

C:\Users\laozh>nslookup www.baidu.com 202.106.195.68
服务器: gjjdial.bta.net.cn
服务器: c1-xingfudajie-recurse-ns2
服务器: c1-tucheng-recurse-ns2
服务器: c1-tucheng-recurse-ns1
服务器: c1-xfdj-recurse-ns5
服务器: c1-xfdj-recurse-ns4
服务器: c1-xingfudajie-recurse-ns1

C:\Users\laozh>nslookup www.baidu.com 202.106.0.20
服务器: gjjline.bta.net.cn
服务器: c1-xfdj-recurse-ns5
服务器: c1-tucheng-recurse-ns2
服务器: c1-tc-pbs-recu-ns1
服务器: c1-tucheng-recurse-ns1
服务器: c1-xfdj-pbs-recu-ns1
服务器: c1-xfdj-recurse-ns4
服务器: c1-xingfudajie-recurse-ns2

C:\Users\laozh>nslookup www.baidu.com 123.123.123.123
服务器: 3g-yzeq-recurse-ns2
服务器: 3g-szds-recurse-ns3
服务器: 3g-szds-recurse-ns2
服务器: 3g-szds-recurse-ns1
服务器: 3g-yzeq-recurse-ns3
服务器: 3g-yzeq-recurse-ns1

C:\Users\laozh>nslookup www.baidu.com 123.123.123.124
服务器: 3g-yzeq-recurse-ns3
服务器: 3g-yzeq-recurse-ns2
服务器: 3g-szds-recurse-ns1
服务器: 3g-szds-recurse-ns3
服务器: 3g-yzeq-recurse-ns1
服务器: 3g-szds-recurse-ns2
```
Kinnice
2022-07-02 22:34:04 +08:00
@bclerdx 当 ttl 到期,就认为这个解析记录不可信了,应该向上游 dns 获取新的 dns 解析
laozhoubuluo
2022-07-02 22:34:45 +08:00
另外由于测试只是随机跑了一些次数,固网的 DNS 可能不全,如果不停跑的话有可能出来更多。

@bclerdx TTL 是失效时间,失效时间到之后记录作废,需要重新到权威 DNS 上取记录。
unicser
2022-07-02 22:41:20 +08:00
猜测是负载均衡上没有配置成基于源地址的会话保持策略
woaihsw
2022-07-02 22:48:13 +08:00
@laozhoubuluo 老周泥嚎, 之前经常混你的贴吧...

阿里的 dns 肯定也是集群啊...

它为什么没有这个问题...
laozhoubuluo
2022-07-02 23:00:36 +08:00
@unicser DNS 配这个倒是意义不大,反倒影响负载均衡效果。

@woaihsw 这个跟部署模式有关系。阿里的集群走的是 anycast ,也就是通过 BGP 选就近路由,应该是能做到同一个地址打到一个集群。另外也有可能如楼上所说配置了同一个地址固定打一个机器的负载均衡策略。
txydhr
2022-07-03 10:21:07 +08:00
很正常啊,对外一个 ip ,不代表只有一个服务器。dnsleak 可以查询到 dns 向上游查询到真正出口。运营商的 dns 服务器压力可比阿里大多了。
yyyb
2022-07-04 08:37:16 +08:00
我用联通 4G 的 DNS ,123.123.123.123 and 123.123.123.124 ,联通家宽那些 202 开头的的 DNS 确实总出问题

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/863683

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX