运维开发网

如何在Ubuntu中正确配置DNS使用?没有RA标志的权威答案将被忽略

运维开发网 https://www.qedev.com 2020-05-06 09:51 出处:网络 作者:运维开发网整理
我从Virtualbox中安装的官方网站上获得了64位最新的Ubuntu 14.04.1.我使用vpnc连接到VPN网络,使用DHCP设置2个DNS服务器:
我从Virtualbox中安装的官方网站上获得了64位最新的Ubuntu 14.04.1.我使用vpnc连接到VPN网络,使用DHCP设置2个DNS服务器:

user@Virtual:~$cat /etc/resolv.conf 
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
#     DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 10.88.94.1
nameserver 8.8.8.8
nameserver 10.40.0.1

其中10.8.94.1和8.8.8.8由vpn dhcp返回,而10.40.0.1由lan dhcp返回. vpn dhcp返回的第一个DNS服务器被配置为某些内部名称的权威非递归名称服务器.

问题是 – Ubuntu以某种方式忽略了权威标志并放弃了有效的响应,因为它是非递归的:

user@Virtual:~$nslookup
> video.something.com
;; Got recursion not available from 10.88.94.1, trying next server
Server:     8.8.8.8
Address:    8.8.8.8#53

Non-authoritative answer:
Name:   video.something.com
Address: 180.112.94.1

由于tcpdump清楚地显示第一个DNS服务器的答案设置了’权威’标志,但不知怎的,它被忽略(第二个响应中的’*’表示“权威”,’ – ‘表示“非递归”):

13:23:44.505098 IP 10.40.130.209.44159 > 10.88.94.1.domain: 63790+ A? video.something.com. (32)
13:23:44.506285 IP 10.88.94.1.domain > 10.40.130.209.44159: 63790*- 1/0/0 A 10.88.94.12 (48)
13:23:44.506390 IP 10.40.130.209.45437 > 8.8.8.8.domain: 63790+ A? video.something.com. (32)
13:23:44.608414 IP 8.8.8.8.domain > 10.40.130.209.45437: 63790 1/0/0 A 180.112.94.1 (48)

在Windows和OSX上,相同的设置按预期工作(使用第一个DNS结果).但不是在Ubuntu上.这是我可以在Ubuntu中修复的东西,以便正确处理权威响应而不管“非递归”标志还是它完全被破坏,我无能为力?

您似乎期望的那种回退行为不是DNS应该如何工作的一部分.只有在第一个没有响应或存在其他类型的网络错误的情况下,才应联系resolv.conf中的第二个名称服务器.

微软显然已经做了自己的事情,它肯定对你要做的事情有用,但不应该依赖它来设置VPN. Microsoft还有一种为不同的网络接口使用不同名称解析的概念.

如果您无法影响VPN配置,那么您在Linux上的最佳选择可能是设置自己的名称服务器,该服务器决定将域请求转发到何处.

0

精彩评论

暂无评论...
验证码 换一张
取 消