首先说明vmWare 功能比 VirtualBox强大,网卡设置也更加灵活,并且可以一种模式搞定你所有的需求,如果能用vmWare 那就就优先用vmWare
VirtualBox的网络设置和vmWare的网络设置不同
- vmWare的NAT 模式和 hostOnly模式都会在宿主机中映射一个虚拟网卡,通过这个网卡宿主机可以通过IP地址链接到虚拟机。
- VirtualBox只有hostOnly才会创建虚拟网卡,所以只有hostOnly模式可以方便的访问虚拟机。
hostOnly,NAT,桥接的区别
- hostOnly 只能虚拟机不能连外网,和宿主机处于不同网端,虚拟机位于独立的子网络,不能请求外网
- NAT 虚拟机可以连接外网,和宿主机处于不同网端,虚拟机位于独立的子网络,并且这个网络可以连接外网(通过宿主机网卡请求外网)
- 桥接,可以连外网,使用的数宿主机所在的网络,和宿主机处于一个网段,占用一个IP,通过虚拟机虚拟网卡请求外网
解释说明
一般我们的需求是 宿主机可以通过虚拟机IP连接虚拟机,并且虚拟机可以上外网。这种需求其实只要使用桥接模式就行了,但是考虑到会占用宿主机网络IP,不适合在公司使用(如果你虚拟机的IP被别人用了,你只能改IP),所以只能是虚拟机有一个独立的子网络。
vmWare的NAT模式可以访问外网,并且为NAT模式的宿主机创建了虚拟网卡(通过这个网卡把宿主机加入到虚拟机的网络),所以可以很方便的实现宿主机请求虚拟机。
virtualBox只为hostOnly模式创建了宿主机虚拟网卡,所系需要hostOnly + NAT模式才能实现宿主机访问虚拟机,并且虚拟机可以访问外网。
virtualBox全局网络设置
选着工具-->网络,然后进入网络设置
先修改hostOnly网络的网段,也可以不改用默认的也行,这里只是设置hostOnly的子网段
默认是 192.168.56.1
新建一个NAT网络,如果有就不用新建,这个也是设置子网段,一般默认就可以了,因为这个字网络分配的IP不好改,一般用于连接外网。
虚拟机网络设置
先保持虚拟机关闭,这样才能设置多张网卡
网卡1:我建议设置为hostOnly,这样做的目的是第一网卡对应了虚拟机里面的一个物理网卡文件,可以很方便的修改并且固定IP,便于我们的宿主机访问固定的IP。
网卡2:这个是VirtualBox虚拟的网卡,在虚拟机里面没有对应的网卡配置文件,所以用它范围外网。
网卡3:你可以设置成桥接,但是没必要设置这么网络,如果你确定宿主机网段的IP不会冲突,可以直接用第一网卡设置为桥接,这样最省事。
如果不关机网卡选项是灰色的,不能选的
网卡1配置
网卡2配置
给虚拟机设置固定的IP,以便宿主机访问
首先开机
cd /etc/sysconfig/network-scripts
vi ifcfg-enp0s3
备注,这个名字不一定完全一样 一般是 ifcfg-en开头的文件,这个文件对应着我们前面配置网卡1
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#这里本来是 DHCP,DHCP是 动态获取IP的协议,改成static,表示固定IP
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=ec760113-7932-4f46-996d-dadecca628b4
DEVICE=enp0s3
#这里本来是 on,改成yes,表示开启的时候启动网卡
ONBOOT=yes
#下面是手动加的
#虚拟机固定IP
IPADDR=192.168.110.200
#子网掩码
NETMASK=255.255.255.0
#网关
GATEWAY=192.168.110.1
重启网络设置,就能完成了
systemctl restart network
确认配置生效
在宿主机里面
ping baidu.com,能ping通表示可以连外网,NAT网络设置正确。
在宿主机上面ping 虚拟机IP,能ping通说明虚拟机的 hostOnly 网络设置正确。
如果有问题通过 ip add 或者 ifconfig 查看IP是否正确
ifconfig 刚安装的centos可能没有,所以用 ip addr 查看把
鼠标悬停在右下角的小电脑图标上面1秒,可以查看网卡是否开启,你也可以在这里启用停用网卡
右键点那个电脑小图标可以启用停用指定网卡