VirtualBox NAT 问题 - 能够 Ping 和查找。无法浏览

VirtualBox NAT 问题 - 能够 Ping 和查找。无法浏览

我的 VirtualBox NAT 设置遇到了一个不寻常的问题。我搜索了 Unix SE 论坛,但找不到报告的类似问题。我确实找到了一份,但它是 2009 年的,与企业代理相关。

细节 :

  • 运行 VirtualBox 5.1.0 的 Windows 7 主机
  • 多个来宾操作系统 - Ubuntu、Fedora、CentOS(所有全新安装)
  • 家庭网络,无外围防火墙
  • 使用 NAT(英特尔 PRO/1000 MT 桌面适配器)
  • 我可以从访客 Ping 外部 FQDDN。这意味着 DNS 和 Ping 正在工作

问题:无法浏览任何网站

不久前,我尝试了一下“VBoxManage modifyvm”设置,以解决与桥接相关的问题。我想我可能搞砸了一些导致我出现新问题的事情。

我尝试重新安装 VirtualBox,但看起来以前的设置被保存在某个位置,我无法删除该设置,也无法将 VBox 设置“重置为默认值”。

故障排除完成:

将适配器更改为 PCnet Fast3 尝试更改 IP、DNS

IP:192.168.10.15 默认网关:192.168.10.2 DNS:192.168.10.3

tcpdump 捕获:

当 Ping 到 Yahoo.com 时(收到回复):

root@localhost anish]# tcpdump -i enp0s3
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on enp0s3, link-type EN10MB (Ethernet), capture size 65535 bytes
19:28:20.650985 IP 192.168.10.15.45804 > 192.168.10.3.domain: 1534+ A? yahoo.com. (27)
19:28:20.653043 IP 192.168.10.15.35280 > 192.168.10.3.domain: 47054+ PTR? 3.10.168.192.in-addr.arpa. (43)
19:28:20.661250 IP 192.168.10.3.domain > 192.168.10.15.45804: 1534 3/0/0 A 98.138.253.109, A 98.139.183.24, A 206.190.36.45 (75)
19:28:20.661833 IP 192.168.10.15 > ir1.fp.vip.ne1.yahoo.com: ICMP echo request, id 3431, seq 1, length 64
19:28:20.942937 IP ir1.fp.vip.ne1.yahoo.com > 192.168.10.15: ICMP echo reply, id 3431, seq 1, length 64

当尝试通过 Firefox 浏览时(网关发送 Net Unreachable ICMP):

19:29:31.562448 IP 192.168.10.15.38893 > 192.168.10.3.domain: 32749+ A? www.google.com. (32)
19:29:31.562562 IP 192.168.10.15.38893 > 192.168.10.3.domain: 48885+ AAAA? www.google.com. (32)
19:29:31.670159 IP 192.168.10.15.52571 > 192.168.10.3.domain: 60173+ A? www.google.com. (32)
19:29:31.670261 IP 192.168.10.15.52571 > 192.168.10.3.domain: 14907+ AAAA? www.google.com. (32)
19:29:35.937594 IP 192.168.10.3.domain > 192.168.10.15.55703: 53252 NXDomain 0/0/0 (43)
19:29:35.937995 IP 192.168.10.3.domain > 192.168.10.15.38893: 32749 1/0/0 A 216.58.196.196 (48)
19:29:35.938025 IP 192.168.10.3.domain > 192.168.10.15.38893: 48885 NotImp 0/0/0 (32)
19:29:35.938371 IP 192.168.10.3.domain > 192.168.10.15.52571: 60173 1/0/0 A 216.58.196.196 (48)
19:29:35.938408 IP 192.168.10.3.domain > 192.168.10.15.52571: 14907 NotImp 0/0/0 (32)
19:29:35.938865 IP 192.168.10.15.33663 > 192.168.10.3.domain: 46127+ PTR? 15.10.168.192.in-addr.arpa. (44)
19:29:35.940003 IP 192.168.10.15.46468 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 4014962253, win 14600, options [mss 1460,sackOK,TS val 1649927 ecr 0,nop,wscale 7], length 0
19:29:35.941228 IP 192.168.10.2 > 192.168.10.15: ICMP net kul06s14-in-f4.1e100.net unreachable, length 36
19:29:35.941377 IP 192.168.10.15.46469 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 613107971, win 14600, options [mss 1460,sackOK,TS val 1649928 ecr 0,nop,wscale 7], length 0
19:29:35.941857 IP 192.168.10.15.46470 > kul06s14-in-f4.1e100.net.http: Flags [S], seq 717756838, win 14600, options [mss 1460,sackOK,TS val 1649929 ecr 0,nop,wscale 7], length 0
19:29:35.942613 IP 192.168.10.2 > 192.168.10.15: ICMP net kul06s14-in-f4.1e100.net unreachable, length 36

有人可以指导我解决这个问题吗?或者,有没有办法让 VBox 进入“默认设置”状态?

任何帮助将不胜感激,因为过去几天以来我只对 VBox 相关问题进行故障排除,而不是在我的来宾虚拟机上进行任何实际工作。

答案1

我终于能够解决这个问题了。实际上,到目前为止这只是一个临时修复,直到我弄清楚更多为止。

看起来 VBox 设置和 VM 设置都很好,这是我的 Windows 主机网络配置导致的问题。

我进一步检查,发现即使我获得了 ICMP 和 DNS 解析,我的 TCP 流量仍无法正常工作。

我通过尝试找到它:

root@KaliOrc:~# telnet google.com 80
Trying 216.58.199.174...
telnet: Unable to connect to remote host: Network is unreachable

然后在我的 Windows 主机上我做了一个:

netsh winsock reset

这显然解决了问题!我能够浏览并测试一切是否正常。

root@KaliOrc:~# telnet google.com 80
Trying 216.58.199.174...
Connected to google.com.
Escape character is '^]'.

现在,每次我重新启动主机时,我都必须重置winsock 以便我的虚拟机能够浏览。

如果有人能阐明根本原因,那就太好了,因为我将能够找到一个永久的解决方案。

任何遇到上述“修复”不起作用的类似问题的人,请查看 VBox 上的以下票证,其中包含大量信息:

https://www.virtualbox.org/ticket/13292

答案2

在我的系统上,这是由 VirtualBox 的“强化”引起的。 Sophos 将一个 DLL 注入到 winsock 堆栈中,而 virtualbox 不支持它。

netsh winsock reset- 是一个临时修复。

但为了永久修复,我必须更新机器的根证书列表,以便 DLL(正版)现在被 virtualbox 识别为有效。

答案3

这可能是第一个也是唯一一个论坛问题,它为解决我的类似问题提供了决定性的线索。

winsock重置命令也适用于我的情况。我有一个 VirtualBox ubuntu 映像,使用 Vagrant 运行,但 ssh 不起作用。经过进一步检查,我注意到访客完全无法访问主机网络。 2 个修复有帮助:

  1. config.vm.customize ["modifyvm", :id, "--natdnshostresolver1", "on"]添加到 Vagrant 文件(也可以使用 VBoxManage 设置此选项),这导致仅 ping 工作(google.com、security.ubuntu.com)。
  2. netsh winsock reset,这导致其他一切正常。我目前正在研究日志,以确定 DLL 的“强化”可能存在的问题。

相关内容