VMware中的三种虚拟网络模式

虚拟机网络模式

  • 1 主机网络环境
  • 2 VMware中的三种虚拟网络模式
    • 2.1 桥接模式
    • 2.2 NAT模式
    • 2.3 仅主机模式
  • 3 网络模式选择及配置NAT模式
    • 3.1 VMware虚拟网络配置
    • 3.2 虚拟机选择网络模式
    • 3.3 Windows主机网络配置
  • 4 配置静态IP

虚拟机联网方式为桥接模式,这种模式下,虚拟机通过主机的物理网卡,直接连接到主机所在的网络当中。具体效果如下图所示。
在这里插入图片描述
这种模式下存在两个痛点

  1. 主机必须连接到某个网络中,主机和虚拟机才能互通。
  2. 更换网络后,主机和虚拟机的IP地址均会发生变化,因此远程访问工具中的IP需要同步进行修改。

为解决上述痛点,我们需要调整虚拟机的网络模式和配置静态IP。

1 主机网络环境

为理解VMware中的虚拟网络模式,我们首先需要明确主机所处的真实网络环境,其所处环境如下图所示:
在这里插入图片描述
如上图所示,路由器一端(WAN口(广域网口),Wide Area Network)连接互联网,另一端(Local Area Network,LAN(局域网口))连接多个需要上网的设备,这些设备组成一个局域网,局域网中的设备都通过路由器访问互联网,这个场景应该是大家十分熟悉的。
同时,我们的上网的设备还可以通过无线的方式连接到路由器上,通过无线网连接到路由器上的设备和通过有线的LAN接口连接到无线网上的设备都是处于同一个局域网当中的。

以下是一般家用的路由器图:
在这里插入图片描述
还有一个需要我们熟悉的是,假如现在我们需要有线上网的设备比较多,而支持有线上网的LAN接口只有4个
,那其余需要上网的设备如何才能通过路由器进行上网呢(这里假设不能通过无线的方式连接到路由器)?

这个时候我们就需要使用另外一个网络设备来解决这个问题,那就是交换机,如下:
在这里插入图片描述
如上就是一个家用小型的交换机,在它上面也存在多个网络接口,可以把这些网络接口认为是LAN接口,这样我们就可以使用交换机去扩展路由器上的LAN接口,那如何去扩展呢?
我们可以使用一根网线,网线的一端插在路由器的某一个LAN口上,另一端插在交换机的一个接口上。这样就相当于由路由器上的一个LAN口,扩展为4个LAN口。并且需要注意的是,直接接在路由器上的上网设备和通过扩展接在交换机上的上网设备也是处于同一个局域网当中的。

下面为大家介绍路由器中的两个十分重要的角色。

  • DHCP

    全称Dynamic Host Configuration Protocol ,动态主机配置协议,该协议用于给联网的设备自动分配(私网)IP地址和其他网络配置。家用路由器中一般就会集成DHCP服务,因此设备只要连接上路由器,便能自动获取IP地址等网络配置。

可以登录一下自己家的路由器管理界面,地址一般为:192.168.1.1
在这里插入图片描述
DHCP会维护一个IP地址池2-254,每当一个新的上网设备连接到路由器上后,这个DHCP服务会从地址池当中抽选一个ip给上网的设备。
这就是为什么我们的主机也好,还是其他的上网设备也好,连接到新的网络之后,ip地址都会变,原因就是,路由器当中DHCP服务维护的IP地址池是不一样的。

  • NAT

    全称Network Address Translation,网络地址转换,该技术主要用于缓解IPv4地址短缺,有了NAT之后,可以令多个网络设备共享一个公网IP地址,家庭路由器中也都集成了该服务。

    其工作原理是,NAT设备(路由器)一端连接互联网,其具有一个公网IP(路由器也具有一个公网IP),另一端连接一个局域网,局域网中的每个设备均只有一个私网IP。当局域网中的设备经过路由器向互联网中的其他设备发送数据时,NAT服务会将数据包的源地址由该设备的私网IP替换为路由器的公网IP,因此互联网中的其他设备看到源地址为路由器的公网IP,所以其返回数据时,就会把路由器的公网IP设置为目标地址,路由器接收到数据之后,NAT设备再将数据的目标地址由路由器的公网IP改为原设备的私网IP,最终数据就能返回到该设备了。具体流程如下图所示
    在这里插入图片描述
    在对我们的主机所处的网络环境有了一个了解后,下面分别为大家介绍VMware中的三种网络模式。

