当前位置: 首页 > news >正文

【Linux系列】vmware虚拟机网络配置详解

非原创

原文地址[1]

首发博客地址[2]

系列文章地址[3]


vmware 为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。

打开 vmware 虚拟机,我们可以在选项栏的“编辑”下的“虚拟网络编辑器”中看到 VMnet0(桥接模式)、VMnet1(仅主机模式)、VMnet8(NAT 模式),那么这些都是有什么作用呢?其实,我们现在看到的 VMnet0 表示的是用于桥接模式下的虚拟交换机;VMnet1 表示的是用于仅主机模式下的虚拟交换机;VMnet8 表示的是用于 NAT 模式下的虚拟交换机。

虚拟网络编辑器
虚拟网络编辑器

同时,在主机上对应的有 VMware Network Adapter VMnet1 和 VMware Network Adapter VMnet8 两块虚拟网卡,它们分别作用于仅主机模式与 NAT 模式下。在“网络连接”中我们可以看到这两块虚拟网卡,如果将这两块卸载了,可以在 vmware 的“编辑”下的“虚拟网络编辑器”中点击“还原默认设置”,可重新将虚拟网卡还原。

网络连接
网络连接

小伙伴看到这里,肯定有疑问,为什么在真机上没有 VMware Network Adapter VMnet0 虚拟网卡呢?那么接下来,我们就一起来看一下这是为什么。

一、Bridged(桥接模式)

什么是桥接模式?桥接模式就是将主机网卡与虚拟机虚拟的网卡利用虚拟网桥进行通信。在桥接的作用下,类似于把物理主机虚拟为一个交换机,所有桥接设置的虚拟机连接到这个交换机的一个接口上,物理主机也同样插在这个交换机当中,所以所有桥接下的网卡与网卡都是交换模式的,相互可以访问而不干扰。在桥接模式下,虚拟机 ip 地址需要与主机在同一个网段,如果需要联网,则网关与 DNS 需要与主机网卡一致。其网络结构如下图所示:

桥接模式网络结构
桥接模式网络结构

接下来,我们就来实际操作,如何设置桥接模式。

首先,安装完系统之后,在开启系统之前,点击“编辑虚拟机设置”来设置网卡模式。

编辑虚拟机设置
编辑虚拟机设置

点击“网络适配器”,选择“桥接模式”,然后“确定”

网络适配器设置
网络适配器设置

在进入系统之前,我们先确认一下主机的 ip 地址、网关、DNS 等信息。

主机网络信息
主机网络信息

然后,进入系统编辑网卡配置文件,命令为 vi /etc/sysconfig/network-scripts/ifcfg-eth0

编辑网卡配置文件
编辑网卡配置文件

添加内容如下:

网卡配置内容
网卡配置内容

编辑完成,保存退出,然后重启虚拟机网卡,使用 ping 命令 ping 外网 ip,测试能否联网。

测试联网
测试联网

能 ping 通外网 ip,证明桥接模式设置成功。

那主机与虚拟机之间的通信是否正常呢?我们就用远程工具来测试一下。

远程连接测试
远程连接测试

主机与虚拟机通信正常。

这就是桥接模式的设置步骤,相信大家应该学会了如何去设置桥接模式了。桥接模式配置简单,但如果你的网络环境是 ip 资源很缺少或对 ip 管理比较严格的话,那桥接模式就不太适用了。如果真是这种情况的话,我们该如何解决呢?接下来,我们就来认识 vmware 的另一种网络模式:NAT 模式。

二、NAT(地址转换模式)

刚刚我们说到,如果你的网络 ip 资源紧缺,但是你又希望你的虚拟机能够联网,这时候 NAT 模式是最好的选择。NAT 模式借助虚拟 NAT 设备和虚拟 DHCP 服务器,使得虚拟机可以联网。其网络结构如下图所示:

NAT模式网络结构
NAT模式网络结构

