virtualbox实现linux双网卡通信

jimmyleeee 2018-09-02

玩virtualbox的linux虚拟机,必然会涉及两块内容,一个是与主机通信、一个是通过主机与外部网络进行通信。下面就先就与主机通信和外部网络通信进行配置讲解。

1、我也尝试过利用单个网卡进行上面两个功能的实现,可惜失败了。这里利用双网卡的配置来分别完成主机通信与外部网络通信。如下图所示进行两个网卡的配置:

网卡1:host-only适配器

在进行virtualbox的安装时会虚拟出一个网卡,网卡的名字一般为VirtualBox Host-Only Ethernet Adapter #2 此默认网卡可以在网络与共享中心中看到,并且虚拟出来的这个网卡的ip、子网掩码已经进行了相关配置,接下来可能会用到。

virtualbox实现linux双网卡通信

网卡2:采用网络地址转换的方式进行配置。简单来讲就相当于利用主机的网卡与外部进行通信。

virtualbox实现linux双网卡通信

2、配置完成之后启动计算机,查看文件cat /etc/udev/rules.d/70-persistent-net.rules

文件70-persistent-net.rules中保存的是我们虚拟出来的两个网卡的相关硬件信息。可以看到,文件中有eth0 和eth1两个网卡信息,这里通过比较ATTR信息可知eth0 对应于网卡1,eth1对应于网卡2.因此eth0主要用于与主机通信,eth1用于外部网络通信。

virtualbox实现linux双网卡通信

3、进入 cd /etc/sysconfig/network-scripts目录修改目录下的ifcfg-eth0 文件.该文件的DEVICE,HWADDR 应该与/etc/udev/rule.d/70-persistent-net.rules中的eth0一致.

3.1 我的ifcfg-eth0 文件,修改后为:

DEVICE=eth0

HWADDR=08:00:27:BB:80:FD

TYPE=Ethernet

UUID=b1f9a5b2-3bbc-4706-93f7-213b39ad8982

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

3.2 同样修改ifcfg-eth1修改后参数配置如下

DEVICE=eth1

HWADDR=08:00:27:FD:82:4A

TYPE=Ethernet

UUID=d348790a-73dd-4c80-a78d-2596d0ad22b6

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=dhcp

4.重启服务, service network restart



上面的配置基本上可以完成win7的基本设置,但是在进行win7到win10的升级时出现如下错误:

Failed to open/create the internal network ‘HostInterfaceNetworking-VirtualBox Host-Only Ethernet Adapter #2’ (VERR_INTNET_FLT_IF_NOT_FOUND).

返回 代码: E_FAIL (0x80004005)

组件: ConsoleWrap

界面: IConsole {872da645-4a9b-1727-bee2-5585105b9eed}

解决方案:

打开‘管理’-‘全局设定’单击‘网络’-‘仅主机(host-only)网络’ 如下图所示:

virtualbox实现linux双网卡通信

先通过右手边的’-‘把相应网卡去除,然后通过‘+’再重新创造一个host-only网卡,此时,virtualbox的虚拟机即可正常启动。但是正常启动后会发现网络通信正常但主机无法正常通信。在进行serverce network restart时出现以下错误提示:

Determining IP information for eth0…. failed

解决方案:这个错误说明,没办法自动获取ip地址等信息,简单,无法自动获取那么久手动配置就行了。配置etc/sysconfig/network-scripts/ifcfg-eth0如下所示:

DEVICE=eth0

HWADDR=08:00:27:BB:80:FD

BOOTPROTO=static

BROADCAST=192.168.52.255

IPADDR=192.168.52.12

NETMASK=255.255.255.0

TYPE=Ethernet

UUID=b1f9a5b2-3bbc-4706-93f7-213b39ad8982

ONBOOT=yes

NM_CONTROLLED=yes

然后service network restart 即可。其中ip地址应定要和Host-only网卡中的IP在一个子网段。可通过主机的网络中心-属性-IPV4查看host-only的子网段配置信息。

相关推荐