2 VMware中的三种虚拟网络模式

2.1 桥接模式

这个桥接模式我们也一再提到,我们之前说,那它模拟出来的效果就是让虚拟机直接接入到这个主机所在的网络当中。或者说的直白一点,就是让虚拟机直接接入这个主机所在的路由器当中。没错,但实际上这个说法离真相还是有一点距离的。

桥接模式的原理如下图所示
在这里插入图片描述

这种模式下,VMware虚拟出了一个交换机。首先,该虚拟交换机通过主机的物理网卡连接到主机所在的网络中,
然后所有的虚拟机都通过虚拟交换机接入到主机所在网络中。
所以在该模式下,虚拟机和主机位于同一网络中,因此在主机接入网络的前提下,虚拟机和物理机是可以互通的。

好,我们可以看一下这张图,那这个桥接模式下VMware到底做了什么呢?实际上是这样的,VMware它虚拟出了一个交换机。交换机的概念大家还记得吧?那我们前面给大家简单介绍过一下,我们说这个交换机可以用来扩展路由器的LAN口。

没错。那这VMware就虚拟出了一个这样的交换机,然后这个交换机它通过这个宿主机(图中物理机-03)的物理网卡,连接到了路由器当中,其实就相当于接入到了路由器的一个LAN口,可以这么去理解,那这样一来路由器是不是就扩展出来了一系列的LAN口?好,然后所有的虚拟机其实并不是直接接入到这个路由器了,而是接入到了这个虚拟的交换机当中了。
那前面也提到过,那接入到这个虚拟机的这个设备和直接接入到路由器LAN口的设备,其实它们是位于同一个局域网下边了,对不对?那也就是说我们的主机和虚拟机是位于同一个局域网下的(对应图中物理机01,02,03和虚拟机01,02,03),那所以说这种情况下主机跟虚拟机之间,一定是可以进行通信的。

好了,那这就是VMware当中的这个桥接模式真正的一个原理图。

2.2 NAT模式

NAT模式的原理如下图所示
在这里插入图片描述

这种模式下,VMware虚拟出了一个交换机,一个DHCP服务以及一个NAT服务,相当于构成了一个虚拟路由器。
虚拟路由器通过主机的物理网卡连接到主机所在的网络,虚拟机则全部连接到虚拟路由器上,组成了一个子网。
此时所有的虚拟机位于同一网络,因此彼此之间可以互通,但是主机不能与虚拟机互通。为使主机能够和虚拟机互通,VMware又在主机中虚拟出了一个网卡,并连接到了这个虚拟路由器中,这时主机便可虚拟机互通了。

可以看到这个模式原理图看起来要复杂一些,对吧?那首先需要明确的一点,就是在这种模式下边, VMware它不仅虚拟出来了一个交换机,它还同时虚拟出来了一个 DHCP 服务以及一个 NAT 服务。

好,那实际上这三者组合起来就相当于构成了一个虚拟的路由器,然后这个虚拟路由器的一端也就是它的WAN口,会通过这个宿主机(图中物理机-03),连接到这个真正的路由器上,相当于是它的一个WAN口上边。
好了,然后所有的虚拟机都会接入到这个虚拟的路由器当中。
好,那这其实就相当于是我们这个虚拟路由器,那它又在真正的这个路由器的局域网下边又创建了一个子局域网。那这些虚拟机都位于这个子网内,所以这种情况下虚拟机之间是可以互相通信的,并且这个虚拟机也是可以访问互联网的。
那只不过它在访问互联网的时候,这个数据包会经过两次NAT的地址转换。一次是由这个虚拟路由器,由这个子网 IP 转换成这个局域网的IP。好,那再有一次就是由这个真正的路由器当中的NAT,由这个局域网的这个私网 IP 转换成互联网上面的一个公网IP。
然后有一个问题大家需要注意到,比如在当前的这个环境下边,我们的主机和虚拟机其实并不是位于同一个网络当中的,没问题,虚拟机实际上是位于这个虚拟路由器所创建的子网当中的,而主机现在是位于这个真正的路由器所创建的局域网当中的。

