前面我们已经安装好了Hyper-V虚拟机和liunx操作系统,但是我们没有给虚拟机配置网络,本来我以为是一件很简单的事情,只需要在Hyper-V虚拟机中的虚拟交换机管理器中创建虚拟交换机就可以了,结果,就是因为这个配置,搞了我好长时间,因为我的是笔记本电脑,只有无线网络,就想着将其配置为外部,结果一直报错。在此记录下整个配置过程,方便后面小伙伴们遇到类似情况查阅。老规矩,在配置之前,我们还是先来认识下Hyper-V虚拟机中虚拟交换机管理器
什么是虚拟交换机管理器
虚拟交换机管理器是Hyper-V虚拟机中一个重要的网络管理工具,它用于管理和配置虚拟机之间的网络连接。虚拟交换机管理器允许我们创建、配置和管理虚拟交换机,以便进行虚拟机之间的通信和网络连接。
虚拟交换机管理器具有以下功能:
-
虚拟交换机的创建和配置:虚拟交换机管理器允许你创建多个虚拟交换机,并为其指定所需的网络设置,如网络类型(内部、外部或专用)、虚拟局域网标识符(VLAN ID)等。我们可以通过虚拟交换机管理器对已创建的虚拟交换机进行修改和配置。
-
虚拟交换机的连接和断开:虚拟交换机管理器允许你将虚拟交换机连接到物理网络适配器,以实现虚拟机与外部网络的连接。还可以根据需要随时断开虚拟交换机与物理网络之间的连接。
-
虚拟机网卡的关联和配置:通过虚拟交换机管理器,我们可以为虚拟交换机关联虚拟机网卡,以实现虚拟机与虚拟交换机之间的网络连接。
了解虚拟交换机中的三个概念
在Hyper-V虚拟机的虚拟交换机管理器中创建交换机时,有三个选项可供选择:外部、内部和专用。这些选项是用来定义虚拟交换机与物理网络之间的连接方式的。
-
外部:选择外部选项时,虚拟交换机将连接到物理网络上的网络适配器。这使得虚拟机可以与外部网络进行通信,包括访问互联网、与其他物理计算机进行通信等。使用外部交换机可以使虚拟机与外部网络完全隔离并拥有自己的IP地址。
-
内部:选择内部选项时,虚拟交换机将在虚拟机之间或者虚拟机与宿主机之间创建一个专用网络。这个网络对于外部网络是不可见的,只有在同一主机上运行的虚拟机之间才能相互通信。内部交换机可以用于创建一个虚拟的测试环境或者隔离虚拟机以便于进行内部网络通信。
-
专用:选择专用选项时,虚拟交换机将与物理网络完全隔离,只能由宿主机访问。虚拟机之间以及虚拟机和宿主机之间无法实现通信。专用交换机通常用于虚拟机之间进行安全隔离或者为特定的应用程序或服务提供专用网络。
总结:
- 外部交换机允许虚拟机与外部网络通信。
- 内部交换机允许虚拟机在同一宿主机上相互通信。
- 专用交换机为虚拟机提供一个完全隔离的私有网络。
通过无线网卡创建虚拟交换机遇到的问题
Hyper-V虚拟机在虚拟交换机管理器中创建虚拟交换机时如果选择“外部”方式创建虚拟交换机时,此时如果在外部网络下拉框中选择无线网卡,点击“应用”或“确定”时,不知道是什么原因,系统配置永远报错。
网上找了好久,都没有找到解决方法,后来想到了一个折中的方法,即:创建一个内部交换机,通过设置内部交换机与物理交换机进行桥接,打通虚拟机与物理网络的连接,下面详细说下我的解决步骤。
wifi环境下虚拟机外网连接方法
- 在Hyper-V虚拟机的虚拟交换机管理器中创建一个内部交换机,输入名称,选择内部,点击确认
- 为虚拟机配置虚拟交换机
- 在宿主机上打开网络连接,可以看到系统为我们新增了一个未识别的网络,我的网络名字为vEthernet(InternalNet),这里系统新增的网络名称一般叫做vEthernet(xxxxx),括号中的xxxxx是你刚才创建的内部网络虚拟交换机名字。
- 在我们上网的无线网卡(我这里是WLAN)上点击右键,右键 -> 属性 -> 共享选项卡,勾选允许其他网络用户通过此计算机的Internet连接来连接(N),并在下面的家庭网络连接(H)中选择对应的、刚才新增的vEthernet(InternalNet)网络。
- 在vEthernet(InternalNet)网络上点击双击,打开网络状态对话框,点击详细信息,查看IP地址和子网掩码。
- 在Hyper-V管理器中右键虚拟机名称—连接,输入用户名密码,登录系统。
- 在系统中输入ping 192.168.124.8,发现系统报如下错误:
connect:network is unreachable
。
- 运行命令
ip addr
,找到如下图所示的文件名称:
- 运行命令
cd /etc/sysconfig/network-scripts
回车进入/etc/sysconfig/network-scripts/目录下。 - 输入ls,查看文件夹内容,并找到
ifcfg-eth0
文件 。
- 使用命令
vi ifcfg-eth0
修改该文件,将ONBOOT改为yes。
- 这个时间执行命令
service network restart
重启,就可以解决上面的报错了。但是,此时ping物理地址,仍然ping不同。 - 设置ifcfg-eht0的ip地址、子网掩码和DNS:使用命令
vi ifcfg-eth0
修改该文件,置ifcfg-eht0的ip地址为静态ip地址,ip地址与我们前面vEthernet(InternalNet)网络IP地址在同一个网段,这里设置为192.168.137.200;子网掩码:255.255.255.0;注意这里网关设置为vEthernet(InternalNet)网络的IP地址,为192.168.137.1,DNS1也设置为192.168.137.1
- 完成后,使用ping www.baidu.com发现已经可以ping通了。
- 在宿主机上打开命令行工具,输入
ping 192.168.137.200
,发现可以ping通虚拟机。
- 使用MobaXterm管理liunx,MobaXterm是一个功能强大的远程计算机管理工具,它可以帮助我们在Windows操作系统下去连接并操作Linux服务器。
- 打开MobaXterm_Personal_23.1,点击Session—SSH—Remote host中输入虚拟机的ip地址。
- 发现可以和虚拟机连接成功,输入用户名密码,登录系统。
至此,我们就完成了虚拟机与外网的连接以及虚拟机和宿主机的连接,并可以通过MobaXterm来远程连接到liunx系统进行操作和管理。