电脑配置多个 DNS 运行原理是什么样的?是类似主挂了就切换到从 DNS 么?

2016-08-11 09:29:47 +08:00
 ipchy

昨天晚上上网上的好好的,早上

sudo proxychains update && sudo proxychains upgrade -y

也很正常,但是打未被 Wall 的网站都打不开,pingnslookup结果显示无法解析,检查配置的 DNS

主: 115.159.157.26
从: 115.159.158.38

通过tracepath 发现无法到达115.159.157.26,但是可以到达115.159.158.38,然后我就把 DNS 改成了115.159.158.38,然后就正常了,难道设置两个 DNS 并没什么用吗?

13381 次点击
所在节点    程序员
24 条回复
notgod
2016-08-11 09:36:00 +08:00
这个事我也挺纳闷
之前我很多 cPanel 服务器 有配置 DNS 集群
ns1.dns 服务器.com ns2 ns3 ns4

我以为 ns1 master ns2 slave 如果 ns1 挂了 应该自动轮询到 ns2-ns4
结果根本不是那么回事 DNS 协议也懒的看了
不知道哪里的逻辑 也不知道哪里起因
notgod
2016-08-11 09:36:27 +08:00
补充下 这个和本机的 public dns 是差不多的
yangg
2016-08-11 09:40:15 +08:00
同感觉第二个 dns 没用
kslr
2016-08-11 09:49:09 +08:00
@notgod
@yangg
我看到一些资料是说并不是宕机是切换而是无法解析时切换,也许可以从此下手
alen
2016-08-11 09:50:28 +08:00
不清楚电脑,感觉备的好像没用,但是以前搞过 DNS 服务器,类似于谷歌 DNS 服务器 8.8.8.8 或 8.8.4.4 会自动轮询。
notgod
2016-08-11 09:54:20 +08:00
@kslr
我典型的 DNS 小白

问题就在这里
宕机了 还能解析?
最开始我以为 DNS 缓存时间引起的 结果测试 TTL 降到 120 自己 deploy 的 Public DNS
本机测试 一个样

抽时间去研究下 DNS 的规范 估计就明白了
对普通用户影响不大

如果 Slave 真没什么卵用
我部署 secondary + N 的 DNS 有个 P 用
Tink
2016-08-11 10:07:54 +08:00
第一个解析不出来尝试第二个
fangpeishi
2016-08-11 10:35:50 +08:00
默認第一個解析不了再解析第二個,有超時和重試次數的設置,另外也可以配置成輪詢。
相關文檔: http://man7.org/linux/man-pages/man5/resolv.conf.5.html
21grams
2016-08-11 10:47:09 +08:00
我感觉第二个没用,所以从来不配第二个
qzy168
2016-08-11 10:51:14 +08:00
感觉第二个应该有用吧。不然,要设置 2 个做什么。
bjzhou1990
2016-08-11 11:41:26 +08:00
应该是第一个没有查询到有效的 ip 才去查询的吧
xcodeghost
2016-08-11 11:49:17 +08:00
只有第一个彻底不通的时候才会使用到第二个。
例如:你第一个设置一个不可使用的 IP : 1.1.1.1 第二个设置 114.114.114.114 ,这个时候就可以使用了。
如果你第一个 DNS ,没有彻底挂了的时候,例如 DNS 服务不正常,能通,但无法解析,这个时候是不会使用到第二个 DNS 的。
ZE3kr
2016-08-11 12:36:30 +08:00
@notgod 有的 cpanel 虽然给你的 4 个 ns ,但实际上都是一个主机的同 IP ,或者是一个主机的多个 ip ,主机挂了就全挂。

一般都要求设置两个,无论是 public dns 还是网站权威 ns ,然而两个位置都填一个 ip ,或者两个位置填两个域名,指向 1 个 ip 似乎也行。
ZE3kr
2016-08-11 12:37:30 +08:00
哦,我只是说一些 cpanel ,你的集群可能就不是这样
anyclue
2016-08-11 15:55:12 +08:00
@xcodeghost 你说的不对,
第一个设置一个不可使用的 IP ,换成 1.1.1.1 , DNS 服务不正常, 可以 ping 通,无法解析,这个时候仍然会使用第二个 DNS
第一个设置一个不可使用的 IP ,换成 1.2.3.4 , DNS 服务不正常, ping 不通,无法解析,这个时候也会继续使用第二个 DNS 的
Ixizi
2016-08-11 16:05:01 +08:00
第一个解析不到 IP ,第二个解析。
testuserll
2016-08-11 17:29:21 +08:00
第一个 DNS 没返回任何数据使用第二个,第一个如果有任何返回数据,比如服务器出错、指定域不存在、没有记录等,第二个不启用。
lhbc
2016-08-11 17:34:51 +08:00
一知半解的好多。
Windows: 第一个超过 1s 没返回就使用第二个。
注意:当你使用 nslookup 或者 dig 时,是仅用第一个的。

实际流程非常复杂,具体见:
https://technet.microsoft.com/en-us/library/bb457118.f24zs09_big(l=en-us).jpg
https://technet.microsoft.com/en-us/library/bb457118.aspx
smileawei
2016-08-11 18:16:27 +08:00
确实是很疑惑。我在公司搭建的内网 DNS 我发现首选 DNS 活的好好的时候 备用 DNS 也会收到一些解析请求。只不过比首选 DNS 少而已。主 DNS 挂了的话。备用 DNS 好好的时候。部分设备还是会出现 DNS 查找失败。 搞的很蛋疼。最后我用 keepalived 在主备 DNS 做了个高可用。 VIP 设置为首先。默认 ip 在主 DNS 上。主 DNS 挂了 vip 漂移到备用 DNS 。
winterbells
2016-08-11 22:33:31 +08:00
备用是可以的
我因为不想用校园网的 DNS ,但 sb 天翼校园客户端必需要用才能正常登录。所以我把校园网 DNS 设置成第三 DNS ,然后就可以正常用了

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

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

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

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

© 2021 V2EX