好,那显然他们并没有处在同一级的网络当中,对吧?那所以说在这种情况下,这个主机是没有办法和这个虚拟机去进行互通的。

好,那为了让这个主机和虚拟机进行互通, VMware又做了一件事。他做什么事了呢?好,他在这个主机上边又虚拟出来了一个网卡(图中物理机-03),然后通过这个虚拟网卡接入到了这个虚拟的路由器当中。好了,那这样一来的话,这个宿主机是不是也就位于这个虚拟路由器所创建出来的子网当中了呀?对不对?也就是他和这个虚拟机目前就位于同一级网络里边了,这个时候那他们之间就可以毫无障碍地进行互相通信了。

好,那这个虚拟网卡呢?其实我们也能够看得到。给大家去看一下。VMware虚拟出来的网卡如下:在这里插入图片描述
那这个网卡实际上就会接入到我们刚所提到的这个虚拟的路由器当中。好,那也就是说我们目前这个主机在 NAT 模式下边,其实是处在两个网络当中的,一个是我们这个虚拟网络,还有一个是咱们这个真正的物理网络,这一点大家要理解一下。

好,那至此这个 NAT 模式的原理我就介绍完毕了。
好,那接下来再请大家思考最后一个问题。大家想一想在 NAT 模式下边这个主机它如果不连接到某个网络的话,那主机和虚拟机之间是否还能完成相互通信?我们前面提到过说在桥接模式下边是不行的,如果主机不联网,那相当于虚机也没联网,对吧?两个独立的设备没有办法进行通信,好。但是在 NAT 模式下边它也是这样的吗?答案不是。

在 NAT 模式下边,不管主机是否接入到某个网络当中,那我们的主机和虚拟机之间都可以进行相互通信,为什么呀?因为咱们看这个图就能看出来,对吧?如果物理机-03这块他没有接入到某个网络当中,好,但是我这个虚拟路由器是不是还在,对不对?那我的主机(图中物理机-03),我的虚拟机是不是都接入到了这个虚拟的路由器当中了呀?那他们是不是就位于同一网络当中?那所以说它们之间进行相互通信是没有任何问题的。

OK,只不过说如果你主机它不接入到这个网络当中,那我们的虚拟机它没有办法去访问互联网而已。好了,那这就是 NAT 模式下边的一个特点,大家要理解。

2.3 仅主机模式

仅主机模式的原理如下图所示
在这里插入图片描述

这种模式,和NAT模式十分相似,唯一的区别是,虚拟路由器并未连接到主机所在的网络中,
因此主机和虚拟机之间可以互通,但是虚拟机不能访问互联网。

这个模式就非常非常简单了。这是它的这个原理图,那这个仅主机模式其实和 NAT 模式十分相似。好,那它这儿也是虚拟出来了一个路由器,然后这些虚拟机也都会接入到这个路由器当中,那并且这个 VMware在主机当中也虚拟出来了一块网卡。OK,好,那这个网卡也接入到了这个虚拟的路由器当中。
好,然后其实我们也可以去看一下这个 VMware 虚拟出来的这块网卡。我们还是打开这个 Windows 主机的这个网络适配器这块
在这里插入图片描述
对吧?它跟原来这个有区别,一个叫做 VMNET8,一个叫做 VMNET1。需要给大家明确的一点,就是VMNET8这块虚拟网卡接入的是 NAT这个网络模式下的那个虚拟路由器,而 VMNET1它接入的是这个仅主机模式下边的这个虚拟路由器。

好了,那我们再回到这个原理图上面来,所以说那我们的主机(图中物理机-03)和这个虚拟机是不是也是位于同一个局域网下边的,对吧?那所以说它们之间也是可以进行相互通信的,这个没有问题。
好了,那这个仅主机模式和 NAT 模式唯一的区别应该大家也发现了,就是啥?是不是就这个虚拟路由器,它并没有接入到这个真正的路由器当中,OK,那所以说在仅主机模式下边,我们的虚拟机是不能访问互联网的。
好了,那这就是仅主机模式的特点,那所谓的仅主机呢?其实现在大家也能理解了,是不是就是我们的虚拟机,它只能和这个主机进行网络通信,不能和互联网上的其他设备进行通信。

