首先,我正在使用这些东西:
- Windows 7 主机
- Ubuntu 14.04 客户机(只需进行设置)
- VirtualBox 5.0.2
我现在在哪里
我的网络设置有些问题。目前一切都处于默认状态(连接到 NAT,是的,已选中“电缆连接”)。我可以从客户机成功 ping 通外部世界的 IP 和域名。例如,以下命令成功:
ping 8.8.8.8
ping google.com
等等,都成功取回了数据包,所以我一定有某种连接和 DNS 服务。
但是,我无法浏览互联网,或者类似这样的功能不起作用:
curl google.com
telnet google.com 80
等等,全部失败。
我迄今采取的措施
我应该指出,我的网络问题始于我搬到大学校园并开始使用其网络时。在我进校园之前,我的所有虚拟机(各种客户操作系统)都可以正常上网。这就是我的问题开始出现的时候,但我不能保证这与我的问题有关;我的几个同学在校园网络上使用 VirtualBox,主机和客户机设置与我相同,没有出现问题。
我昨天花了很多时间试图解决这个问题。我决定卸载并重新安装 VirtualBox,并设置一台全新的客户机。
最初,ping IP 地址成功,但 DNS 查找失败,因此我按照说明操作在此主题中并在主机中运行此命令:
VBoxManage modifyvm "My guest VM name" --natdnshostresolver1 on
然后 DNS 服务开始在客户机中工作,我可以执行以下操作 ping superuser.com成功。
(附带问题:这个功能默认是关闭的吗?)
这家伙(问库本图论坛上的一位用户遇到了和我类似的问题(他的标题:“我可以 Ping、Dig,但不能浏览”,他使用的是桥接适配器)。回答者建议使用 WireShark(在主机上)找出阻塞的原因,这可能是防火墙的问题。这位朋友最终解决了他的问题,但我认为我的问题与他的问题不够相似,无法解决这个问题:
*感谢大家的帮助,问题出在 avast! 防火墙上,我通过在防火墙上激活 ICS 模式解决了这个问题。*
尝试禁用我的 Windows 防火墙,但那真的是绝望之举,没有奏效。另外,我不知道我应该将 ICS 连接到什么,也不知道这是否与问题有关。我对网络几乎一无所知(除了到目前为止我尝试解决这个问题时学到的东西)。另外,我实际上不确定我的问题标题是否正确。
那么我该如何解决这个问题?非常感谢大家的帮助,谢谢。
編輯:
我应该注意,校园网络需要 WPA-2 Enterprise 用户名/密码身份验证。切换到桥接模式(如 Frank 在下面的评论中所建议的)允许我从客户机内部进行身份验证,没有问题。现在,在创建新的客户机时,Ubuntu 安装喜欢连接到互联网(但我无法在安装过程中进行身份验证),因此如果可能的话,我仍然想找到一种 NAT 的方法(我仍然想让问题保持开放,但也许我为这个问题打开一个新的问题更合适?不确定,抱歉我是新来的)
答案1
如果您可以 ping 并解析 DNS,则表明您已连接。您没有具体提到 curl 或 telnet 是如何失败的。有任何错误消息吗?我唯一能想到的是“ping”和 DNS 是 UDP 协议,而浏览、telnet 和 curl 是 TCP。也许您的校园网络有奇怪的规则锁定 TCP 连接,但允许 UDP?
如果您的主机操作系统可以成功浏览,那么问题肯定是出在 VirtualBox 与主机的接口无法正常工作。
答案2
很抱歉在此帖中插播,但如果有人遇到同样的问题,请尝试卸载 ProxyCap、proxifier 等重定向器。VirtualBox NAT 无法与它们配合使用,如果您尝试跟踪 VirtualBox 网络,您将不会在日志中找到任何错误消息,也不会在 pcap 文件中看到任何内容。禁用 ProxyCap 是不够的,必须将其卸载,或者您需要使用“netsh winsock reset”重置您的网络配置,但 ProxyCap 将不再适合您。