赞
踩
Win10自带虚拟机,是我原来的VMware使用不了了,才发现的。以前一直用VMware,挺好的,但是这不是我要写的内容。还是回归正题吧。
一、启用Hyper-v
开始菜单--设置--应用--应用和功能--相关设置--程序和功能--启用或关闭windows功能
或者:控制面版--程序--启用或关闭windows功能
勾选上Hyper-V,然后会启动自动安装,根据提示重启或不重启计算机,这个我忘了。
安装完成后,在开始菜单--Windows管理工具中,可以找到Hyper-V管理器。
二、安装CentOS7.7
从https://wiki.centos.org/Download上下载CentOS7,下载的文件为iso。
在这里要说明的是,我一开始使用的是最新版本8,但安装完之后,启动不起来,实在没精力去研究,就改为7了。
打开Hyper-v管理器,左侧会自动连接本机服务器,点击本机服务器,右侧会显示快捷菜单。
点右侧的快速创建或新建--虚拟机,都可以创建虚拟机,区别是快速创建使用默认配置快速创建,新建--虚拟机通过向导,一步步进行相关设置。
快速创建界面如下:
在此界面,修改Name属性(虚拟机显示的名称),点击Change installation source...选择下载的系统iso文件,因为我们虚拟机安装的不是windows系统,所以去掉This virtual machine will run Windows选项,Network选项中有一个默认的Default 虚拟交换机,因为在我后续配置网络的过程中给删除掉了,所以无法显示了,在此可以选择默认的虚拟交换机。具网上查说此默认的虚拟交换机可自动识别网络,也就是只要宿主机能上网虚拟机就能上网,很不幸,在我的虚拟机安装完成后,初始就是上不了网,在各种设置尝试时,我删除了这个默认的虚拟交换机,现在也弄不出来了。关于网络问题我后续会交待。在此说明的是,即使你选择了默认的交换机,最终虚拟机也上不了网,不要着急,后续会写明我最终上网的几种方式。
使用向导的界面我不再一一截取,都是中文的,一步步按提示设置即可,建议使用向导方式,可自行设置相关参数及虚拟机存储位置等。唯一需要交待的是,在使用向导完成后,先不要启动虚拟机,因为此时启动不会直接出现安装界面, 而会报错。此时选择虚拟机,点击右下侧的设置,选择安全,如下图:
在此界面取消启用安全启动前的复先框。(我这里显示灰色是因为我的虚拟机已经启动,在虚拟机关机的情况下,这个是可以选择的)
设置完成后,启动虚拟机,自动进入安装界面。
CentOS7的安装界面很简单明了,一步步按照提示安装即可。
三、用Hyper-V自带的虚拟网络交换机配置网络
不知道别人装上是不是网络直接可用,我的确实是不可用。
初始是也 不知道是何原因,反正各种百度吧,每篇文章都有方法,我也都尝试了,有成功的有不成功的,但我不能把过程一一呈现了,我只能把我最终的设置方式写在这里,给大家一些参考。
首先先说一下Hyper-v的虚拟交换机管理。点击Hyper-v管理器右侧的虚拟交换机管理器……,出现如下界面(你的界面显示的一定与我的界面不同,因为在我的界面里,我已经创建了自己用到的虚拟网络交换机,而且删除了原来系统默认的虚拟网络交换机,而你的界面里,应该只有一个系统默认的虚拟网络交换机)。
在这里,如果没做更改的话,应该会有一个Default Virtual Switch之类的默认的虚拟交换机,我前面也说了,我在摆弄网络的时候把它给删除掉恢复不过来了,所以,就不显示它的,我里面的三个交换机全部是我后来自己创建的。
我建议大家可以先不要改,至少可以不删除默认的设备,因为这个在我现在看来,至少它是不影响后续的上网的。
虽然我现在没有办法用默认设备了,也不能保证用这个默认设备一定能上网,但我还是建议大家先使用这个默认设备试一下,如果不成功,再使用我说的其它设置方法。好,请大家想象一下,这里有一个Default交换机,先不要做修改,关掉这个界面。
然后在Hyper-V管理器中选中我们装好的虚拟机,点击设置,选择网络适配器
在右侧的界面里,选择刚才我们说的那个默认的虚拟交换机,确定。(这里是灰色同样是因为虚拟机启动着,设置前请先关闭虚拟机)
启动虚拟机,进入/etc/sysconfig/network-scripts目录
cd /etc/sysconfig/network-scripts
执行ls,列出文件。
编辑ifcfg-eth0文件
vi ifcfg-eth0
- TYPE=Ethernet
- PROXY_METHOD=none
- BROWSER_ONLY=no
- BOOTPROTO=dhcp
- 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=eth0
- UUID=29e6f49a-22aa-4592-9ba0-cd4f9a373700
- DEVICE=eth0
- ONBOOT=yes
将最后一行ONBOOT改为yes,然后重启网络。
systemctl restart network
这里有人在TYPE=Ethernet下加一行MAC地址的配置,在我后续的配置中,我觉得这个不必要。但写在这里,如果你需要固定你的虚拟机的MAC地址,也许可以用的上,需要注意的是,如果你虚拟机网络服务已经启动,你在配置这个地址的时候,先用ifconfig查看一下其使用的mac地址,然后使用该mac地址配置,否则会出错。
HWADDR=00:15:5d:36:20:01
这个地址范围,可以从Hyper-v的虚拟交换机管理器中看到。
如果经过这个操作你已经可以上网,恭喜你,你至少可以通过外网上网了,此时你虚拟机的IP地址会是一个自动分配的和你宿主机一个网段的IP。 如果仍不能上网,重启虚拟机试一试,如果还不能,好吧,继续往下看。
四、新建虚拟网络交换机(外部网络)配置网络
通过Hyper-V默认的虚拟交换机不能上网的话,那重新打开虚拟交换机管理器界面,点击新建虚拟网络交换机,名称按自己喜好填,连接类型选择外部网络,下拉框选择用来上网的设备,无线上网选无线设备,有线上网选有线设备,一般情况下,系统会自动选择你正在使用的上网设备。在我这里用的是无线上网,选择的设备是无线设备,我这里名称填的是:虚拟交换机外部无线。
应用确定,会在你的网络连接适配器管理界面,新出现一个vEthernet,括号里的名称就是你创建时按喜好写的名称,当然,原来系统自建的Default也会有一个vEthernet,从括号里的名称可以区分哪个是哪个。
在这里我曾经遇到一个问题,就是点击应用时出错,添加不上虚拟网络交换机,且是非常严重的错误,具体什么错误当时没截图,现在也不想重试了,这个错误一度导致我的Hyper-V里的服务器停止服务了,后来重启电脑才好。而当时为什么添加不上,却是因为之前虚拟机一直上不了网的时候,有一篇文章说在网络适配器上设置共享,也不知道是我没看清楚还是文章有错误,总之我就在我正在使用的无线网络设备上右键属性共享添加了共享,然后再在这个界面添加虚拟网络交换机的时候,选择这个设备就无论如何都添加不上去了,后来我取消了无线网络设备上的共享,然后就可以添加了。按照我本文之前的操作,你应该是没做过共享的,所以这一个问题应该不会碰到。
再次选择虚拟机(虚拟机关机),点击右下侧的设置,打开虚拟机的设置界面,点击添加硬件,选择网络适配器,点击添加。
在添加界面,选择刚刚创建的虚拟交换机,应用。
这时候这个界面左边也就是你的虚拟机硬件里会有两个网络适配器,点击原来的网络适配器(也就是原来不能上网的系统自带的Default交换机对应的网络适配器),界面与上面图类似,点击移除,点击应用,从虚拟机中删除掉之前不能上网的网络适配器。先移除还是先添加,这个不分前后,我这里先写添加再写移除,纯粹是为了少截一张图。之所以要移除之前的网络适配器,是因为前面我们提到的在CentOS系统里编辑的文件/etc/sysconfig/network-scripts/ifcfg-eth0,针对的是这里的最上面的网络适配器,如果不移除之前的,那从先后顺序上来讲,这个文件还是针对之前的网络适配器进行设置,当然你也可以复制一份ifcfg-eth1进行配置,有人提供过这个方案的,但是我没有采用,所以再此不做讨论。
上述操作之后,点击确定,重启虚拟机,应该可以通过外网上网了。前提是你本机可以通过你选择的设备上网。
这时候可以上网了,但是也会有一个问题,虚拟机的IP是自动分配的,会变的,当我们通过远程客户端连接到这个服务器时,得经常改IP,这有点麻烦,好吧,接着往下看怎么配置虚拟机的静态IP。
五、配置虚拟机静态IP
关闭虚拟机。
重启打开虚拟交换机管理器界面,新建虚拟网络交换机,选择内部,创建虚拟交换机。
名称仍是按喜好填,连接类型为内部,点击应用。这时,在你的网络连接适配器管理界面,会新出现一个vEthernet,括号里的名称就是你创建时按喜好写的名称。我这里用的名称是:虚拟交换机内部。
这时,点击上面用外部网络上网时用的外部网络的vEthernet,比如在我这里,是vEthernet(虚拟交换机外部无线),右键属性,共享。
勾选允许其他网络用户通过此计算机的Internet连接来连接(N),在家庭网络连接中,选择刚刚创建的内部网络vEthernet,点击确定,会弹出提示框,提示共享的网络连接会设置IP为192.168.137.1,不用理会,点击确定。
右键刚刚创建的内部网络vEthernet属性,双击Internet协议版本4(TCP/IPv4),如下配置。
选择虚拟机,点击设置,移除掉原来的网络适配器,添加硬件--网络适配器,选择刚刚创建的内部虚拟网络交换机,应用确定。
启动虚拟机,登录。
- cd /etc/sysconfig/network-scripts
- vi ifcfg-eth0
修改配置文件如下
- TYPE=Ethernet
- PROXY_METHOD=none
- BROWSER_ONLY=no
- #BOOTPROTO=dhcp
- 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=eth0
- UUID=29e6f49a-22aa-4592-9ba0-cd4f9a373700
- DEVICE=eth0
- ONBOOT=yes
-
- IPADDR=192.168.137.201
- GATEWAY=192.168.137.1
- DNS1=192.168.137.1
- NETMASK=255.255.255.0
重点修改的是:
BOOTPROTO由原来的dhcp改为static;
最下面加上静态IP及网关、子网掩码及DNS的设置。
然后重启网络。
systemctl restart network
这时候,虚拟机可以上网,而我们宿主机上的远程客户端,可以用虚拟机里设置的静态IP来连接这台服务器了。
六、增加外部网络
现在宿主机是可以用远程客户端来连接我们的虚拟机服务器了,可是局域网里其它机器是连不上的,怎么办呢?
关闭虚拟机,点击设置,添加硬件--网络适配器,选择之前能上网的外部网络的虚拟交换机,此时虚拟机里有两个网络适配器。应用确定,重启虚拟机。
ifconfig查看网络地址,用eth1对应的IP地址,就可以访问了。
如果这个外网要固定IP怎么办呢?
进入CentOS,复制/etc/sysconfig/network-scripts/ifcfg-eth0到/etc/sysconfig/network-scripts/ifcfg-eth1,修改ifcfg-eth1配置文件如下:
- TYPE=Ethernet
- PROXY_METHOD=none
- BROWSER_ONLY=no
- #BOOTPROTO=dhcp
- 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=eth1
- UUID=29e6f49a-22aa-4592-9ba0-cd4f9a373701
- DEVICE=eth1
- ONBOOT=yes
-
- IPADDR=192.168.1.201
- GATEWAY=192.168.1.1
- DNS1=192.168.1.1
- NETMASK=255.255.255.0
注意将NAME和DEVICE改为:eth1,UUID改与之前不同,下面的静态IP配置成原自动分配的网段的IP地址。重启网络。
systemctl restart network
用命令查看ifconfig,eth1的地址是不是变成了我们设置的地址了呢?说到这里可能有人奇怪了,既然外网地址可以设置成固定IP,又何必再增加内部网络,设置共享那么麻烦呢?
这个原因是,我只设置外部网络的话,用这种固定IP的方式,上不了网,ping不通baidu,我也不知道是为什么,如果哪个朋友试验成功了,请在这里分享,告知我原因,不胜感激。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。