ric*_*ler 3 vpn openvpn mac-osx pfsense
我在 Mac OS X 10.8.2 (Mountain Lion) 上使用 Tunnelblick 3.3beta21b 连接到 pfSense/OpenVPN 虚拟专用网络。当连接到 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
Run Code Online (Sandbox Code Playgroud)
数据中心中任何给定 Ubuntu 机器上的 resolv.conf 文件如下所示:
web1:~ $ cat /etc/resolv.conf
nameserver 10.10.160.2
nameserver 10.10.160.45
Run Code Online (Sandbox Code Playgroud)
不幸的是,当我在家通过 TunnelBlick/OpenVPN 连接时,短名称在我的 Mac 上不起作用:
mac:~ $ ping web2
ping: cannot resolve web2: Unknown host
Run Code Online (Sandbox Code Playgroud)
但是,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
Run Code Online (Sandbox Code Playgroud)
当通过 Tunnelblick 连接时,我的 Mac 的 resolv.conf 看起来像这样。请注意,Tunnelblick 添加了“搜索”行;当我与 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
Run Code Online (Sandbox Code Playgroud)
如何配置 Mac OS X 或 Pfsense/OpenVPN 或 Tunnelblick,以便我可以使用我的 Mac 上的短主机名?
在 pfSense 中配置 OpenVPN 时,字段“DNS 默认域”作为“搜索”域传递给客户端。如果该字段未选中或留空,OpenVPN 将传递“dhcp-option DOMAIN openvpn”,这会导致 resolv.conf 看起来像这样,这无济于事:
search openvpn
nameserver 10.10.160.45
nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
我们的解决方案是将“DNS 默认域”设置为简单的点:“.”。
这会导致 resolv.conf 看起来像这样,这很有效!
search .
nameserver 10.10.160.45
nameserver 8.8.8.8
Run Code Online (Sandbox Code Playgroud)
我现在可以使用短主机名 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
Run Code Online (Sandbox Code Playgroud)
这是一个简单的解决方案,因为它不需要重新配置每个客户端。
我还没有尝试过,但有可能将Apple 的 DNS 解析器重新配置为不附加搜索域,从而使其更像 Ubuntu。Lion 或 Mountain Lion 中的某些内容似乎发生了变化,导致MAC OS X DNS 无法按预期工作。
看来pfSense 只是将“DNS 默认域”字段传递给 OpenVPN,它将其添加为推送配置选项,如下所示:
dhcp-option DOMAIN company.com
Run Code Online (Sandbox Code Playgroud)
如果未设置 DOMAIN,OpenVPN 会将其设置为“openvpn”。这不是 pfSense 问题。
IMO,如果可以配置 OpenVPN(或者我可以学习如何配置它)不强制设置 DOMAIN,那就太好了。理论上,这会导致搜索域在 resolv.conf 中保持未设置状态,并允许使用短主机名。
归档时间: |
|
查看次数: |
7514 次 |
最近记录: |