那至此VMware的三种网络模式就给大家介绍完毕了,那大家现在应该已经知道了他们各自的原理以及各自的特点了。好,那现在问大家一个问题,你说为了方便我们将来的学习或者是工作,对吧?那我们用哪种模式要更好一些呢?那实际上应该是不是 NAT 模式要更好一些,因为在 NAT 模式下边,不管主机是否联网,那我们的主机和虚拟机之间是不是都能够实现互通?那当然了,能实现这个效果的其实并不只有NAT,仅主机也行,对吧?仅主机,不管你主机是否联网,那主机和虚拟机是不是都位于这个虚拟网络当中,那所以说它们之间也都是能互通的。但是仅主机它有一个缺点。缺点就是你的虚拟机是没有办法去访问互联网的,对吧?没办法连接外网。

3 网络模式选择及配置NAT模式

为保证主机未联网的情况下,主机和虚拟机也能实现互通;同时保证主机联网的情况下虚拟机也能访问互联网,我们最好选择上述三种模式中的NAT模式,具体配置如下。

3.1 VMware虚拟网络配置

首先第一项就是我们得在VMware的虚拟网络编辑器里边去做一些相关的配置,在这儿我们其实主要就是配置这个虚拟出来的 DHCP服务,以及虚拟出来的 NAT服务。

  1. 点击VMware菜单栏中的编辑,选择虚拟网络编辑器
    在这里插入图片描述
    2.打开虚拟网络编辑器后,赋予管理员权限
    在这里插入图片描述
    3.配置VMnet8子网
    在这里插入图片描述

那接下来我们再去看一下这个虚拟的 DHCP 服务,咱们都能做哪些配置?好,那现在我们点一下
在这里插入图片描述
点完之后可以看到这里边我们能配的其实主要就是这个起始 IP 和结束 IP 地址,大家还记得这个 DHCP 服务是不是会维护一个 IP 的地址池,对吧?用于分配给加入这个网络的设备,对吧?好,那在这儿我们能够去调整这个地址池的范围。OK,我们暂时先不做配置。

4.打开NAT配置界面
在这里插入图片描述
还有一个简单的配置项需要给大家去说一下,那也就是这个 将主机虚拟适配器连接到此网络,那这个选项是用于将我们的主机连接到这个虚拟网络的。
OK,好,其实之前给大家看到过,我们说这个 Vmware 会在主机里边,是不是虚拟出来一个所谓的虚拟网卡,对吧?那其实我们前面告诉大家,就是这个 VMNET8,OK,其实在这儿我们可以做一下这个实验。大家注意观察一下。我们找一下那个虚拟网络的编辑器,那如果我把选项给它勾选掉,好,那这个 VMNET8这个虚拟网卡就会消失,大家注意观察。

这种情况下我们的主机就不会加入到这个虚拟网络了。OK,那这样一来的话,那主机跟虚拟机之间就没有办法进行网络通信了。OK,进而我们就没有办法去使用这个 SSH 的客户端去远程访问咱们这个虚拟机了。能理解各位,OK,所以说这个咱们必须得给他勾选上。好,那我们再给他勾上之后再点击应用。好,那这个需要稍微的等一会,那等一会之后那左侧这个位置就会重新出现 VMNET8。

5.修改NAT配置
在这里插入图片描述
大家可以看到在这个 NAT 当中我们能配的东西很少,其实主要就是这样的一个网关IP,这个网关 IP 我们又应该怎么去理解?给大家解释一下,这个本质上就是给这个虚拟出来的NAT设备配置一个私网 IP ,啥意思的?给大家解释一下,实际上是这样的,咱们都知道 NAT 这个服务它是不是一端连接着互联网,然后另外一端连接着我们这个局域网,对吧?OK,好,然后需要注意的一点就是那这个 NAT 设备在互联网当中它会有一个公网IP,那同时在我们的这个局域网当中,它其实还有一个私网IP。
那在这个位置我们所配置的这个所谓的网关IP,其实就是给这个 NAT 设备去确定一个它在局域网当中的私网 IP 地址。OK,好,那我们为什么管它叫做网关IP?这个给大家去解释一下,那前面咱们其实也提到过我们这个局域网当中所有的网络设备,对吧?要想跟我们这个互联网当中的设备进行通信,都得经过谁?是不是都得经过这个 NAT 设备啊?没错,那所以说从这个角度来理解你这个 NAT 设备是不是就相当于是我们这个局域网通向外部世界的一个关口啊?那所以说我们就管这个NAT设备叫做网关,好,那它的这个局网里边的私网 IP 就叫做网关IP,这一点大家要注意一下就可以了。
那在这儿呢,我们可以分配给它这个子网 IP 范围内当中的任意一个合法的IP,可以看到这儿它默认给的是这个2,对吧?好了,那这个NAT 这块也就解释完毕了。

