Linux 下如何优先使用 IPv6 DNS 呢?

2015-01-05 23:17:36 +08:00
 halczy

想让Ubuntu像Windows 8.1那样优先使用IPv6 DNS和优先查询AAAA记录. 但是发现Ubuntu还是会优先使用IPv4 DNS来查询.

结果是被GFW抢答.
$ dig @74.82.42.42 youtube.com AAAA

;; QUESTION SECTION:
;youtube.com. IN AAAA

;; ANSWER SECTION:
youtube.com. 3556 IN A 37.61.54.158

;; Query time: 73 msec
;; SERVER: 74.82.42.42#53(74.82.42.42)

正确的解析结果应该是:
$ dig @74.82.42.42 youtube.com AAAA

;; QUESTION SECTION:
;youtube.com. IN AAAA

;; ANSWER SECTION:
youtube.com. 10 IN AAAA 2607:f8b0:4001:c05::88

;; Query time: 33 msec
;; SERVER: 74.82.42.42#53(74.82.42.42)

在网上查了半天都没有找到什么好方法. IPv6用的是HE的6to4, 想让Ubuntu先用IPv6来解析, 我现在的设置是
/etc/gai.conf

label ::1/128 0
label ::/0 1
#label 2002::/16 2
label ::ffff:0:0/96 2
label fec0::/10 3
label fc00::/7 4
label 2001:0::/32 5
label ::/96 6

precedence ::1/128 50
precedence ::/0 40
precedence 2002::/16 30
precedence ::/96 20
precedence ::ffff:0:0/96 10

/etc/resolv.conf

nameserver 2001:4860:4860::8844
nameserver 2001:4860:4860::8888
nameserver 209.244.0.3
2446 次点击
所在节点    Linux
8 条回复
zro
2015-01-06 00:32:37 +08:00
6to4的优先级比较低,试下用6in4吧
aaaa007cn
2015-01-06 01:34:58 +08:00
走 ipv4 查询 AAAA 记录当然会被抢答
甚至你查询 NS 记录、MX 记录都一样会被抢答
别指望 $ dig @74.82.42.42 youtube.com AAAA 会返回正确结果

看 /etc/resolv.conf
应该是先查询那两个 ipv6 的 dns 啊
halczy
2015-01-06 01:39:48 +08:00
@aaaa007cn

刚刚解决了, 之前/etc/resolv.conf一直只有127.0.0.1
efi
2015-01-06 02:15:42 +08:00
gai.conf
latyas
2015-01-06 02:39:39 +08:00
/etc/resolv.conf顺序解析
datou
2015-01-06 16:31:03 +08:00
@zro he的tunnelbroke就是6in4
zro
2015-01-06 16:50:16 +08:00
@datou 我知道,所以就奇怪楼主是怎么用HE的6to4的
halczy
2015-01-06 16:54:14 +08:00
@zro 我打错了,是6in 4

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

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

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

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

© 2021 V2EX