我刚刚从 11.10 升级到 12.04,现在我无法通过 VPN 解析自定义域(例如 *.dev.本地)。升级前它运行良好。
我的/etc/resolv.conf和路线-n看起来与更新之前完全一样。
我正在使用 OpenVPN,连接没有问题。
ping 的输出
$ ping example.dev.local
ping: unknown host example.dev.local
解析配置文件
nameserver 172.16.1.4
nameserver 172.16.1.5
nameserver 10.4.180.250
search office.local corp.local
路线-n
# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 10.4.180.250 0.0.0.0 UG 0 0 0 eth0
10.4.180.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
10.61.80.0 172.28.0.254 255.255.255.128 UG 0 0 0 tap0
10.61.80.128 172.28.0.249 255.255.255.128 UG 0 0 0 tap0
10.200.2.126 172.28.0.249 255.255.255.255 UGH 0 0 0 tap0
81.92.65.52 172.28.0.249 255.255.255.255 UGH 0 0 0 tap0
81.92.71.128 172.28.0.249 255.255.255.192 UG 0 0 0 tap0
81.92.72.128 172.28.0.254 255.255.255.224 UG 0 0 0 tap0
81.92.72.160 172.28.0.249 255.255.255.224 UG 0 0 0 tap0
172.16.0.0 172.28.0.1 255.255.248.0 UG 0 0 0 tap0
172.28.0.0 0.0.0.0 255.255.254.0 U 0 0 0 tap0
来自 /etc/dhcp3/dhclient.conf 的片段(22-25 是升级前的原始版本,之前因为某些我忘记的原因不得不删除域名服务器)
22 #request subnet-mask, broadcast-address, time-offset, routers,
23 # domain-name, domain-name-servers, domain-search, host-name,
24 # netbios-name-servers, netbios-scope, interface-mtu,
25 # rfc3442-classless-static-routes, ntp-servers;
26
27 prepend domain-name-servers 192.168.1.1;
28 request subnet-mask, broadcast-address, time-offset, routers,
29 domain-name, domain-search, host-name,
30 netbios-name-servers, netbios-scope, interface-mtu,
31 rfc3442-classless-static-routes, ntp-servers;
任何帮助将不胜感激。
编辑:我可以通过 IP 访问主机,但解析不起作用。
答案1
也许看看/etc/nsswitch.conf
。我遇到了一个问题,Ubuntu 无法识别来自本地 DNS 服务器的名称,无论设置如何/etc/resolve.conf
。Slackware 工作正常,所以我修改了我的版本,使其更接近 Slackware 的版本:
hosts: files dns mdns4_minimal mdns4 [NOTFOUND=return]
我想我必须移动 dns 和 mdns4 的东西……也许有一个星号 ( *
) 阻止了进一步的查找。
答案2
问题在于 VPN 使用的local
顶级域名也是 avahi 用于 mdns 的域名。
Avahi 的文档
http://avahi.org/wiki/AvahiAndUnicastDotLocal
说
If you come across a network where .local is a unicast
DNS domain, please contact the local administrator
and ask him to move his DNS zone to a different domain.
If this is not possible, we recommend not to use Avahi
in such a network at all.
答案3
当您使用 VPN 时,您的名称服务器和/或搜索域很可能不同。如果您使用 nslookup 查找要访问的自定义 DNS 名称,则需要查看要查询的名称服务器。如果地址不同,则您正在尝试在未列出的服务器上解析名称。
例如...
munich:~ jeremy$ nslookup bangkok
Server: 192.168.1.2
Address: 192.168.1.2#53
Name: bangkok.home.com
Address: 192.168.1.5
Bangkok 是我家网络中一个盒子的自定义 DNS 名称。如果我要连接到公司的 VPN,我会首先访问他们的名称服务器,这样我就可以旋转他们的自定义名称,例如 svn 和 wiki。我们在工作中有几个名称服务器,每个都有自己的域名,如 foo.work.com、bar.work.com 和 work.com。如果我将 bar.work.com 列为我的第一个域名,并且我尝试仅使用 svn 访问 svn.foo.work.com,则搜索将无法解析为 IP 地址,因为它将查找 svn.bar.work.com。