注意事项

NAT网关IP须位于VMnet8子网IP范围内。

3.2 虚拟机选择网络模式

  1. 修改虚拟机所使用的网络模式
    在这里插入图片描述
  2. 选择NAT模式
    在这里插入图片描述

3.3 Windows主机网络配置

在这里插入图片描述

上述配置中,VMware已将Windows主机连接到虚拟网络中了,此处只需查看Windows主机中的虚拟网络网卡配置是否正确即可。

  1. 打开网络适配器配置面板

    Win+R打开运行窗口,输入ncpa.cpl,然后按回车键

  2. 查看VMnet8虚拟网络适配器
    在这里插入图片描述

  3. 查看IpV4配置
    在这里插入图片描述然后这儿有一个小细节大家一定要注意到,就是这个 IP 地址并不是通过咱那个虚拟的 DHCP 自动获取的。你看他没有勾选这个自动获取 IP 地址的选项,对吧?好,你勾选了他之后,那主机的 IP 地址就是由虚拟的 DHCP 给你分配了。好,然后他这儿并没有勾选,它这相当于是怎么样?是手动的写死了一个 IP 地址,那这样一来的话,那我们这个主机每次这个启动起来之后,它的 IP 地址永远都是固定的这一个。那这其实是我们去配置这个 IP 地址的两种方式。那这种方式我们通常称之为静态IP,因为你写死之后这个 IP 地址它永远都不会变,对吧?然后上面这种通过这个 DHCP 服务自动去获取IP,那这种配置 IP 的方式我们称之为是动态IP。

注意事项
主机IP须位于VMnet8子网IP范围内。

4 配置静态IP