在 NAT 模式中,主机网卡直接与虚拟 NAT 设备相连,然后虚拟 NAT 设备与虚拟 DHCP 服务器一起连接在虚拟交换机 VMnet8 上,这样就实现了虚拟机联网。那么我们会觉得很奇怪,为什么需要虚拟网卡 VMware Network Adapter VMnet8 呢?原来我们的 VMware Network Adapter VMnet8 虚拟网卡主要是为了实现主机与虚拟机之间的通信。在之后的设置步骤中,我们可以加以验证。

首先,设置虚拟机中 NAT 模式的选项,打开 vmware,点击“编辑”下的“虚拟网络编辑器”,设置 NAT 参数及 DHCP 参数。

虚拟网络编辑器设置
虚拟网络编辑器设置
NAT参数设置
NAT参数设置
DHCP参数设置
DHCP参数设置

将虚拟机的网络连接模式修改成 NAT 模式,点击“编辑虚拟机设置”。

编辑虚拟机设置
编辑虚拟机设置

点击“网络适配器”,选择“NAT 模式”

网络适配器设置
网络适配器设置

然后开机启动系统,编辑网卡配置文件,命令为 vi /etc/sysconfig/network-scripts/ifcfg-eth0

编辑网卡配置文件
编辑网卡配置文件

具体配置如下:

网卡配置内容
网卡配置内容

编辑完成,保存退出,然后重启虚拟机网卡,动态获取 ip 地址,使用 ping 命令 ping 外网 ip,测试能否联网。

测试联网
测试联网

之前,我们说过 VMware Network Adapter VMnet8 虚拟网卡的作用,那我们现在就来测试一下。

测试虚拟机与主机通信
测试虚拟机与主机通信
测试主机与虚拟机通信
测试主机与虚拟机通信

如此看来,虚拟机能联通外网,确实不是通过 VMware Network Adapter VMnet8 虚拟网卡,那么为什么要有这块虚拟网卡呢?

之前我们就说 VMware Network Adapter VMnet8 的作用是主机与虚拟机之间的通信,接下来,我们就用远程连接工具来测试一下。

测试主机与虚拟机通信
测试主机与虚拟机通信

然后,将 VMware Network Adapter VMnet8 启用之后,发现远程工具可以连接上虚拟机了。

那么,这就是 NAT 模式,利用虚拟的 NAT 设备以及虚拟 DHCP 服务器来使虚拟机连接外网,而 VMware Network Adapter VMnet8 虚拟网卡是用来与虚拟机通信的。

三、Host-Only(仅主机模式)

Host-Only 模式其实就是 NAT 模式去除了虚拟 NAT 设备,然后使用 VMware Network Adapter VMnet1 虚拟网卡连接 VMnet1 虚拟交换机来与虚拟机通信的,Host-Only 模式将虚拟机与外网隔开,使得虚拟机成为一个独立的系统,只与主机相互通讯。其网络结构如下图所示:

Host-Only模式网络结构
Host-Only模式网络结构

通过上图,我们可以发现,如果要使得虚拟机能联网,我们可以将主机网卡共享给 VMware Network Adapter VMnet1 网卡,从而达到虚拟机联网的目的。接下来,我们就来测试一下。

首先设置“虚拟网络编辑器”,可以设置 DHCP 的起始范围。

虚拟网络编辑器设置
虚拟网络编辑器设置

设置虚拟机为 Host-Only 模式。

虚拟机网络适配器设置
虚拟机网络适配器设置

开机启动系统,然后设置网卡文件。

编辑网卡配置文件
编辑网卡配置文件

保存退出,然后重启网卡,利用远程工具测试能否与主机通信。

测试主机与虚拟机通信
测试主机与虚拟机通信

主机与虚拟机之间可以通信,现在设置虚拟机联通外网。

虚拟网络编辑器设置
虚拟网络编辑器设置

我们可以看到上图有一个提示,强制将 VMware Network Adapter VMnet1 的 ip 设置成 192.168.137.1,那么接下来,我们就要将虚拟机的 DHCP 的子网和起始地址进行修改,点击“虚拟网络编辑器”

