Virtualbox 中的无线网络

Virtualbox 中的无线网络

我刚刚安装了我的第一个 Ubuntu Server(12.04)实例并立即遇到了以下问题:

  • 正在运行apt-get installupdate失败(见下文)
  • 运行ifconfig会产生以 开头的特殊 IP 地址10.x.x.x,而我的路由器在其“附加设备”页面中根本看不到服务器(它是消费级 Netgear)

当我运行时,apt-get出现以下 50 多个错误:

Failed to fetch <some-http-url>. Temporary failure resolving <blah>.ubuntu.com

我阅读了有关 12.04 的这个错误,并在该论坛和服务器故障上找到了一些类似的帖子,建议进入/etc/resolv.conf并添加一个条目:

nameserver 8.8.8.8

令我惊讶的是,我发现这/etc/resolv.conf是一个指向其他地方的符号链接,我必须先删除它,然后使用上面指示的条目创建一个新的。

我重新启动了服务器并尝试apt-get再次运行,结果相同。

我该如何开始诊断问题(我是一个相对较新的 Linux/Ubuntu 用户)?

可能有帮助的其他详细信息:

  • 这实际上是作为 VirtualBox 客户操作系统运行的虚拟机
  • 运行此 VM 的物理主机是我的笔记本电脑,它具有无线连接;我想知道笔记本电脑是否(以某种方式)以无线方式接入网络,但也许 VBox VM 和/或 Ubuntu 服务器操作系统未配置无线,因此没有任何东西“通过”?

提前感谢任何指点!

编辑

这是我的虚拟机的网络设置的快照(只有适配器 1 在其字段中填充了信息,因此我假设我的虚拟机只有 1 个适配器):

在此处输入图片描述

ifconfig这是我从终端运行时的输出:

在此处输入图片描述

route以下是我从终端运行时的输出:

在此处输入图片描述

跑步ping google.com

在此处输入图片描述

答案1

简而言之:这是一个网络问题。

我所看到的场景是这样的:

在此处输入图片描述

现在要正确地看到问题出在哪里,在这种情况下,我们需要首先从外网检查到内网。

  1. 确保路由器有互联网。您可以使用同一台主机或连接到它的其他设备来检查这一点。

  2. 确保主持人通过互联网路由器或任何其他来源。要检查,只需向 google.com 发送 ping 即可,例如:ping google.com

如果第 1 点和第 2 点都很好(您的路由器运行良好,并且有互联网,您的主机也有互联网),那么我们继续使用 Guest 和 Virtualbox。阅读 VirtualBox 中如何处理无线支持可能会有所帮助虚拟机 ubuntu 上的 Wifi 卡

我们首先需要了解以下几个信息:

  • Virtualbox 环境中没有无线连接。所有“虚拟”连接均指有线/有线连接。因此,当您在虚拟客户机中启用网卡时,它是一个虚拟有线您正在创建的连接不是虚拟的无线的一。

  • 从主机到客户机的虚拟连接与主机所连接的连接类型(物理连接)无关。如果主机通过有线或无线连接,则主机到客户机的虚拟连接无关紧要,也不会受到影响,因为客户机内部有线和无线连接的使用方式相同。类似于下图:

    在此处输入图片描述

  • 如果您的主机无法访问互联网,您的客户机也无法访问互联网。同样,如果您的主机可以访问互联网,并且主机与客户机之间的连接允许共享互联网,那么客户机也很可能可以访问互联网(Virtualbox 的默认行为)。

  • 我将使用 Virtualbox 4.1.20,它看起来与您使用的有所不同(可能相同,我不知道)。我将添加网络图像以帮助显示差异:

    在此处输入图片描述

  • 我将使用 Ubuntu 12.04 作为主机和客户机(这在 12.10 或 13.04 中同样有效)。如果 Windows 是主机,您需要确保防火墙没有阻止客户机将使用的特定端口。

  • 我假设主机没有使用代理,只是通过无线/有线连接直接连接到路由器。

  • 使用 ifconfig 和 route 时 Guest 的输出如下:

    在此处输入图片描述

现在来看看你想要解决的问题:

  1. 为虚拟机 Ubuntu Server 配置网络
  2. 让虚拟机连接到互联网
  3. 获取路由器以查看虚拟机

