vmware虚拟机网络设置方法(轻松版)

article/2025/9/16 5:02:45

       引子

        我们在使用vmware虚拟机时,配置频度最高的往往是网络配置,最让人困惑的往往也是网络设置,虚拟机如何实现和宿主机的通信?虚拟机如何实现与宿主机之外的外部主机通信?同一个宿主机内的多个虚拟机之间如何通信?这些问题是否常常困惑着你。打开虚拟机镜像我们可以看到有桥接模式、NAT模式、仅主机模式等多种方式可以选择,如下图所示:

         选择这些模式后到底发生了什么,还需要什么配置才能和虚拟机通上信,很多人可能无法构建起对应的网络形态图像,概念也是是是而非。而网上的方法,也大多数循着不同模式来讲解网络构型,这种就模式论模式的方式,对于初学者来说通常看起来很简单,一上手就犯难,出了问题不知道如何解决。本文希望跳出就着模式讲模式的俗套,让初学者能够更加容易理解虚拟机网络设置的本质所在。

        在讲解虚拟机的网络前,我们回想下我们依靠物理机搭建网络时,我们是怎么办的呢?通常我们会准备一个交换机,用网线将所有物理机的网口和交换机的网口连接起来,在物理机的本地连接中将IP地址设置到同一个网段内,如果物理主机能够互相Ping通那说明网络就联通了。

        那么vmware虚拟机的网络是如何构建的呢?答案是:和在物理环境中搭建一个网络的原理是一模一样的,毫无差别

        只不过虚拟机是无法独立存在的,必须运行在宿主机上,逻辑上可以看作是和物理机一样的主机,如果能够将虚拟机和宿主机通过交换机连起来,理论上就可以进行通信了。道理很简单,然而,虚拟机它本质上只是一个在宿主机上运行的程序,看不见摸不着,我们怎么去连接呢?答案当然是:这些交换机和网线也完全可以用软件去虚拟,我们完全可以在宿主机中预先构建好一系列虚拟网络。

        那么虚拟机网络配置的本质到底是什么呢?下面就让我们带着问题去探索吧。

  1. 虚拟网络是怎么建起来的?虚拟网络是什么样子的?怎么编辑虚拟网络?

     这些虚拟的交换机和网线谁来提供呢,那当然是vmware软件,在宿主机上安装完vmware后,我们除了能够直观看到桌面上的这个图标:

        其实还包括两个宿主机开机自启动的服务:VMware NAT ServiceVMware DHCP Service如下图所示,正是这两个服务为我们构建了虚拟机与宿主机之间的基础网络环境。

         默认情况下,这两个服务会在宿主机中虚拟化出来的网络设施包括:

  • 三个虚拟交换机(VMnet0、VMnet1、VMnet8)
  • 两张虚拟网卡(VMware Network Adapter VMnet1和VMware Network Adapter VMnet8)
  • 一套虚拟NAT服务器+虚拟网关+虚拟DHCP服务器
  • 若干虚拟网线。

        其中两张虚拟网卡(VMware Network Adapter VMnet1和VMware Network Adapter VMnet8)我们还可以在宿主机的本地网络连接中查看到,如下图所示:

        这也说明,这两张网卡并不是为虚拟机使用的,而是给宿主机使用的,等于又为宿主机安装了两张虚拟网卡,通过这两张虚拟网卡建立宿主机与虚拟交换机之间的虚拟连接,打通宿主机与虚拟机的网络通路。

         那么这些虚拟交换机、虚拟网卡、物理网卡之间的连接关系是什么样的呢?其实,vmware已经为我们进行了周到的考虑,这三个虚拟交换机分别有不同的默认连接形式。

        VMnet0的默认连接形式

        若宿主机存在多张物理网卡,会选择其中一张物理网卡桥接到VMnet0上,至于选择哪一张去桥接,可以通过虚拟网络编辑器去设置(后文会详细讲)。这个桥接通路能够生效的前提是桥接的物理网卡对应的本地连接应该是有效状态的,所以,如果虚拟机和宿主机要利用Vmnet0通信,即使选择桥接的网卡没有和外部主机通信的需求,也要接上网线保证本地连接有效。默认情况下,选择为桥接模式的虚拟机会自动接入到Vmnet0虚拟

          VMnet1的默认连接形式

        直接将宿主机的虚拟网卡Vmware network adapter Vmnet1与Vmnet1进行连接。默认情况下,选择仅主机模式的虚拟机会自动接入Vmnet1虚拟交换机。

        VMnet8的默认连接形式

        这种情况是最复杂的,宿主机的虚拟网卡Vmware network adapter Vmnet8会自动接入Vmnet8外,还有虚拟的NAT服务器和网关、虚拟的DHCP设备接入Vmnet8,同时也会将宿主机所有的物理网卡与虚拟的NAT服务器和网关进行互联。这种网络构型虚拟机不占用宿主机的网络IP资源,同时又能和宿主机的外部主机进行通信;NAT服务器实质就是一个网络地址转换服务。默认情况下,选择NAT模式的虚拟机会自动接入Vmnet8。

        综上,我们在宿主机上安装完vmware软件后,其实就已经在宿主机上为我们构建了如下默认网络,等待虚拟机运行起来后选择接入。

         这个默认网络我们还能调整吗?答案当然是肯定的。Vmware为我们提供了“虚拟网络编辑器”去修改虚拟网络设置。运行虚拟网络编辑器的方法如下:

        虚拟网络编辑器主界面:

        我们设置的对象是虚拟网络交换机,所以首先需要选择VMnet0/ VMnet1/ VMnet8中的一个,再进行具体设置。

         针对Vmnet0(桥接),主要就是设置需要桥接到的物理网卡,如下图所示:

         针对Vmnet1(仅主机),主要设置VMware Network Adapter VMnet1虚拟网卡是否连接到虚拟交换机VMnet1上,还有就是DHCP设置。

         针对Vmnet8(NAT),主要配置NAT设置、DHCP设置、VMware Network Adapter VMnet8虚拟网卡是否连接到虚拟交换机VMnet8上,如下图所示:

         此外,还可以通过“创建网络”按钮,增加新的虚拟交换机,但这些交换机的类型只能在以上三种的范畴内。

         可以通过“恢复默认设置”,将虚拟网络一键恢复到默认状态。

 2. 怎么选择网络?

         选择网络发生在运行虚拟机前,我们对虚拟机的网络适配器的网络连接模式配置时。选择网络的本质就是为虚拟机在以上的虚拟网络中选择一个虚拟交换机接入,选择桥接模式、NAT模式或者仅主机模式后会将虚拟机自动接入到对应的虚拟交换机上,这种默认的对应关系是:

