我有一台运行 VirtualBox 4.2.12 的 Ubuntu 13.04 主机。该主机同时具有有线和无线网络接口,但在任何给定时间通常只有其中一个处于活动状态。例如,家里的无线网络将处于活动状态,而办公室的有线无线网络将处于活动状态。
现在,我想在“桥接网络”模式下设置 Fedora 18 VirtualBox 来宾,以便来宾和主机可以ssh
使用其静态 IPv4 地址自由地相互连接(以及主机连接到的网络)。如果我将来添加更多这样的客人,那么客人也应该能够ssh
互相交流。
然而,我面临以下问题:
在 VirtualBox 设置中为来宾选择“桥接网络”模式后,来宾最终会获得一个动态分配的 IPv6 地址(而我想要一个静态分配的 IPv4 地址)。
ip addr
当无线接口在主机上处于活动状态时,如果在主机上,我只能在输出中看到“lo”和“wlan0”条目。因此,当主机的 p2p1(或有线)接口在当天早些时候(在办公室)处于活动状态时,我分配给该接口的静态 IPv4 地址在有线接口稍后(在家里)不活动时根本看不到。我尝试了给出的说明这里(
ifcfg-p2p1
在我的案例中使用该文件),但它们对我不起作用。例如,我能够stop
并且disable
NetworkManager.service
很好,但我不能restart
network.service
(它给了我错误"Restarting network (via systemctl): Job for network.service failed. See 'systemctl status network.service' and 'journalctl -n' for details."
还,
是否有任何独立于分发的方法可以为我的 F18 虚拟机分配静态 IPv4 地址?这意味着,由于每个 Linux 发行版都将其网络设置保存在不同的文件/目录结构中(并且内部也可能具有不同的属性),因此有什么方法可以通过
ifconfig
、ip
、route
等命令实现上述设置,然后也能够保留他们对这些更改需要放入的任何文件进行了更改?为了避免上述问题#2,我是否必须使用手动创建的 tun/tap 设备来用于“桥接网络”?如果是这样,我该如何在 Ubuntu 13.04 上做到这一点?
答案1
如果您希望主机和来宾之间共享一个不受其他网络更改影响的网络,则可以创建一个仅主机网络并将虚拟机中的第二个网卡映射到该网络。您的第一个网卡提供互联网连接,第二个网卡提供访客和主机之间的通信:
- 在主机 VirtualBox 中,转到文件...设置...网络并使用默认设置创建仅主机网络。这是 VirtualBox 整体的设置,而不是任何特定虚拟机的设置。
- 在主机 VirtualBox 设置中为您的虚拟机,转到网络并单击“适配器 2”选项卡(您的适配器 1 设置可以保留为桥接)。
- 单击“启用网络适配器”框
- 在“附加到:”下拉列表中,选择“仅主机适配器”
- 在“名称:”下拉列表中,选择您之前创建的仅主机网络(例如“vboxnet0”)
- 启动虚拟机并转到网络设置。您应该会看到第二个网络适配器出现。
- 为其分配一个静态 IP 地址,该地址与从仅主机网络的 DHCP 自动接收到的地址位于同一子网中。我相信默认情况下,VirtualBox 仅主机网络会分发 0.101 及更高的 DHCP 地址,因此您可以分配 0.2 到 0.100 之间的静态地址。
- 对于以后要添加到同一网络的任何虚拟机,请重复步骤 2-4。