VirtualBox 虚拟机与宿主机、虚拟机与虚拟机之间的通信设置

写在前面

系统配置

Host System: MACOS *1

VMS System: CentOS *2 version:CentOS-7-x86_64-Minimal-1708magnet:?xt=urn:btih:644b1aab4ac0a55c57ee421b529c69377b1526e6&dn=BUG-006

虚拟机软件: VirtualBox version: version:5.2.0 (免费哦)

VirtualBox

网卡配置

虚拟机访问外网与宿主机

传统来说我们主要是让虚拟机与外网、宿主机通信(有虚拟机发出的单向通信)。 这可以使用简单的NAT模式来实现。一般来说使用VirtualBox 来安装CentOS虚拟机的话会自动帮你配置一块NAT的网卡。

但这里有一个点需要注意,对于CentOS Minimal 版本来说网卡是默认关闭的。需要手动的开启,具体方法如下:

cd /etc/sysconfig/network-scripts 

vi ifcfg-xxxxx  //xxx为各版本不同


//这时候应该可以看到如下内容 
TYPE =Ethernet
......
ONBOOT=NO // 将这一行改为 yes 这样可以让网卡默认启用
查看网卡

我这里的文件名为 ifcfg-enp0s3

之后就重启网络服务(当然最方便的就是直接重启虚拟机了 o(^▽^)o )
service network restart

现在就可以ping 通宿主机和外网啦!

连通结果

宿主机访问虚拟机

这里就需要将NAT模式转化为Host-only 模式了。

首先关闭虚拟机(不然网卡更改可能不能生效)

网卡设置

在网卡选项中将NAT模式改为 Host-Only,同时将混杂模式选为All。

打开虚拟机执行以下指令

cd /etc
mkdir network
cd network
vi interfaces

之后在 interface 文件中添加如下两行:

auto eth1
iface eth1 inet dhcp

重启网络(还是可以直接重启虚拟机哦)

这时宿主机就可以ping 到虚拟机了。

ping虚拟机

宿主机可以ping 通配置了Host-only网卡的虚拟机(192.167.99.101),另一个只配置了NAT网卡的虚拟机则无法访问(10.0.2.15)

虚拟机互相访问

有了前面的两个部分这里就相当的简单了。要实现两台虚拟机之间进行通信,我们只需要将两台虚拟机的网卡都设置为Host-only 模式就可以互相访问了。

互相访问

同时兼顾

可定有同学要说了,一个模式只能访问外网与本机,一个模式只能虚拟机互相访问和被主机访问。有没有一种可以兼顾这两种情况的模式呢?

其实答案很简单我们只需要给虚拟机配置两块网卡,一张设为NAT 模式,另一张设为Host-only模式就可以做到兼顾了。

两块网卡设置

小提醒

CentOS Minimal 版本没有ifconfig 可以通过 ip addr 来获取ip 地址。

你可能感兴趣的:(VirtualBox 虚拟机与宿主机、虚拟机与虚拟机之间的通信设置)