如何从 VirtualBox 客户虚拟机 Windows XP Prof 32 位访问在 Mac OSX 主机上监听 127.0.0.1:53 的 DNSSEC DNS 服务器?
我的主机/物理计算机是带有 Mac OS X(64 位,Yosemite 10.10.3)的 Apple MacBook。
主机 MacOSX 正在运行 VirtualBox (VBox) 虚拟机管理程序软件。
主机 MacOSX 还具有“unbound”,这是一个完整的 dnssec dns 服务器/解析器,正在运行并监听 127.0.0.1:53 (ip.address:port)。“unbound”用作 DNSSEC DNS 验证解析器。Unbound 是通过 Homebrew 获得的,然后需要进一步配置。
我已使用以下链接中显示的步骤、流程和一般说明来加载和启用“Unbound”,即 Mac OSX 中的完整 DNSSEC DNS 服务器/解析器:
主机 MacOS 中的主网络适配器当前使用 DHCP 动态(非固定)IP 地址 192.168.10.50,从我的本地路由器/网关 192.168.10.1 获取
我的客户 VM(虚拟机)名称为“WinXP”,操作系统是 Windows XP prof 32 位,它还具有 512MB RAM、6GB(虚拟)硬盘、1 个 CPU 核心。
VBox (VirtualBox) 网络适配器 1 默认设置为(或“附加到”)NAT 模式。所有其他 vbox 网络适配器均已禁用。因此,客户虚拟机内的 ip 地址当前为 10.0.2.15 。客户网关+dhcp+dns 现在是 10.0.2.2
在客户机端 WinXP Firefox 网络浏览器中,我安装了“DNSSEC-TLSA 验证器”扩展,来自https://www.dnssec-validator.cz/网站。DNSSEC 和 TLSA 验证器扩展目前配置为使用 10.0.2.2 作为 dnssec dns 服务器。
但当我访问 www.Dnssec-Validator.cz(或https://www.isc.org/) 网站,firefox 中的“DNSSEC”和“TLSA”/DANE 状态图标均保持灰色 :( 它们应该显示绿色的 KEY 图标。
在主机端 MacOSX Firefox 中,我有完全相同的扩展,并且扩展配置为使用本地 127.0.0.1 作为 dnssec dns(“未绑定”)服务器,并且当相同的 https://万维网。dnssec-验证器.cz/ 或 https://万维网。国际学习中心/ 个网站被访问。
该命令(在主机 MacOSX 终端中)显示下表:netstat -nr
Internet:
Destination Gateway Flags Refs Use Netif Expire
default 192.168.10.1 UGSc 13 0 en0
127 127.0.0.1 UCS 0 0 lo0
127.0.0.1 127.0.0.1 UH 39 952572 lo0
169.254 link#4 UCS 0 0 en0
192.168.10 link#4 UCS 0 0 en0
192.168.10.1/32 link#4 UCS 1 0 en0
192.168.10.1 10:6f:3f:xx:xx:xx UHLWIir 15 639 en0 1153
192.168.10.50/32 link#4 UCS 0 0 en0
在主机端,在 Mac OSX“终端”中,当我运行下面的“dig”命令时,我确实收到了带有“广告“标志和“NOERROR”状态,这表明我的主机端 dnssec 解析工作正常:
dig @127.0.0.1 in TLSA _443._tcp.www.dnssec-validator.cz. +dnssec
dig @127.0.0.1 in TLSA _443._tcp.www.isc.org. +dnssec
ISC BIND 实用程序包括“dig”工具,因此我从 www.ISC.org 网站获取了适用于 Windows 的 BIND 32 位 zip 文件。使用 7-Zip 解压 zip 文件,将解压后的子文件夹重命名为“BIND-UTILS”,然后将其移动到这个新文件夹 C:\Programs\
在客户机 PATH 环境变量中,我在现有其他文件夹名称/路径的末尾添加了以下内容:
;C:\Programs\BIND-UTILS\
在客户虚拟机 WinXP 中,我执行了这些操作并观察到以下结果:
C:\Documents and Settings\Erik> dig @10.0.2.2 in TLSA _443._tcp.www.isc.org. +dnssec
; <<>> DiG 9.10.2-P1 <<>> @10.0.2.2 in TLSA _443._tcp.www.isc.org. +dnssec
; (1 server found)
;; global options: +cmd
;; connection timed out; no servers could be reached
C:\Documents and Settings\Erik> ipconfig /all
Windows IP Configuration
Host Name . . . . . . . . . . . . : erik-pc
Primary Dns Suffix . . . . . . . :
Node Type . . . . . . . . . . . . : Unknown
IP Routing Enabled. . . . . . . . : No
WINS Proxy Enabled. . . . . . . . : No
DNS Suffix Search List. . . . . . : nothing.invalid
Ethernet adapter Local Area Connection:
Connection-specific DNS Suffix . : nothing.invalid
Description . . . . . . . . . . . : AMD PCNET Family Ethernet Adapter (P
CI)
Physical Address. . . . . . . . . : 08-00-27-XX-XX-XX
Dhcp Enabled. . . . . . . . . . . : Yes
Autoconfiguration Enabled . . . . : Yes
IP Address. . . . . . . . . . . . : 10.0.2.15
Subnet Mask . . . . . . . . . . . : 255.255.255.0
Default Gateway . . . . . . . . . : 10.0.2.2
DHCP Server . . . . . . . . . . . : 10.0.2.2
DNS Servers . . . . . . . . . . . : 10.0.2.2
Lease Obtained. . . . . . . . . . : Thursday, June 25, 2015 5:48:23 PM
Lease Expires . . . . . . . . . . : Friday, June 26, 2015 5:48:23 PM
上图中,客户机 WinXP 中的“nothing.invalid”是由客户机从主机 DNS 设置中获取的。在主机 MacOS 的网络 DNS 中,“搜索域”部分下指定了“nothing.invalid”。
在客户机 WinXP 中,尝试了以下命令并观察到以下结果:
C:\Documents and Settings\Erik> ping google.com
Pinging google.com [216.58.216.14] with 32 bytes of data:
PING: transmit failed, error code 31.
Reply from 216.58.216.14: bytes=32 time=21ms TTL=127
Reply from 216.58.216.14: bytes=32 time=11ms TTL=127
Reply from 216.58.216.14: bytes=32 time=19ms TTL=127
Ping statistics for 216.58.216.14:
Packets: Sent = 4, Received = 3, Lost = 1 (25% loss),
Approximate round trip times in milli-seconds:
Minimum = 11ms, Maximum = 21ms, Average = 17ms
C:\Documents and Settings\Erik> nslookup google.com
*** Can't find server name for address 10.0.2.2: Non-existent domain
*** Default servers are not available
Server: UnKnown
Address: 10.0.2.2
Non-authoritative answer:
Name: google.com
Address: 216.58.216.14
但在客户机端 WinXP Firefox 中,当 https://万维网。dnssec-验证器.cz/ 网站被访问。表明 Firefox 能够正确解析 DNSSEC 查询。
所以问题是,客户 VM WinXP 中的某些应用程序能够解析 DNSSEC 查询,而有些则无法解析 DNS 或 DNSSEC 查询。
我在客户机 WinXP 中尝试了以下操作,并收到下表:
C:\Documents and Settings\Erik> route PRINT
===========================================================================
Interface List
0x1 ........................... MS TCP Loopback interface
0x10003 ...08 00 27 xx xx xx ...... AMD PCNET Family Ethernet Adapter (PCI) - Pa
cket Scheduler Miniport
===========================================================================
===========================================================================
Active Routes:
Network Destination Netmask Gateway Interface Metric
0.0.0.0 0.0.0.0 10.0.2.2 10.0.2.15 20
10.0.2.0 255.255.255.0 10.0.2.15 10.0.2.15 20
10.0.2.15 255.255.255.255 127.0.0.1 127.0.0.1 20
10.255.255.255 255.255.255.255 10.0.2.15 10.0.2.15 20
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
224.0.0.0 240.0.0.0 10.0.2.15 10.0.2.15 20
255.255.255.255 255.255.255.255 10.0.2.15 10.0.2.15 1
Default Gateway: 10.0.2.2
===========================================================================
Persistent Routes:
None
针对我的情况有哪些选项和解决方案?(这样,我的客户虚拟机的所有应用程序都可以使用主机的 dnssec dns 服务器)。
我是否还应该在客户机 Win-XP 中安装“未绑定”服务器/解析器?我是否应该将其设置为朝向 vmnet 网关 ip 地址 10.0.2.2(或朝向主机端 127.0.0.1,如何)的转发 DNS 服务器?
我希望有一种解决方案,可以让网络适配器保持 NAT 模式,并且仍然能够从客户机端应用程序访问主机 127.0.0.1:53,但是该怎么做呢?我需要 vbox 的主机专用适配器才能从客户机访问主机吗?