VPN 启动时无法解析自定义域

VPN 启动时无法解析自定义域

我刚刚从 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。

相关内容