桥接模式

VMnet0

仅主机模式

VMnet1

NAT模式

VMnet8

        对虚拟机的网络适配器的网络连接模式配置的界面如下:

        如果我们在宿主机中同时运行三个虚拟机,分别设置到桥接模式、仅主机模式和NAT模式,那么这三个虚拟机运行起来后,宿主机内的网络构型变成了如下的形式:

3.怎么使用网络?

        使用网络实质就是在虚拟机已经接入了虚拟交换机,按需配置接入虚拟交换机的网卡的IP等参数,进行数据传输。

        类比于全部实物的情况就是,交换机已经加电,已经用网线将各个需要通信的网卡连接上了,只需要将各个网卡的参数配置到共同网段就可以通信了。例如,虚拟机设置为NAT模式下想和宿主机通信,那么用户需要做的就是:

        首先,在虚拟机内部,设置其网卡的IP,子网掩码,网关等信息,如下图所示:

         然后在宿主机上,找到虚拟网卡VMware Network Adapter VMnet8,将其IP地址配置到虚拟机IP地址同一个网段,即可进行通信。

结语

        总结起来,Vmware虚拟机网络的设置可以用“建网、选网、用网”三个阶段来概括,如下图所示。

 针对这三个阶段分别配置:

        建网阶段利用“虚拟网络编辑器”调整网络构型

        选网阶段对虚拟机的网络适配器网络连接模式配置

        用网阶段我们对用网络通信需求的网卡进行配置

  通过本文的讲解,希望可以帮助你建立虚拟网络的系统认识,实现按需配置使用网络的愿望。


