VirtualBox 主宿访问及上网配置

需求:
1. 宿主机需要通过固定的IP访问虚拟机
2. 虚拟机需要可以访问外网

已有条件及约束:
1. 宿主机已经可以访问外网
2. 上网使用的IP地址若是静态IP会经常出现冲突
3. 虚拟机系统版本 CentOS 6.4

首先,我们大体的看一下Vbox的四种网络设置的功能及区别:
VirtualBox 主宿访问及上网配置_第1张图片

1. 单网卡

如果只有一张虚拟网卡,我们来考虑下 Vbox 四种网络设置是否能实现需求:

  1. NAT : 主机不能访问虚拟机 排除
  2. Bridge: 所有功能都可以实现,但由于宿主机网段静态IP冲突严重,而宿主机又需要固定IP访问,故此种方式不太适用 排除
  3. Internal: 完全封闭网络,只能实现虚拟机与虚拟机之前的访问 排除
  4. Host-Only:通过设置可以实现所有的功能 通过

1.1. 主宿访问

首先,将Vbox上的网络设置改成 Host-Only 模式:
VirtualBox 主宿访问及上网配置_第2张图片

其次,修改宿主机上虚拟网卡的设置为:
IP地址 : 192.168.56.1
子网掩码: 255.255.255.0

VirtualBox 主宿访问及上网配置_第3张图片

最后,更改虚拟机的网卡(/etc/sysconfig/network-scripts/ifcfg-eth0)设置,并重启网卡即可:

DEVICE=eth0
HWADDR=08:00:27:8C:D0:A0
TYPE=Ethernet
UUID=5a44ad28-85e1-4d0f-bff8-8e7ff05a8a9f
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.168.56.66
GATEWAY=192.168.56.1

1.2. 外网访问

首先,在虚拟机上配置DNS服务器,修改配置文件 /etc/resolv.conf :

nameserver 8.8.8.8
nameserver 8.8.4.4

再将宿主机上真实网卡的网络共享给虚拟网卡:
VirtualBox 主宿访问及上网配置_第4张图片
VirtualBox 主宿访问及上网配置_第5张图片
共享完成后,宿主机上Host-Only的虚拟网卡的IP地址会被重置为 192.168.137.1,连接虚拟机的客户端会断开,此时需要手动将其还原成 192.168.56.1。重新连接后,测试虚拟机的外网访问如下:
VirtualBox 主宿访问及上网配置_第6张图片

2. 多网卡

如果只需要部署单独虚拟机,单网卡足以,如果需要部署多台虚拟机,上述方案是行不通的,宿主机的网络共享设置只能发生在两块网卡之间,超过两张网卡不能再进行共享(我试验的结果)。

为了实现需求,我们仍然分为两块去实现,第一步是主宿访问,使用Host-Only实现,第二步是外网访问,使用Bridge实现。

2.1 主宿访问

与单网卡下的主宿访问配置方式一致

2.2. 外网访问

首先,我们需要在 Vbox 上创建一块新的网卡,并设置网络连接方式为 Bridge,界面名称选择宿主机上可访问外网的真实网卡:

VirtualBox 主宿访问及上网配置_第7张图片

其次,在虚拟机上配置新的网卡,在 /etc/sysconfig/network-scripts 下创建新的网卡配置 ifcfg-eth1,内容如下:

DEVICE=eth1
HWADDR=08:00:27:D3:FA:20
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp

需要注意的是,由于 Bridge 会获取一个宿主机网段的IP,所以此处指定获取方式为 dhcp 的动态方式,同时 HWADDR 的值需要与 Vbox 创建的网卡的 MacId 一致。

VirtualBox 主宿访问及上网配置_第8张图片

配置完成后,重启虚拟机网卡,可以访问外网。

你可能感兴趣的:(case)