首先我要说的是,除非 Virtualbox 猜测支持端口转发,否则第 3 点将是不可能的。您的路由器将只看到来自您的客户机的传输,就好像它们是来自实际主机的传输一样。因此,如果没有转发(最新版本在一定程度上支持转发),路由器将永远看不到虚拟机,只能看到主机。

当然,有办法解决这个问题,比如告诉主机通过 VirtualBox 引擎将内容转发给客户机。或者配置(我认为更容易)客户机进行端口转发。例如:

在此处输入图片描述

考虑到这一点,我们在 Guest 中执行以下操作:

  1. 使用常用方法测试客人是否可以访问Internet ping google.com

    如果 ping 成功,我们就知道有互联网连接。问题可能出在解析目标网站。

  2. 请尝试以下操作:

    /etc/init.d/network restart和/或dhclient

  3. 验证是否/etc/network/interface正确。我的示例如下:

    在此处输入图片描述

  4. 更改适配器类型在 Virtualbox 配置窗口的网络选项中。

  5. 测试 Ubuntu 桌面客户端或其他操作系统是否正常工作。(目前我只有 12.10 和 12.04 的桌面 iso 映像)。

答案2

这肯定是网络问题。要确认这一点,请先尝试 ping 本地网络内的 IP:

ping 10.1.1.1

(这可能是你的路由器的 IP)

然后 ping “外部世界” 的 IP

此外,即使您在通过 wifi 连接的笔记本电脑上运行 VM,您也不需要在客户机上配置 wifi - VirtualBox 模拟“有线”网络适配器,因此您的客户操作系统认为它在通过电缆连接到 LAN 的机器上运行。

在 VirtualBox 中配置网络是一个广泛的话题(尽管典型的设置通常开箱即用),您需要确保您的 VM 在 VM 的属性等中配置了网络适配器。

http://www.virtualbox.org/manual/ch06.html更多细节。

默认的 VirtualBox 设置 (NAT) 会在主机和客户机之间创建一个“私有”网络,主机会将来自客户机的所有流量转发到外部,并将响应发送回客户机(类似于路由器将笔记本电脑连接到互联网的方式)。客户机在您的 LAN 中没有单独的 IP 地址,无法从笔记本电脑外部访问,但您可以从客户机访问互联网,因为数据包由主机转换到 LAN,然后由路由器转换到互联网。这解释了为什么您在路由器的设置中看不到单独的设备

答案3

我从你的问题中注意到了以下几点:

  1. 消息为:“无法获取。暂时无法解析 <blah>.ubuntu.com”
  2. 您可以正常访问 google.com。

我想说,域名服务在解析该地址时出现了问题,而不是您的计算机出了问题。与执行 ping 相比,执行域查找并没有什么特别之处。您的网络必须正常工作,无论它是如何配置的。

我建议您将软件源更改为使用不同的 Ubuntu 档案,也许只是 archive.ubuntu.com。

答案4

/etc/resolv.conf是符号链接,并且在您删除它之后它仍然是符号链接,因为 resolvconf 总是会重置它。

如果您想使用 Google DNS,请将以下几行添加到您的/etc/resolvconf/resolv.conf.d/head

nameserver 8.8.8.8   
nameserver 8.8.4.4

如果您想让路由器检测您的虚拟机,则应使用“桥接适配器”。在网络适配器中,将“NAT”框更改为“桥接适配器”。如果您将其设置为桥接适配器,则虚拟机将从 DHCP 服务器获取 IP 等。如果您的路由器没有或您的网络中没有,则 Virtualmachine 无法自动获取设置,您必须手动指定它们。

我不确定这<blah>.ubuntu.com是否能解决,但我建议您尝试另一个镜像。

我使用mirrors.ubuntu.com/mirrors.txt,它始终包含最近的可能镜像。要使用它,请将以下几行添加到您的/etc/apt/sources.list

deb mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse   
deb mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-updates main restricted universe multiverse    
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-security main restricted universe multiverse

如果您也想要反向移植,请添加以下几行:

deb mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   
deb-src mirror://mirrors.ubuntu.com/mirrors.txt precise-backports main restricted universe multiverse   

为我http://mirrors.ubuntu.com/mirrors.txt包含:

http://ubuntu.trumpetti.atm.tut.fi/ubuntu/

http://www.nic.funet.fi/pub/mirrors/archive.ubuntu.com/

http://mirrors.nic.funet.fi/ubuntu/

http://archive.ubuntu.com/ubuntu/

因为我在芬兰。

相关内容