【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 多平台发布

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

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

相关文章

Cyber RT学习笔记---7、Component组件认知与实践

7、Component组件认知与实践 前言 本文是对Cyber RT的学习记录,文章可能存在不严谨、不完善、有缺漏的部分,还请大家多多指出。 课程地址: https://apollo.baidu.com/community/course/outline/329?activeId10200 更多还请参考: [1] Apollo星火计划学习笔记——第…

Web自动化 —— Selenium元素定位与防踩坑

1. 基本元素定位一 from selenium import webdriver from selenium.webdriver.chrome.service import Service from selenium.webdriver.common.by import By # selenium Service("../../chromedriver.exe") # driver webdriver.Chrome(serviceService) # driver.…

【Unity3D】UI Toolkit元素

1 前言 UI Toolkit简介 中介绍了 UI Builder、样式属性、UQuery、Debugger,UI Toolkit容器 中介绍了 VisualElement、ScrollView、ListView、GroupBox 等容器,UI Toolkit样式选择器 中介绍了简单选择器、复杂选择器、伪类选择器等样式选择器,…

Linux入门之进程信号|信号产生的方式

文章目录 一、信号入门 1.linux信号的基本概念 2.使用kill -l 命令可以查看系统定义的信号列表 3.信号处理常见方式 二、产生信号 1.通过终端按键产生信号 2.通过调用系统函数向进程发信号 3.由软条件产生信号 4.硬件异常产生信号 1. /0异常 2.模拟野指针 一、信号入门…

华为数通方向HCIP-DataCom H12-821题库(单选题:221-240)

第201题 BGP 协议用​​ beer default-route-advertise​​ 命令来给邻居发布缺省路由,那么以下关于本地 BGP 路由表变化的描述,正确的是哪一项? A、在本地 BGP 路由表中生成一条活跃的缺省路由并下发给路由表 B、在本地 BGP 路由表中生成一条不活跃的缺省路由,但不下发给…

【ES6】Promise.all用法

Promise.all()方法用于将多个 Promise 实例,包装成一个新的 Promise 实例。 const p Promise.all([p1, p2, p3]);上面代码中,Promise.all()方法接受一个数组作为参数,p1、p2、p3都是 Promise 实例,如果不是,就会先调…

Vue2+Vue3笔记(尚硅谷张天禹老师)day02

声明:只是记录,初心是为了让页面更好看,会有错误,我并不是一个会记录的人,所以有点杂乱无章的感觉,我先花点时间把视频迅速过掉,再来整理这些杂乱无章的内容 组件化编程 按照视频来的话,这里应该有一些概念的东西&…

数据结构零基础入门篇(C语言实现)

前言:数据结构属于C学习中较难的一部分,对应学习者的要求较高,如基础不扎实,建议着重学习C语言中的指针和结构体,万丈高楼平地起。 一,链表 1)单链表的大致结构实现 用C语言实现链表一般是使…

入选VLDB 2023! OceanBase 4.0单机分布式一体化研究成果获国际顶会认可

近日,国际顶级数据库学术会议 VLDB 2023 在加拿大温哥华开幕。OceanBase 研究成果论文 “OceanBase Paetica: A Hybrid Shared-nothing/Shared-everything Database for Supporting Single Machine and Distributed Cluster” 被 VLDB 2023 收录!相继 20…

ACL 访问控制 过滤数据 维护网络安全(第七课)

一 ACL 简介 ACL是Access Control List(访问控制列表)的缩写,是一种用于控制文件、目录、网络设备等资源访问权限的方法。ACL可以对每个用户或用户组设置不同的访问权,即在访问控制清单中为每个用户或用户组指定允许或禁止访问该资源的权限。它通常由一系列规则组成,规则…

vue3 判断包含某个字符

<img v-if"node.level 1 && checkIfIncludeSubStr(node.label, 人口)"src"/assets/images/icon-convention-01.png" width"16"class"inlineBlock Vmiddle" style"margin-right: 8px;"/>const data reactive…

kubernetes常见面试问题详解

在面试的时候&#xff0c;面试官常常会问一些问题&#xff1a; k8s是什么&#xff1f;有什么用?k8s由哪些组件组成&#xff1f;pod的启动流程&#xff1f;k8s里有哪些控制器&#xff1f;k8s的调度器里有哪些调度算法&#xff1f;pod和pod之间的通信过程&#xff1f;外面用户访…

微服务-gateway鉴权

文章目录 一、前言二、gateway鉴权1、依赖配置2、编写代码3、GlobalFilter详解3.1、GlobalFilter简介3.2、GlobalFilter自定义执行顺序3.2.1、实现Order接口实现自定义执行顺序 一、前言 网关是介于客户端和服务器端之间的中间层&#xff0c;所有的外部请求都会先经过 网关这一…

鲁棒优化入门(6)—Matlab+Yalmip两阶段鲁棒优化通用编程指南(上)

0.引言 上一篇博客介绍了使用Yalmip工具箱求解单阶段鲁棒优化的方法。这篇文章将和大家一起继续研究如何使用Yalmip工具箱求解两阶段鲁棒优化(默认看到这篇博客时已经有一定的基础了&#xff0c;如果没有可以看看我专栏里的其他文章)。关于两阶段鲁棒优化与列与约束生成算法的原…

MySQL访问和配置

目录 1.使用MySQL自带的客户端工具访问 2.使用DOS访问(命令行窗口WinR → cmd) 3.连接工具&#xff08;SQLyog或其它&#xff09; MySQL从小白到总裁完整教程目录:https://blog.csdn.net/weixin_67859959/article/details/129334507?spm1001.2014.3001.5502 1.使用MySQL自…

DVWA失效的访问控制

失效的访问控制&#xff0c;可以认为是系统对一些功能进行了访问或权限限制&#xff0c;但因为种种原因&#xff0c;限制并没有生效&#xff0c;造成失效的访问控制漏洞,比如越权等 这里以DVWA为例&#xff0c;先访问低难度的命令执行并抓包 删除cookie&#xff0c;并在请求头…

Python之作业(一)

Python之作业&#xff08;一&#xff09; 作业 打印九九乘法表 用户登录验证 用户依次输入用户名和密码&#xff0c;然后提交验证用户不存在、密码错误&#xff0c;都显示用户名或密码错误提示错误3次&#xff0c;则退出程序验证成功则显示登录信息 九九乘法表 代码分析 先…

<图像处理> 可分离滤波器核

可分离滤波器核 空间滤波器核是一个二维矩阵&#xff0c;若它能够表示为两个一维矩阵的乘积时&#xff0c;则表示该滤波器核是可分离的。 例如&#xff0c;一个3x3的核&#xff0c; w [ 1 1 1 1 1 1 1 1 1 ] w\begin{bmatrix} 1 & 1 & 1\\ 1 & 1& 1\\ 1 &am…

木棒切割问题

题目很简单&#xff0c;就是我们在写二分的时候&#xff0c;会遇到这样的情况&#xff1a; mid left (right-left)/2; if (nums k)return mid;if (nums>k)left mid;if (nums<k)right mid-1; 若我们debug会发现其可能会一致卡在left mid&#xff0c;例如&#xff08…

框架分析(9)-Hibernate

框架分析&#xff08;9&#xff09;-Hibernate 专栏介绍Hibernate特性对象关系映射&#xff08;ORM&#xff09;数据库连接和事务管理查询语言&#xff08;HQL&#xff09;缓存机制透明的持久化操作对象的延迟加载事务管理 优缺点优点简化数据库操作跨数据库平台高度可定制性缓…