如何使短(不完全合格)的主机名与山狮,Tunnelblick,pfSense,OpenVPN

我在Mac OS X 10.8.2(Mountain Lion)上使用Tunnelblick 3.3beta21b连接到pfSense / OpenVPN虚拟专用networking。 当连接到VPN时,我可以访问我们数据中心的机器。 这是pfSense 2.0.1。

数据中心中的计算机正在运行Ubuntu 12.04 Precise。 当我在数据中心的一台机器上时,我可以使用短的(不完全限定的)主机名来ping其他机器:

web1:~ $ ping web2 PING web2 (10.10.160.6) 56(84) bytes of data. 64 bytes from web2 (10.10.160.6): icmp_req=1 ttl=64 time=0.380 ms 

数据中心中任何给定Ubuntu机器上的resolv.conf文件如下所示:

 web1:~ $ cat /etc/resolv.conf nameserver 10.10.160.2 nameserver 10.10.160.45 

不幸的是,当我在家中通过TunnelBlick / OpenVPN连接时,短名不适用于我的Mac:

 mac:~ $ ping web2 ping: cannot resolve web2: Unknown host 

但是,nslookup返回“web2”的正确的IP地址,如果我ping一个尾点,它的工作原理:

 mac:~ $ ping web2. PING web2 (10.10.160.6) 56(84) bytes of data. 64 bytes from web2 (10.10.160.6): icmp_req=1 ttl=64 time=0.380 ms 

当通过Tunnelblick连接,我的Mac的resolv.conf看起来像这样。 请注意,Tunnelblick添加了“search”行; 当我从VPN断开连接时,它不存在:

 # # Mac OS X Notice # # This file is not used by the host name and address resolution # or the DNS query routing mechanisms used by most processes on # this Mac OS X system. # # This file is automatically generated. # search company.com nameserver 10.10.160.45 nameserver 8.8.8.8 

我如何configurationMac OS X或Pfsense / OpenVPN或Tunnelblick,以便我可以使用我的Mac上的短主机名?

选项1:重新configurationpfSense

在pfSense中configurationOpenVPN时,“DNS默认域”字段作为“search”域传递给客户端。 如果这个字段没有被选中或者留空,OpenVPN会传递“dhcp-option DOMAIN openvpn”,这会导致resolv.conf看起来像这样,这没有帮助:

 search openvpn nameserver 10.10.160.45 nameserver 8.8.8.8 

我们的解决scheme是将“DNS默认域”设置为一个点:“。”。

将DNS默认域字段的屏幕截图设置为pfSense中的点

这会导致resolv.conf看起来像这样, 这是可行的!

 search . nameserver 10.10.160.45 nameserver 8.8.8.8 

我现在可以用简短的主机名ping。

 mac:~ $ ping web2 PING web2 (10.10.160.6) 56(84) bytes of data. 64 bytes from web2 (10.10.160.6): icmp_req=1 ttl=64 time=0.380 ms 

这是一个简单的解决scheme,因为它不需要重新configuration每个客户端。

选项2:重新configurationMac OS X

我还没有尝试过,但可能会重新configuration苹果的DNSparsing器,以避免追加search域 ,导致我认为它更像Ubuntu。 看来Lion或Mountain Lion发生了一些变化,导致MAC OS X DNS无法正常工作 。

选项3:重新configurationOpenVPN

看起来pfSense只是简单地将“DNS默认域”字段传递给OpenVPN , OpenVPN将其添加为这样的推送configuration选项:

 dhcp-option DOMAIN company.com 

如果未设置DOMAIN,则OpenVPN会将其设置为“openvpn”。 这不是一个pfSense问题。

国际海事组织,这将是很好,如果OpenVPN可以configuration(或者我可以学习如何configuration它)不强制DOMAIN设置。 理论上,这会导致search域在resolv.conf中保持不变,并允许使用短主机名。