首先说明VMware功能比 VirtualBox强大,网卡设置也更加灵活,并且可以一种模式搞定你所有的需求,如果能用VMware那就优先用VMware
VirtualBox的网络设置和VMware的网络设置不同
- VMware的NAT 模式和 host-only模式都会在宿主机中映射一个虚拟网卡,这个网卡可以使宿主机使用虚拟机IP地址连接虚拟机。
- VirtualBox只有host-only才会创建虚拟网卡,所以只有host-only模式可以方便的访问虚拟机。
host-only,NAT,桥接的区别
- host-only 不能连外网,和宿主机处于不同网段,虚拟机位于独立的子网络,不能请求外网,可以通过宿主机虚拟网卡连接宿主机
- NAT可以连接外网,和宿主机处于不同网端,虚拟机位于独立的子网络,并且这个网络可以连接外网(通过宿主机物理网卡请求外网)
- 桥接,可以连外网,使用的数宿主机所在的网络,和宿主机处于一个网段,占用一个IP,通过虚拟机网卡请求外网
解释说明
一般我们的需求是宿主机可以通过虚拟机IP连接虚拟机,并且虚拟机可以上外网。这种需求其实只要使用桥接模式就行了,但是桥接模式会占用宿主机网络IP,不适合在公司使用(如果你虚拟机的IP被别人用了,你只能改IP),所以只能是虚拟机有一个独立的子网络。
VMware的NAT模式可以访问外网,并且为NAT模式的宿主机创建了虚拟网卡(通过这个网卡把宿主机加入到虚拟机的网络),所以可以很方便的实现宿主机请求虚拟机,这也是我推荐优先使用VMware的的原因。
如下图VMware宿主机网卡设置截图,VMware 有两个虚拟网卡,一个是个 host-only用的,一个给 NAT用的,VirtualBox只有一个,是个 host-only用的
VirtualBox只有host-only模式创建了宿主机虚拟网卡,所以需要host-only + NAT模式才能实现宿主机访问虚拟机,并且虚拟机可以访问外网。
VirtualBox全局网络设置
选择工具-->网络,然后进入网络设置
先修改host-only网络的网段,也可以不改,用默认的也行,修改网段是为了方便记忆,或者你有B类网的需求,一般A类网够了
默认是 192.168.56.1
新建一个NAT网络,如果有就不用新建,这个也是设置子网段,一般默认就可以了,因为这个字网络分配的IP不好改,一般用于连接外网。
虚拟机网络设置
先保持虚拟机关闭,这样才能设置多张网卡
网卡1:我建议设置为host-only,这样做的目的是第一网卡对应了虚拟机里面的一个物理网卡文件,可以很方便的修改并且固定IP,便于我们的宿主机访问固定的虚拟机IP。
网卡2:这个是VirtualBox虚拟的网卡,在虚拟机里面没有对应的网卡配置文件,所以把他设置成访问外网的NAT网络。
网卡3:你可以设置成桥接,但是没必要设置这么网络,如果你确定宿主机网段的IP不会冲突,可以直接用第一网卡设置为桥接,这样最省事。
如果不关机网卡选项是灰色的,不能选的
网卡1配置
网卡2配置
给虚拟机设置固定的IP,以便宿主机访问
首先开机
cd /etc/sysconfig/network-scripts
vi ifcfg-enp0s3
备注,这个名字不一定完全一样,一般是 ifcfg-en开头的文件,这个文件对应着我们前面配置网卡1
重启网络设置,就能完成了
确认配置生效
在虚拟机上 ping baidu.com,能ping通表示可以连外网,NAT网络设置正确。
在宿主机上 ping 虚拟机IP,能ping通说明虚拟机的 host-only 网络设置正确。
如果有问题通过 ip addr 或者 ifconfig 查看IP是否正确
ifconfig 刚安装的centos可能没有,所以用 ip addr 查看,或者使用 yum install -y net-tools 安装
鼠标悬停在右下角的小电脑图标上面1秒,可以查看网卡是否开启,你也可以在这里启用停用网卡
右键点那个电脑小图标可以启用停用指定网卡
上面的配置有问题,每次都要重启网络服务才能正常使用
估计是启动时加载匹配顺序的关系
解决办法
网卡1设置为NAT,网卡2设置为host-only
如果反过来我试了一下不行。
修改网卡touch ifcfg-enp0s3
touch ifcfg-enp0s8 输入类似下面内容
重启网卡
所有评论(0)