虚拟网络编辑器设置
虚拟网络编辑器设置

重新配置网卡,将 VMware Network Adapter VMnet1 虚拟网卡作为虚拟机的路由。

虚拟机网络适配器设置
虚拟机网络适配器设置

重启网卡,然后通过远程工具测试能否联通外网以及与主机通信。

测试联网和通信
测试联网和通信

测试结果证明可以使得虚拟机连接外网。

参考资料

[1]

原文地址: https://blog.51cto.com/u_15169172/2710721

[2]

首发博客地址: https://blog.zysicyj.top/

[3]

系列文章地址: https://blog.zysicyj.top/categories/技术文章/后端技术/系列文章/Linux/

本文由 mdnice 多平台发布

相关文章:

【Linux系列】vmware虚拟机网络配置详解

非原创 原文地址[1] 首发博客地址[2] 系列文章地址[3] vmware 为我们提供了三种网络工作模式,它们分别是:Bridged(桥接模式)、NAT(网络地址转换模式)、Host-Only(仅主机模式)。 打开…...

AUTOSAR规范与ECU软件开发(实践篇)7.8 MCAL模块配置方法及常用接口函数介绍之Icu的配置

目录 1、前言 2 、Icu模块 (1) Icu General配置 (2) IcuConfigSet配置 (3) IcuConfigSet配置 1、前言 本例程的硬件平台为MPC5744P开发板&...

2023-9-2 Prim算法求最小生成树

题目链接&#xff1a;Prim算法求最小生成树 #include <iostream> #include <cstring> #include <algorithm>using namespace std;const int N 510, INF 0x3f3f3f3f;int n, m; int g[N][N]; int dist[N]; bool st[N];int prim() {memset(dist, 0x3f, size…...

骨传导耳机会影响听力吗?这是真的吗?

首先正常的使用骨传导耳机并不会影响我们的听力&#xff01;那是为什么呢&#xff1f;&#xff1f; 因为骨传导是一种声音传导方式&#xff0c;可以通过人的颅骨、骨迷路、内耳淋巴液传递、螺旋器、听神经、听觉中枢来传递声波。 相对于通过耳道声波的经典声音传导方式&#x…...

【华为OD机试python】 阿里巴巴找黄金宝箱(Ⅱ)【2023 B卷|100分】

题目描述 一贫如洗的樵夫阿里巴巴在去砍柴的路上,无意中发现了强盗集团的藏宝地, 藏宝地有编号从0-N的箱子,每个箱子上面贴有箱子中藏有金币的数量。 从金币数量中选出一个数字集合,并销毁贴有这些数字的每个箱子, 如果能销毁一半及以上的箱子,则返回这个数字集合的最小大…...

9.6 【C语言】使用枚举类型

如果一个变量只有几种可能的值&#xff0c;则可以定义为枚举类型&#xff0c;所谓“枚举”就是指把可能的值一一列举出来&#xff0c;变量的值只限于列举出来的值的范围内。 声明枚举类型用enum开头&#xff0c;例如&#xff1a; enum Weekday{sun,mon,tue,wed,thu,fri,sar};…...

一文了解tcp/ip协议的运行原理

接触代理ip的人都了解https/sock5等ip协议&#xff0c;那么TCP/IP 协议又是什么&#xff1f; 一、什么是TCP/IP 协议&#xff1f; TCP/IP 协议实际上是一系列网络通信协议的一个统称&#xff0c;他负责具体的数据传输工作&#xff0c;核心的两个协议包括TCP以及IP&#xff0c…...

spring cloud alibaba

项目依赖 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version></parent><properties><springcloud.alibaba.version>2.1…...

K 次取反后最大化的数组和【贪心算法】