http://chatgpt.dhexx.cn/article/6jkHXorJ.shtml

相关文章

vmware虚拟机怎么设置上网

点击物理主机 2-右键 点击属性 找到ipv4 3 在设置vmware虚拟机 4-在使用命令 ifconfig 查看虚拟机的ip 里面含有 inet addr ip 就是现在虚拟机的IP地址 5-在使用XShell 链接该ip地址 就可以链接的

虚拟机上网设置——桥接模式 NAT模式

1、桥接模式和NAT模式 (1)NAT模式:虚拟机通过PC机的网卡去通信,虚拟机依赖PC机上网,可以理解成虚拟机被包含在PC机中,对外还是只有PC机一台电脑; (2)桥接模式&#xff1a…

VMWare虚拟机网络配置

Bridged(桥接模式) 桥接模式相当于虚拟机和主机在同一个真实网段,VMWare充当一个集线器功能(一根网线连到主机相连的路由器上),所以如果电脑换了内网,静态分配的ip要更改。图如下: NAT(网络地址转换模式) NAT模式和桥接模式一样可以上网,只不过,虚拟机会虚拟出一个…

vmware虚拟机上网设置教程(vmware虚拟机设置网络)

安装vmware后,一般都会有虚拟机能连互联网的需求(如虚拟机中Linux想访问百度),vmware为我们提供了几种连接网络的方式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模…

Virtualbox虚拟机网络配置详解

目录 1. 使用桥接(Bridged Adapter)模式。 2. 使用HostOnly模式网络共享的方式。 3. 使用双网卡,HostOnly模式NAT转换。 在默认情况下,Virtualbox虚拟机选择的上网方式是:网络地址转换(NAT)&…

Python—多线程编程(一)线程的创建,管理,停止

Python—多线程编程(一)线程的创建,管理,停止 先简单介绍一下线程的概念(以下内容来源于百度): 线程(英语:thread)是操作系统能够进行运算调度的最小单位。…

多线程编程——基础语法篇

多线程编程 文章目录 多线程编程一、Thread1.1 Thread用法一1.2、Thread用法二 (Runnable)1.3、Thread用法三1.4、Thread用法四1.5、Thread用法五(lambda) 二、run 和 start 的区别三、并发编程有何用?四、Thread的方法和属性五、…

Java中的多线程编程(超详细总结)

文章目录 Java中的多线程编程(超详细总结)一、线程与多线程的概念二、线程与进程之间的关系三、一个线程的生命周期四、多线程的目的和意义五、线程的实现的方式 Java中的多线程编程(超详细总结) 一、线程与多线程的概念 线程&a…

Qt实现多线程编程的两种方式

Qt实现多线程编程的两种方式 方式一&#xff1a; 继承自QThread类&#xff0c;覆写run函数。此实现方法只有run函数内的代码是运行在子线程内。 代码示例&#xff1a; #ifndef QDEMOTHREAD_H #define QDEMOTHREAD_H#include <QThread> #include <QDebug>class QD…

Java 多线程编程 实验题

Java 多线程编程 实验二 1.创建键盘操作练习2. 双线程猜数字3. 月亮围绕地球 1.创建键盘操作练习 题目描述&#xff1a; 编写一个Java应用程序&#xff0c;在主线程中再创建两个线程&#xff0c; 一个线程负责给出键盘上字母键上的字母&#xff0c;另一个线程负责让用户在命令…

