Virtualbox中的无线网络


13

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

  • 运行apt-get install还是update失败(见下文)
  • 运行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来宾OS运行的虚拟机
  • 运行此VM的物理主机是我的笔记本电脑,它具有无线连接;我想知道笔记本电脑是否(以某种方式)通过无线方式连接网络,但是也许VBox VM和/或Ubuntu服务器操作系统未配置为无线方式,因此没有“通透”的东西吗?

在此先感谢您的指导!

编辑

这是我的VM的网络设置的快照(仅适配器1具有填充其字段的任何信息,因此我假设我的VM仅具有1个适配器):

在此处输入图片说明

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

在此处输入图片说明

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

在此处输入图片说明

正在运行ping google.com

在此处输入图片说明


1
您能否添加dig <blah>.archive.ubuntu.comdig @ 8.8.8.8 <blah> .archive.ubuntu.com`和的输出dig @8.8.8.8 archive.ubuntu.com。<blah>的内容是什么?您可以从虚拟机主机ping <blah> .archive.ubuntu.com吗?
约翰·格鲁伯

1
HWAddr可能是OK显示,因为每个虚拟机都有自己唯一的MAC地址。
亨里克

1
fe80::..地址是本地链接的IPv6,我无法与您联系。ping中的from是您要ping的服务器,而不是网关,因此它不会丢失任何内容。
亨里克(Henrik)2012年

Answers:


22

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

我看到这种情况的方式是这样的:

在此处输入图片说明

现在,要正确查看问题所在,在这种情况下,我们需要首先从外部网络检查到内部网络。

  1. 确保路由器具有互联网。您可以使用同一主机或与其连接的另一台设备进行检查。

  2. 确保主机通过路由器或任何其他来源具有互联网。要检查只需发送一个ping到google.com例如像这样:ping google.com

如果第1点和第2点都很好(您的路由器运行良好并且可以连接互联网,而您的主机可以连接互联网),那么我们继续使用Guest和Virtualbox。通过在VirtualBox的ubuntu上读取Wifi卡,了解 VirtualBox如何处理无线支持

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

  • virtualbox环境中没有无线连接。所有“虚拟”连接均指电缆/有线连接的连接。因此,当您在虚拟访客中启用网卡时,它是您要创建的虚拟有线连接,而不是虚拟无线连接。

  • 从主机到访客的虚拟连接与主机连接到的连接类型(物理连接)无关。如果主机是通过有线或无线连接进行连接的,则它不会影响或影响从主机到访客的虚拟连接,因为有线和无线连接在访客内部的使用方式相同。与下图类似:

    在此处输入图片说明

  • 如果您的主机无法访问互联网,则您的访客将无法访问。如果您的主机可以访问互联网,并且您从主机到来宾的连接允许共享互联网,那么来宾也将很可能也可以上网(Virtualbox的默认行为)。

  • 我将使用Virtualbox 4.1.20,它看起来与您使用的Virtualbox不同(可能是相同的,我不知道)。我将添加网络映像只是为了帮助并显示差异:

    在此处输入图片说明

  • 我将使用Ubuntu 12.04作为主机和Guest(在12.10或13.04中的工作原理相同)。如果以Windows为主机,则需要确保防火墙没有阻止来宾使用的特定端口。

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

  • Guest的输出如下,带有ifconfig和route:

    在此处输入图片说明

现在到您要解决的问题:

  1. 为VM Ubuntu服务器配置网络
  2. 使VM连接到Internet
  3. 获取路由器以查看虚拟机

首先让我说,除非Virtualbox猜测支持端口转发,否则第3点将是不可能的。您的路由器仅会看到来自访客的传输,就好像是来自实际主机的传输一样。因此,如果不进行转发(最新版本在某种程度上支持该功能),路由器将永远无法看到虚拟机,只能看到主机。

当然,有一些解决方法,例如告诉主机通过virtualbox引擎将内容转发给来宾。或配置(较容易)来宾进行端口转发。例如:

在此处输入图片说明

因此,考虑到这一点,我们在来宾中执行以下操作:

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

    如果Ping有效,那么我们知道存在互联网连接。问题可能在于解决目标站点。

  2. 请尝试以下操作:

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

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

    在此处输入图片说明

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

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


哇,谢谢@Luis Alvarado这么详尽的回答(+1)。针对您的5条建议中的每条建议进行了一些后续跟踪:(1)ping google.com在来宾VM上似乎正在正常运行,因此,我还可以执行其他哪些测试以确认我确实可以连接互联网?(2)我只有一个/etc/init.d/networking(没有network)服务,当我尝试重新启动它时,我收到一条警告,提示它已被弃用。(3)我的etc/network/interface文件看起来完全像您的文件。(4)应该尝试哪种适配器类型,以及随后的设置是什么?(5)待定...
zharvey 2012年

我认为我需要确认的第一件事是项目#1:ping似乎开始并且表现良好的事实。我将使用输出的屏幕截图更新我的原始问题,请让我知道这是否是“正常”的ping输出并指示成功的inet连接。
zharvey

抱歉,提供赏金使我下降到了最低投票阈值15以下,所以看来我不能投票赞成你的答案,否则我会:-/
zharvey

你好 让我简短地说明一下:1.如果ping操作正常,则VM与主机具有正确的连接。2.不用担心/ etc / network的问题,如果您的接口按照您提到的方式正确配置并且ping正常,那么这没关系。3.不必担心适配器,因为只有其他适配器不起作用时才可以。我要包括的是您用作主机的操作系统,以及该主机上是否装有某种防火墙。您还可以虚拟化Ubuntu桌面的ISO映像并查看实时CD是否具有互联网连接吗?
Luis Alvarado 2012年

今天终于可以下载Ubuntu Server 12.04.1并进行了测试。它已正确连接。因此,在您安装服务器时,我更倾向于在主机上创建问题或配置错误。我倾向于让主机拒绝某些内容,因为据我所知,您具有一些计算机使用经验,并且U​​buntu Server非常易于使用。
路易斯·阿尔瓦拉多

3

这绝对是网络问题。要确认这一点,请尝试首先在本地网络中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地址,无法从笔记本电脑外部访问,但是您可以从来宾系统访问Internet,因为数据包由主机转换为LAN,然后由路由器转换为Internet。这说明了为什么在路由器的设置中看不到单独的设备


感谢您出色的回答@Sergey(+1)-但我还是有些困惑!您说我的笔记本电脑上运行的VM可以访问Internet,因为数据包已从主机转换为LAN。那么,既然如此,为什么不起作用apt-get如果VM可以接收入站网络连接,apt-get从远程URL下载内容应该没有问题...是吗?再次感谢!
zharvey 2012年

还是VM只能从私有LAN内部(主机OS及其所有来宾系统之间)接收数据包?
zharvey 2012年

1
@zharvey:我指的是具有正确配置的NAT网络的主机/客户机(通常是使用默认设置创建VM时的情况)-我怀疑您的VM可能以某种方式配置不正确。请进入VM的设置,并检查您是否具有网络适配器,虚拟以太网电缆是否已“插入”,网络类型已设置为NAT。也许在您的问题中添加一些屏幕截图。然后启动您的VM并在其中运行ifconfigroute命令,并发布结果。
谢尔盖

再次感谢@Sergey(再次为+1)-请查看随附的屏幕截图,如果有什么想找您,请告诉我!再次感谢!
zharvey 2012年

1

这是我从您的问题中注意到的:

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

我想说的是,域名服务在解析该地址时存在问题,而不是在您的计算机中。与执行ping相对,进行域查找没有什么特别的。您的网络必须正在运行,但是已配置。

我建议您更改软件源以使用其他Ubuntu存档,也许只是archive.ubuntu.com。


其实我必须同意。如果OP可以ping Google并浏览互联网(需要检查),则他的连接正常。在源中选择的服务器似乎是问题所在,而不是Internet连接。
fabricator4

1

这对我有用:

尝试设置无线功能无法正常工作,无法
在Ubuntu VM上添加网络属性详细信息,并且在Windows上进行更改同样无效

尽管主机是无线的,但来宾(ubuntu VM)的行为就像是通过虚拟电缆连接的,因此以下解决了问题:
Ubuntu VM窗口>设备>网络>网络设置...>选中“已连接电缆”复选框


1

/etc/resolv.conf 是symlink,并且在删除后将是symlink,因为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/

因为我在芬兰


如果每个人都可以编辑并在Markdown方面比我更好,请随时修复我在上述Markdown中造成的混乱。
米凯拉(Mikaela)2012年

这是一个有缺陷的答案。(1)如果/etc/resolv.conf是一个符号链接,而您删除了该符号链接,则resolvconf将不会重新创建该符号链接。(2)/etc/resolvconf/resolv.conf.d/head文件不是放置名称服务器选项的正确位置。如果使用ifup,则名称服务器地址应放在/ etc / network / interfaces中;如果使用NetworkManager,则应将其输入到NetworkManager中。如果确实要在resolv.conf中静态包含名称服务器地址8.8.8.8,则将“名称服务器8.8.8.8”放在/etc/resolvconf/resolv.conf.d/base中。
jdthood 2012年

0

该链接包含有关如何使用命令行连接到无线网络的教程:http : //www.linuxjournal.com/content/wi-fi-command-line

但是,您可能要还原resolv.conf文件。


真的那么简单吗?Ubuntu Server不附带无线自动检测功能吗?那么,当显示IP地址时,它是系统默认值还是其他值?知道如何恢复resolv.conf吗?谢谢(+1)!
zharvey 2012年

@zharvey:这不太可能解决您的问题,因为您不需要在来宾计算机上配置wi-fi。
谢尔盖(Sergey)2012年

0

好。一个小问题!您可以在浏览器上使用Internet吗?如果是,请尝试以下操作:尝试更改服务器,选择更新管理器,定义,从中下载,然后选择离您最近的服务器。然后尝试再次检查您的更新。

我认为这是一个错误。请尝试告诉我是否可行。


0

我还在VirtualBox上运行ubuntu桌面和服务器。我遇到了像你一样的问题。我的解决方法不是将VirtaulBox中的网卡设置为NAT,而是将其设置为桥接适配器。

希望对您有所帮助!;)

PS:从Serghey发布的链接(VirtualBox手册):

“桥接网络可满足更高级的网络需求,例如网络模拟和在来宾中运行服务器。启用后,VirtualBox会连接到已安装的网卡之一并直接交换网络数据包,从而规避了主机操作系统的网络堆栈。”


0

此问题基本上是由于为主机WiFi适配器(通过wifi路由器的DHCP服务器)和来宾接口(通过Nat联网下的VirtualBox DHCP服务器)分配了相同的IP地址。

从有关集成DHCP服务器的VirtualBox文档中,对VirtualBox NAT引擎进行微调

In NAT mode, the guest network interface is assigned to the IPv4 range 10.0.x.0/24
by default where x corresponds to the instance of the NAT interface +2. So x is 2
when there is only one NAT instance active. In that case the guest is assigned to the 
address 10.0.2.15, the gateway is set to 10.0.2.2 and the name server can be found at
10.0.2.3.

查看主机的WiFi适配器的IP地址,您会发现分配给它的地址也来自10.0.2.0/24网络范围。

这就是问题的原因,因为现在VirtualBox的Nat驱动程序被主机和来宾地址来自同一子网这一事实所迷惑。

要解决此问题,您可以使用VBoxManage命令(在虚拟机关闭电源的情况下)更改VirtualBox DHCP服务器提供的子网:

Vboxmanage modifyvm VMName --natnet1 "198.162/16"

而且您也很高兴(因为198.162.0.0几乎从未在SOHO网络设备的DHCP服务器中使用)。


0

您需要安装“ VirtualBox Oracle VM VirtualBox扩展包”。

首先,VBoxManage --version在您的Ubuntu(我在Mint)终端上运行。接下来,从https://www.virtualbox.org/wiki/Downloads下载适合您的VBox版本的扩展包。

在VBox上,点击Ctrl+G(“首选项”),然后向下滚动到“扩展”标签。单击“添加新软件包”,然后添加下载的文件并进行安装。

尝试一下!

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.