1005 . K 次取反后最大化的数组和 给你一个整数数组 nums 和一个整数 k &#xff0c;按以下方法修改该数组&#xff1a; 选择某个下标 i 并将 nums[i] 替换为 -nums[i] 。 重复这个过程恰好 k 次。可以多次选择同一个下标 i 。 以这种方式修改数组后&#xff0c;返回数组 可能…...

pulsar集群搭建_亲测成功

pulsar集群搭建_亲测成功 单机运行请看: Linux MacBook单机部署Pulsar并开启认证功能 集群组成 搭建 Pulsar 集群至少需要 3 个组件&#xff1a;ZooKeeper 集群、BookKeeper 集群和 broker 集群&#xff08;Broker 是 Pulsar 的自身实例)。这三个集群组件如下&#xff1a; …...

笔记:linux中LED驱动设备树配置和用法

设备树中节点配置 设备树中的LED驱动一般是这样写&#xff0c;LED驱动可以控制GPIO的电平变化&#xff0c;生成文件节点很方便 leds: leds {compatible "gpio-leds";gpio_demo: gpio_demo {label "gpio_demo";gpios <&gpio0 RK_PC0 GPIO_ACTIV…...

Linux网络编程 网络基础知识

目录 1.网络的历史和协议的分成 2.网络互联促成了TCP/IP协议的产生 3.网络的体系结构 4.TCP/IP协议族体系 5.网络各层的协议解释 6.网络的封包和拆包 7.网络预备知识 1.网络的历史和协议的分成 Internet-"冷战"的产物 1957年十月和十一月&#xff0c;前苏…...

盘点狼人杀中的强神与弱神 并评价操作体验

最初 强神是大家对猎人的称呼&#xff0c;但随着板子的增加 强神渐渐变成了强神神牌的统称。 狼人杀发展至今板子已经非常多了&#xff0c;而每个板子都会有不同的角色。 相同的是 大部分都会希望拿到一张强力神牌&#xff0c;这样能大大提高我们玩家的游戏体验&#xff0c;但其…...

数据结构与算法学习(day1)

前言 (1)我是一个大三的学生(准确来说应该是准大三,因为明天才报名哈哈哈)。 (2)最近就想每天闲着没事也刷些C语言习题来锻炼下编程水平,也一直在思考企业对应届大学生能力的要求,所以经常会想到关于面试的事情。由于我也没实习过,所以我对面试没有一个具象化的概念。…...

递归寻找第n位数字

编写递归函数digit(n,j)&#xff0c;返回整数n的从右边开始的第j位数字 首先来看非递归法&#xff0c;只需用n/(10^&#xff08;j-1&#xff09;)%10即可 #include<stdio.h> //编写递归函数digit(n,j)&#xff0c;返回整数n的从右边开始的第j位数字 int digit(int n,i…...

[国产MCU]-W801开发实例-WiFi热点模式创建

WiFi热点模式创建 文章目录 WiFi热点模式创建1、创建WiFi热点相关API介绍2、热点创建实例W801的WiFi支持热点模式。本文将详细介绍如何创建热点模式。 1、创建WiFi热点相关API介绍 int tls_wifi_softap_create(struct tls_softap_info_t apinfo,struct tls_ip_info_t ipinfo)**…...

云原生Kubernetes:二进制部署K8S单Master架构(二)

目录 一、理论 1.K8S单Master架构 2.部署 master 组件 3.部署 Woker Node 组件 4.在master1节点上操作 5.在 node01 节点上操作 6.在 master01 节点上操作 7.在 node01 节点上操作 8.node02 节点部署&#xff08;方法一&#xff09; 二、实验 1.环境 2.部署 master …...

spring高级源码50讲-43-50(spring续)

