安装虚拟机的过程我就不说了,关于这个请自行百度


我这里重点说一下Centos 7 下实现linux虚拟机和主机的通信


网上有不少其它的文章描述Centos 5.x或者6.x的方式,就是copy ifcfg-lo ,改成ifcfg-eth0这种方式,这种方式我在最初的时候试了下,是可以的,但后来不知道为何又不行了


于是我又找了些centos 7下如何实现的方式,捣鼓了半天终于可以了


第一步:设置连接模式:

centos开启虚拟化技术 centos 虚拟化主机_外网

centos开启虚拟化技术 centos 虚拟化主机_mac地址_02


关于桥接模式和NAT模式也是可以实现通信的,网上有很多文章,可以自行搜索

但我这里选择“仅主机模式”,是因为我的需要,注意,这种模式下,虚拟机不能上外网

如果虚拟机要上外网,请参考其它文章


第二步:查看IP段

centos开启虚拟化技术 centos 虚拟化主机_centos开启虚拟化技术_03

centos开启虚拟化技术 centos 虚拟化主机_IP_04


把这些记下来

其中子网IP标记为NETWORK=192.168.182.0

子网掩码标记为NETMASK=255.255.255.0

注意我让你这么写是有意义的


然后自己主机电脑,注意是你的电脑,不是虚拟机,打开CMD命令,输入ipconfig

centos开启虚拟化技术 centos 虚拟化主机_IP_05


上面是VMnet1,所以这里也是VMnet1,记一下就可以了


这样,你主机的IP就是192.168.182.1,网关也是192.168.182.1

把网关记录为GATEWAY=192.168.182.1

再强调一遍,把这些记到记事本上,待会有用的


然后进入虚拟机

vim /etc/sysconfig/grub

然后,往这个文件中找到GRUB_CMDLINE_LINUX这一项

添加net.ifnames=0 biosdevname=0内容,如下图所示:

centos开启虚拟化技术 centos 虚拟化主机_centos开启虚拟化技术_06

中间是用空格隔开的

编辑完以后,保存退出(先按ESC,再输入:wq)

然后输入如下命令:

grub2-mkconfig -o /boot/grub2/grub.cfg



第三步:修改

 cd /etc/sysconfig/network-scripts/

ls

看到如下场景

centos开启虚拟化技术 centos 虚拟化主机_centos开启虚拟化技术_07

注意,你们那边的第一个文件ifcfg-eth0肯定不是叫这个名字的(我原先的名字叫 ifcfg-eno16777736,当然有的也可能是其它名字)


这个名字是被我改过的,总之打开这个文件

centos开启虚拟化技术 centos 虚拟化主机_IP_08


这里稍微说明下

原先NAME和DEVICE,我这边都叫eno16777736,改成eht0

HWADDR是mac地址,如何获取mac地址?ip address show

NETMASK、NETWORK、GATEWAY都是上面让你记过的,现在粘贴下就好了

ONBOOT是开机启动,设置为yes

IPADDR是虚拟机的ip地址,这个前三位必须跟网关一致,最后一位可以随意

最后一定要把BOOTPROTO从dhcp改成static,否则你的ip是不固定的


改完,保存,然后重启虚拟机

输入ifconfig:

centos开启虚拟化技术 centos 虚拟化主机_IP_09

出现这个,就意味着OK了,当然你应该ping下主机,主机上面已经查过了,就是192.168.182.1

centos开启虚拟化技术 centos 虚拟化主机_mac地址_10

一切OK