我从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中修复的东西,以便正确处理权威响应而不管“非递归”标志还是它完全被破坏,我无能为力?