其它 43) FactoryBean 演示 - FactoryBean 代码参考 package com.itheima.a43;import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.ComponentScan;ComponentScan public class A43 {publi…...

FTP文件传输服务器

目录 一、FTP协议两种工作模式 二、FTP数据两种传输模式 三、FTP用户分类 四、VSFTP配置案例 4.1匿名开放模式 4.2本地用户模式 4.3虚拟用户模式 五、实验总结 一、FTP协议两种工作模式 主动模式&#xff1a; 1、客户端主动向ftp服务器发送控制连接&#xff0c;三次握手控制连接…...

【LeetCode - 每日一题】2240. 买钢笔和铅笔的方案数(23.09.1)

2240. 买钢笔和铅笔的方案数 题意 两种价格的笔返回所有可以买的方案数可以为 0 解法 注意这道题的复杂度比较高&#xff0c;O(N2) 是过不了的。一开始是这样写的&#xff1a; // tle 代码 class Solution { public:long long waysToBuyPensPencils(int total, int cost1,…...

(LeetCode 每日一题) 3442. 奇偶频次间的最大差值 I (哈希、字符串)

题目&#xff1a;3442. 奇偶频次间的最大差值 I 思路 &#xff1a;哈希&#xff0c;时间复杂度0(n)。 用哈希表来记录每个字符串中字符的分布情况&#xff0c;哈希表这里用数组即可实现。 C版本&#xff1a; class Solution { public:int maxDifference(string s) {int a[26]…...

OpenLayers 可视化之热力图

注&#xff1a;当前使用的是 ol 5.3.0 版本&#xff0c;天地图使用的key请到天地图官网申请&#xff0c;并替换为自己的key 热力图&#xff08;Heatmap&#xff09;又叫热点图&#xff0c;是一种通过特殊高亮显示事物密度分布、变化趋势的数据可视化技术。采用颜色的深浅来显示…...

SkyWalking 10.2.0 SWCK 配置过程

SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外&#xff0c;K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案&#xff0c;全安装在K8S群集中。 具体可参…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Vue3 + Element Plus + TypeScript中el-transfer穿梭框组件使用详解及示例

使用详解 Element Plus 的 el-transfer 组件是一个强大的穿梭框组件&#xff0c;常用于在两个集合之间进行数据转移&#xff0c;如权限分配、数据选择等场景。下面我将详细介绍其用法并提供一个完整示例。 核心特性与用法 基本属性 v-model&#xff1a;绑定右侧列表的值&…...

BCS 2025|百度副总裁陈洋:智能体在安全领域的应用实践

6月5日&#xff0c;2025全球数字经济大会数字安全主论坛暨北京网络安全大会在国家会议中心隆重开幕。百度副总裁陈洋受邀出席&#xff0c;并作《智能体在安全领域的应用实践》主题演讲&#xff0c;分享了在智能体在安全领域的突破性实践。他指出&#xff0c;百度通过将安全能力…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年&#xff0c;截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始&#xff0c;将英文题库免费公布出来&#xff0c;并进行解析&#xff0c;帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

多种风格导航菜单 HTML 实现(附源码)

下面我将为您展示 6 种不同风格的导航菜单实现&#xff0c;每种都包含完整 HTML、CSS 和 JavaScript 代码。 1. 简约水平导航栏 <!DOCTYPE html> <html lang"zh-CN"> <head><meta charset"UTF-8"><meta name"viewport&qu…...

Spring数据访问模块设计

前面我们已经完成了IoC和web模块的设计&#xff0c;聪明的码友立马就知道了&#xff0c;该到数据访问模块了&#xff0c;要不就这俩玩个6啊&#xff0c;查库势在必行&#xff0c;至此&#xff0c;它来了。 一、核心设计理念 1、痛点在哪 应用离不开数据&#xff08;数据库、No…...

AI病理诊断七剑下天山,医疗未来触手可及

一、病理诊断困局&#xff1a;刀尖上的医学艺术 1.1 金标准背后的隐痛 病理诊断被誉为"诊断的诊断"&#xff0c;医生需通过显微镜观察组织切片&#xff0c;在细胞迷宫中捕捉癌变信号。某省病理质控报告显示&#xff0c;基层医院误诊率达12%-15%&#xff0c;专家会诊…...