Python多线程编程(详细:适合小白入门)

目录 前言 一、进程 1.多任务 2.进程 3.多进程完成多任务 3.1进程的创建步骤 3.2通过进程类创建进程对象 3.3创建进程和启动的代码 4. 进程执行带有参数的任务 5.获取进程编号 6.进程的注意点 6.1主进程会等待所有的子进程执行结束后再结束 6.2设置守护主进程&…

使用qt实现多线程编程

目录 1、线程基础 1.1、GUI线程与工作线程 1.2、数据的同步访问 2、QT多线程简介 3、QThread线程类 4、创建并启动线程 QThread类提供不依赖于平台的管理线程的方法。一个QThread类的对象管理一个线程&#xff0c;一 般从QThread继承一个自定义类&#xff0c;并重定义虚函…

ZMQ之多线程编程

使用ZMQ进行多线程编程&#xff08;MT编程&#xff09;将会是一种享受。在多线程中使用ZMQ套接字时&#xff0c;你不需要考虑额外的东西&#xff0c;让它们自如地运作就好。 使用ZMQ进行多线程编程时&#xff0c;不需要考虑互斥、锁、或其他并发程序中要考虑的因素&#xff0c;…

C++之多线程编程

一、并发的实现 1.多进程并发主要解决进程间通信的问题 ①同一电脑上&#xff1a;管道、文件、消息队列、内存共享。 ②不同电脑上&#xff1a;socket网络通信。 2. 单进程中的多个线程并发&#xff08;一个主线程多个子线程实现并发&#xff09; ①一个进程中的所有线程共享内…

Springboot异步多线程编程

文章目录 一、基础知识二、什么时候用同步&异步三、什么时候需要使用多线程四、springboot异步多线程编程实现 一、基础知识 同步&#xff1a;同步就是指一个进程在执行某个请求的时候&#xff0c;若该请求需要一段时间才能返回信息&#xff0c;那么这个进程将会一直等待下…

【线程】多线程编程

目录 一、概念 1.进程与线程的区别是&#xff1f;&#xff08;常问&#xff09; 2.线程与fork系统调用 3.线程的优缺点 4.线程的实现方式 二、线程函数 1.pthread_create 2.pthread_exit 3.pthread_join 4.pthread_cancel 三、线程的使用 1.线程的基本操作 2.并发…

多线程编程及线程间通信机制

对进程线程的印象还是比较好的,这对于学习C高级的朋友是非常重要的,怎样更快的学习到线程的具体使用呢?最好的办法自然是练习再练习,然后还要看很多的代码才是,之前又听说了一个IT同行过劳死,特别的提醒广大的IT从业者,要注意合理的作息习惯,健康才是最重要的,下面结合…

多线程编程

多线程指的是一个程序中包含两个或者两个以上的线程&#xff0c;多线程的提出是为提高代码的执行效率&#xff0c;这就好比工厂中的流水线&#xff0c;只有一条称为单线程&#xff0c;有多条流水线就称为多线程。多线程提高效率的同时由于并发执行的不确定性&#xff0c;导致出…

两种 C++ 多线程编程方式,看完不懂打我...

多线程在实际编程中的重要性不言而喻&#xff0c;对 C 而言&#xff0c;当我们需要使用多线程时&#xff0c;有多种方案可供选择。比如 POSIX 线程 pthread、boost::thread 库、C11 开始支持的 std::thread 库&#xff0c;以及其他一些第三方库 libdispatch&#xff08;GCD&…

ARP攻击模拟工具

以下是本人平时的一些小作品&#xff0c;特此和大家一起分享... ARP攻击模拟工具 第一代 说明&#xff1a; 实现模拟以太网的ARP欺骗攻击和IP地址冲突攻击。 此为本人早期作品&#xff0c;固比较简陋和不完善&#xff0c;漏洞及错误之处可能较多请多多包涵&#xff01; 开发环…