NAT模式下,虚拟机的IP地址,默认情况下是由虚拟DHCP服务自动分配的,虚拟机的IP地址不固定,这对于SSH远程访问也不友好,所以通常情况下,我们不使用虚拟DHCP服务,而是手动为虚拟机配置静态的IP地址。具体操作如下。

  1. 确定网络配置文件

    在终端输入如下命令ifconfig命令,查看当前的网络接口,内容如下

ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500inet 192.168.10.100  netmask 255.255.255.0  broadcast 192.168.10.255inet6 fe80::5fdd:f01e:a4fb:966  prefixlen 64  scopeid 0x20<link>ether 00:0c:29:fc:a3:fe  txqueuelen 1000  (Ethernet)RX packets 1526  bytes 136998 (133.7 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 1907  bytes 136735 (133.5 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536inet 127.0.0.1  netmask 255.0.0.0inet6 ::1  prefixlen 128  scopeid 0x10<host>loop  txqueuelen 1000  (Local Loopback)RX packets 68  bytes 5916 (5.7 KiB)RX errors 0  dropped 0  overruns 0  frame 0TX packets 68  bytes 5916 (5.7 KiB)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255ether 52:54:00:ea:8a:fb  txqueuelen 1000  (Ethernet)RX packets 0  bytes 0 (0.0 B)RX errors 0  dropped 0  overruns 0  frame 0TX packets 0  bytes 0 (0.0 B)TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  1. 其中ens33是目前的以太网接口,故其配置文件为vim /etc/sysconfig/network-scripts/ifcfg-ens33

  2. 修改网络配置文件

    打开配置文件

    [root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
    

    内容如下

    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=ens33
    UUID=bf788989-e095-4e58-865a-e6b07248a514
    DEVICE=ens33
    ONBOOT=yes
    

    需要修改的内容如下

    • 修改BOOTPROTO参数为static

    • 修改ONBOOT参数为yes

    • 增加如下内容

      IPADDR=192.168.10.100
      NETMASK=255.255.255.0
      GATEWAY=192.168.10.2
      DNS1=192.168.10.2
      

      注意事项

      IPADDR需要位于前文VMnet8子网IP范围内,GATEWAY需要配置为前文的NAT服务的网管IP。

  3. 重新启动网络服务

    在终端执行以下命令,重启network服务

    [root@localhost ~]# systemctl restart network
    
  4. 观察网络配置是否生效

    在终端执行ifoconfig命令,观察ens33的网络接口的IP地址是否为前文所配置的IPADDR

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/863943.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

c++ 设计模式 的课本范例(下)

&#xff08;19&#xff09; 桥接模式 Bridge&#xff0c;不是采用类继承&#xff0c;而是采用类组合&#xff0c;一个类的数据成员是类对象&#xff0c;来扩展类的功能。源码如下&#xff1a; class OS // 操作系统负责绘图 { public:virtual ~OS() {}virtual void draw(cha…

拼多多滑块逆向

声明(lianxi a15018601872) 本文章中所有内容仅供学习交流使用&#xff0c;不用于其他任何目的&#xff0c;抓包内容、敏感网址、数据接口等均已做脱敏处理&#xff0c;严禁用于商业用途和非法用途&#xff0c;否则由此产生的一切后果均与作者无关&#xff01; 前言(lianxi …

基于ssm口红商城管理的设计与实现

一、&#x1f468;‍&#x1f393;网站题目 口红商城项目可以提供更加便捷和高效的购物方式。消费者可以在家中使用电脑或手机随时随地购物&#xff0c;避免了传统购物方式中需要花费时间和精力去实体店铺购物的麻烦。此外&#xff0c;口红商城项目还提供了更多的选择和更低的…

复分析——第8章——共形映射(E.M. Stein R. Shakarchi)

第8章 共形映射(Conformal Mappings) The results I found for polygons can be extended under very general assumptions. I have undertaken this research because it is a step towards a deeper understanding of the mapping problem, for which not much has hap…

C++视觉开发 二.OpenCV基础

目录 本章记录OpenCV开发中的基本操作语法 一.基础 1.读取图像 2.显示图像 3.保存图像 二.图像 1.像素处理 2.彩色图像 三.滤波 1.高斯滤波&#xff08;Gaussian Blur&#xff09; 功能&#xff1a; 高斯滤波是一种常用的线性平滑滤波器&#xff0c;用于降低图像噪声…

v-for中key的原理以及用法

在 Vue.js 中&#xff0c;v-for 指令用于基于源数据多次渲染元素或模板块。当使用 v-for 渲染列表时&#xff0c;为每个列表项提供一个唯一的 key 属性是非常重要的。key 的主要作用是帮助 Vue 跟踪每个节点的身份&#xff0c;从而重用和重新排序现有元素。 先来张原理图&#…

开机弹窗缺失OpenCL.dll如何解决?分享5种靠谱的解决方法

在电脑使用过程中&#xff0c;我们可能会遇到一些错误提示&#xff0c;其中之一就是“开机提示找不到OpenCL.dll”。那么&#xff0c;这个错误提示到底是怎么回事呢&#xff1f;它又对电脑有什么影响&#xff1f;我们又该如何解决这个问题并预防OpenCL.dll再次丢失呢&#xff1…

基于Ollama Python的本地多模态大模型

0&#xff0c;背景 最近测试Ollama&#xff0c;发现之前直接下载开源模型在我电脑上都跑不动的模型&#xff0c;居然也能运行了&#xff08;AMD 7840HS核显/32GB内存&#xff09;&#xff0c;突发奇想那些多模态大模型能不能基于Python接口使用&#xff0c;所以决定尝试一下。…

网页用事件监听器播放声音

一、什么是监听器&#xff1a; 在前端页面中&#xff0c;事件监听器&#xff08;Event Listener&#xff09;是一种编程机制&#xff0c;它允许开发者指定当特定事件&#xff08;如用户点击按钮、鼠标悬停、页面加载完成等&#xff09;发生时执行特定的代码块。简而言之&#x…

服务器上VMWare Workstation虚拟机声卡支持

问题&#xff1a;联想服务器没有声卡&#xff0c;Windows 服务器安装了VMWare Workstation&#xff0c;里面的Windows 11虚拟机&#xff0c;我远程桌面上来&#xff0c;没有声卡&#xff0c;但是我想做 声音方面的测试就没办法。 解决办法&#xff1a; 服务器主机上安装虚拟机…

5.4符号三角形问题

#include<iostream> #include<stdio.h> using namespace std; int half; int ssum; int cnt0;//减号的个数 int n; int p[100][100]; int countt0; void BackTrack(int s) {if(cnt>half||s*(s-1)/2-cnt>half)return ;if(s>n){countt;return ;}for(int i0;…

RabbitMq教程【精细版一】

一、引言 模块之间的耦合度过高&#xff0c;导致一个模块宕机后&#xff0c;全部功能都不能用了&#xff0c;并且同步通讯的成本过高&#xff0c;用户体验差。 RabbitMQ引言 二、RabbitMQ介绍 MQ全称为Message Queue&#xff0c;消息队列是应用程序和应用程序之间的通信方法。…

在安装HDFS过程中遇见Permission denied

HDFS Shell命令权限不足问题解决 问题 想必有同学在实战Shell的时候&#xff0c;遇到了&#xff1a; Permission denied: userroot, accessWRITE, inode"/":hadoop:supergroup:drwxr-xr-x 这种类似的问题。 问题的原因就是没有权限&#xff0c;那么为什么呢&#…

功能强大的声音模拟合成软件Togu Audio Line TAL-Mod 1.9.7

Togu Audio Line TAL一个虚拟模拟合成器,具有卓越的声音和几乎无限的调制能力。其特殊的振荡器模型能够创建广泛的声音,从经典的单声道到丰富的立体声引线、效果器和焊盘。路由可以使用虚拟跳线电缆来完成。只需连接调制输出以达到调制的目的。之后,您可以调整调制强度。您不…

【SQLmap】常用命令

文章目录 实际使用案例常用命令基本命令数据库指纹识别用户信息用户权限数据库枚举数据导出密码哈希操作系统命令执行文件操作代理和网络参数指定保存恢复自动搜索注入智能模式等级设置自动注入WAF 绕过杂项帮助和支持 SQLmap 是一款开源的自动化 SQL 注入检测和利用工具&#…

你真的会udf提权???数据库权限到系统权限 内网学习 mysql的udf提权操作 ??msf你会用了吗???

我们在已经取得了数据库的账号密码过后&#xff0c;我们要进一步进行提取的操作&#xff0c;我们mysql有4钟提权的操作。 udf提权(最常用的)mof提权启动项提权反弹shell提权操作 怎么获取密码操作&#xff1a; 怎么获取密码&#xff0c;通过sql注入获取这个大家都应该知道了&a…

Python-数据分析组合可视化实例图【附完整源码】

数据分析组合可视化实例图 开篇&#xff1a;应女朋友的要求&#xff0c;于是写下了这篇详细的数据可视化代码及完整注释 一&#xff1a;柱状图、折线图横向组合网格布局 本段代码使用了pyecharts库来创建一个包含多个图表&#xff08;柱状图、折线图&#xff09;和网格布局的…

第一周:李宏毅机器学习笔记

第一周学习周报 摘要一、机器学习基础理论1. 什么是机器学习&#xff1f;2. 机器学习“寻找”的函数有哪些类型&#xff1f;3. 机器学习中机器如何“寻找”函数&#xff1f;三步走3.1 第一步&#xff1a;设定函数的未知量&#xff08;Function with Unknown Parameters&#xf…

Vue3 按钮根据屏幕宽度展示折叠按钮

文章目录 一、组件封装二、使用三、最终效果(参考)四、参考 一、组件封装 ButtonFold.vue 1、获取父组件的元素&#xff0c;根据元素创建动态插槽 2、插槽中插入父元素标签。默认效果和初始状态相同。 3、当屏幕宽度缩小时&#xff0c;部分按钮通过 dropdown 的方式展示出来&a…

springboot使用测试类报空指针异常

检查了Service注解&#xff0c;还有Autowired注解&#xff0c;还有其他注解&#xff0c;后面放心没能解决问题&#xff0c;最后使用RunWith(SpringRunner.class)解决了问题&#xff01;&#xff01; 真的是✓8了&#xff0c;烦死了这个✓8报错&#xff01;