VMware虚拟机中配置静态IP

news/2024/5/17 3:59:59/文章来源:https://blog.csdn.net/General_zy/article/details/131992214

目录

  • 环境
  • 原因
  • 基础概念
    • VMnet网络
    • IPV4网络私有地址范围
    • Vmnet8的作用
    • 网路通信的过程
    • 解决方法1:修改k8s组件重新启动
    • 解决方法2:配置静态IP
      • 系统网卡设置
      • 设置虚拟机网关
      • 修改虚拟机网卡

环境

  1. 本机系统:windows11
  2. 虚拟机系统:CentOS-7-x86_64-Minimal-2009
  3. 虚拟机运行时:VMware

原因

在一个地方部署的k8s集群,初始化的时候使用的虚拟机ip为ip1,到了另一个地方虚拟机ip因为dhcp自动变了一个,导致k8s集群用不了了,要修改又非常麻烦。

基础概念

VMnet网络

VMware 的 VMnet 是一组用于虚拟机网络的虚拟网络适配器。VMnet 提供了多种虚拟网络模式,允许虚拟机与主机以及其他虚拟机之间进行通信。这些虚拟网络适配器在 VMware 虚拟化平台上创建,并由 VMware Workstation 和 VMware Fusion 等产品使用。

以下是 VMware 中常见的几种 VMnet 网络模式:

  1. VMnet0 (Bridged) 模式:

    • 模式说明:在这个模式下,虚拟机的网络适配器将与主机的物理网络适配器桥接连接,就像虚拟机直接连接到局域网一样。
    • 适用场景:适用于虚拟机需要直接访问网络上其他设备,并且需要和主机在同一网络中出现的情况。
  2. VMnet1 (Host-Only) 模式:

    • 模式说明:在这个模式下,虚拟机只能与主机进行通信,虚拟机之间以及虚拟机与主机外的网络是隔离的。
    • 适用场景:适用于需要在虚拟机之间进行通信,但不希望虚拟机与主机外的网络通信的情况。
  3. VMnet8 (NAT) 模式:

    • 模式说明:在这个模式下,虚拟机通过主机的网络适配器与外部网络通信,主机充当了一个网络地址转换(NAT)路由器。
    • 适用场景:适用于虚拟机需要访问外部网络,但又不希望直接暴露虚拟机的 IP 地址的情况。
  4. VMnet2、VMnet3、VMnet4 等自定义 Host-Only 模式:

    • 模式说明:这些是用户自定义的 Host-Only 模式,可以创建多个独立的 Host-Only 网络,虚拟机只能在同一网络中通信,与主机和外部网络隔离。
    • 适用场景:适用于需要将虚拟机分成多个独立网络的情况,各个网络之间不互通。

通过 VMware 虚拟网络,你可以根据不同的需求为虚拟机配置不同的网络连接方式,以满足各种不同的场景。虚拟网络的灵活性使得虚拟机能够在不同的网络环境中进行开发、测试和运行,而无需影响到主机的网络配置。

IPV4网络私有地址范围

IPv4 私有地址范围是指一些特定的 IP 地址段,这些地址段被保留用于在私有网络中使用,不用于直接连接到公共互联网。在私有网络中,你可以自由地分配和使用这些地址,而无需向公共互联网注册或支付费用。私有地址在局域网(LAN)、家庭网络、企业网络、虚拟化环境等场景中非常常见。

IPv4 的私有地址范围如下:

  1. 10.0.0.0 到 10.255.255.255

    • 这个范围包含了从 10.0.0.0 到 10.255.255.255 共计 16777216 个 IP 地址。
    • 例如,10.0.0.1、10.1.2.3、10.255.255.254 等都是属于这个范围的私有地址。
  2. 172.16.0.0 到 172.31.255.255

    • 这个范围包含了从 172.16.0.0 到 172.31.255.255 共计 1048576 个 IP 地址。
    • 例如,172.16.0.1、172.16.100.10、172.31.255.254 等都是属于这个范围的私有地址。
  3. 192.168.0.0 到 192.168.255.255

    • 这个范围包含了从 192.168.0.0 到 192.168.255.255 共计 65536 个 IP 地址。
    • 例如,192.168.0.1、192.168.100.50、192.168.255.254 等都是属于这个范围的私有地址。

虽然这些私有地址在私有网络中是唯一且可以重复使用的,但是它们不在公共互联网上可路由。当需要从私有网络中的设备与公共互联网进行通信时,通常使用网络地址转换(NAT)来将私有地址转换成公共 IP 地址,以实现与外部网络的通信。

私有地址范围是为了在 IPv4 地址资源有限的情况下,在局域网等场景中提供了一种有效的方式来管理 IP 地址。而在需要连接到公共互联网时,使用私有地址与公共 IP 地址进行转换,使得较少的公共 IP 地址可以服务于更多的私有网络设备。

私有地址范围的存在是为了解决 IPv4 地址资源有限的问题。IPv4 使用 32 位二进制数表示 IP 地址,理论上总共有约 43亿个唯一的 IPv4 地址。然而,随着互联网的快速发展和设备的普及,IPv4 地址资源已经逐渐不够用了。

私有地址范围的引入是为了在局域网、企业内部网络等私有网络环境中,通过重复使用一组特定的 IP 地址,实现了更有效的 IP 地址管理。这样,即使全球范围内 IPv4 地址耗尽,私有网络仍然能够继续使用私有地址。

私有地址范围的优点和用途包括:

  1. 节省公共 IP 地址资源: 在全球范围内,IP 地址已经面临耗尽的问题。通过在私有网络中使用私有地址范围,可以节省公共 IP 地址资源,使得公共 IP 地址能够更有效地被分配给互联网可访问的设备。

  2. 灵活的 IP 地址分配: 在私有网络中,使用私有地址范围可以实现更灵活的 IP 地址分配。你可以根据实际需要自由地分配和使用 IP 地址,而无需向任何注册机构申请。

  3. 安全性: 私有地址范围使得在私有网络中的设备不直接暴露在公共互联网中,从而增加了一定的网络安全性。通过网络地址转换(NAT)技术,私有网络中的设备可以间接访问公共互联网,而公共互联网上的设备不能直接访问私有网络中的设备。

总结来说,私有地址范围的引入是为了解决 IPv4 地址资源不足的问题,并且在私有网络环境中实现了更灵活、更有效的 IP 地址管理。这使得私有网络能够继续正常运行,即使全球范围内的 IPv4 地址已经用尽。

Vmnet8的作用

在 VMware 虚拟化软件中,VMnet8 是一种虚拟网络设备,通常用于 VMware Workstation 或 VMware Fusion 等产品中的 NAT(网络地址转换)网络模式。VMnet8 充当着网络地址转换器(NAT Router)的角色,它在虚拟化环境中扮演着以下决策和功能:

  1. 网络地址转换(NAT): VMnet8 提供了网络地址转换功能,允许虚拟机通过虚拟化软件的 NAT 网络模式与主机系统连接到外部网络(通常是公共互联网)。当虚拟机发送数据包到外部网络时,VMnet8 接收数据包并将其源 IP 地址转换为主机系统的 IP 地址,以便响应数据包的目标服务器可以正确地将数据包返回给虚拟机。这使得虚拟机可以间接访问公共互联网,而不需要分配独立的公共 IP 地址。

  2. DHCP 服务器: VMnet8 还可以充当虚拟化环境中的 DHCP 服务器。当虚拟机连接到 VMnet8 网络时,VMnet8 可以为虚拟机自动分配 IP 地址、子网掩码、网关地址等网络参数,从而实现自动化的 IP 地址配置。

  3. DNS 代理: VMnet8 可以充当 DNS 代理,使得虚拟机能够解析域名。当虚拟机需要解析域名时,VMnet8 可以将 DNS 请求转发到主机系统或其他 DNS 服务器,获取域名对应的 IP 地址,并返回给虚拟机。

  4. 虚拟网络隔离: VMnet8 提供了虚拟网络的隔离功能,使得虚拟机之间相互隔离,并且与主机系统之间也有一定的隔离。这种隔离确保了虚拟机之间的网络流量不会相互干扰,同时也保护了主机系统的网络安全。

总的来说,VMnet8 在虚拟化环境中是一个重要的虚拟网络设备,它通过网络地址转换、DHCP 和 DNS 代理等功能,为虚拟机提供了网络连接和访问外部网络的能力,并确保虚拟机之间和主机系统之间的网络隔离和安全性。

网路通信的过程

网络通信是一个复杂的过程,涉及多个物理硬件和协议的配合。以下是从你的主机获得一个私有 IP 地址开始,到请求公网信息的整个过程,简单概括的步骤:

  1. 获取私有 IP 地址: 当你的主机连接到一个局域网(例如家庭网络或企业局域网)时,它会通过 DHCP 协议向网络中的 DHCP 服务器请求 IP 地址。DHCP 服务器会分配一个私有 IP 地址给你的主机。

  2. 数据封装: 当你的主机要发送请求到公网时,它会根据目标服务器的 IP 地址、子网掩码和网关等信息,将请求数据封装成数据包(通常是以太网帧)。

  3. 发送数据包: 数据包被发送到本地网络的交换机。交换机会根据目标 IP 地址和 MAC 地址查找转发表,决定将数据包发送到哪个端口,以便达到目标设备。

  4. 路由选择: 数据包到达局域网的路由器(通常是网关),路由器根据自己的路由表,确定将数据包发送到公共互联网的下一跳路由器。(通常是你的网络服务提供商的路由器)

  5. NAT 转换: 在路由器将数据包发送到公共互联网之前,进行网络地址转换(NAT)。在这一步,路由器会将数据包的源 IP 地址(也就是你的主机的私有 IP 地址)转换为路由器在公共互联网上拥有的公共 IP 地址。这样做的目的是让公网服务器能够正确地将响应数据发送回路由器(即转换后的公共 IP 地址)。(公网IP在运营商手里

  6. 公网传输: 数据包经过一系列的公共互联网路由器、交换机和服务器,最终到达目标服务器。

  7. 服务器响应: 目标服务器收到请求后,会处理请求并生成响应数据。响应数据会经过相同的网络路径,通过公共互联网回到你的主机所在的网络。

  8. NAT 转换回复: 响应数据通过路由器时,路由器会将公共 IP 地址转换回私有 IP 地址,以便正确地将数据包转发给你的主机。

  9. 数据包解封: 你的主机接收到响应数据包后,根据协议和端口信息解封数据包,得到服务器的响应。

  10. 完成通信: 服务器的响应已经到达你的主机,至此,网络通信过程完成。

在整个网络通信过程中,数据包会通过多个物理硬件设备(如交换机、路由器、服务器等)进行转发和传输,通过网络地址转换(NAT)和路由选择,确保数据能够在不同网络之间正确地传递。

解决方法1:修改k8s组件重新启动

当 Kubernetes 集群的节点 IP 发生变化时,可能会导致集群中的通信和连接问题。为了解决这个问题,你需要进行以下步骤:

  1. 更新节点 IP 地址:首先,你需要登录到每个 Kubernetes 节点,并手动更新网络配置以将新的 IP 地址应用到节点上。具体的网络配置文件可能因操作系统的不同而有所不同。在大多数 Linux 发行版中,你可以编辑 /etc/network/interfaces/etc/sysconfig/network-scripts/ifcfg-<interface> 文件来更改 IP 地址。

  2. 更新 kubelet 配置:在每个节点上,你还需要更新 kubelet 的配置文件,以反映新的节点 IP 地址。kubelet 是在每个节点上运行的 Kubernetes 组件,它需要知道节点的正确 IP 地址以与其他节点和控制平面通信。

  3. 更新 etcd 配置(如果需要):如果你的 Kubernetes 集群使用外部 etcd(分离的 etcd 集群),那么你还需要更新 etcd 配置,使其使用新的节点 IP 地址。这通常涉及到更新 etcd 集群的配置文件,并重新启动 etcd。

  4. 更新其他组件配置:除了 kubelet 和 etcd,如果有其他与节点 IP 地址相关的配置(如 CoreDNS、kube-proxy 等),也需要进行相应的更新。

  5. 重新启动组件:完成以上配置更改后,你需要重新启动相关的 Kubernetes 组件,以使更改生效。

需要注意的是,修改节点 IP 地址是一项敏感的操作,并且可能导致集群中断。在进行这样的更改之前,最好在进行更改之前备份重要的数据和配置文件。

解决方法2:配置静态IP

系统网卡设置

IP地址在私有域内随便配置,子网掩码跟随IP地址,默认网关配置.1:

(在较小的网络中,经常会将子网的第一个可用地址分配给网关。假设使用了 xx.xx.xx.0/24 的子网,第一个可用地址就是 xx.xx.xx.1(网络地址(xx.xx.xx.0)用于标识整个子网,表示这是一个子网的起始地址。),而最后一个可用地址是 xx.xx.xx.254(广播地址(xx.xx.xx.255)用于将数据包广播到子网中的所有设备,所有在该子网中的设备都会接收到广播消息。),这样设计可以更好地管理 IP 地址的分配。)

在这里插入图片描述

设置虚拟机网关

点击导航栏上面的【编辑】–>【虚拟网络编辑器】,并以【管理员】的身份打开虚拟机。
在这里插入图片描述
点击【VMnet8 NAT模式】,取消使用本地使用本地dhcp服务,配置网络段(子网ip段)为xxx.xxx.xxx.xxx,点击NAT设置。

修改虚拟机网卡

vim /etc/sysconfig/network-scripts/ifcfg-ens33(网卡名称也可能是其他名称)

将BOOTPROTO字段修改为static(静态),如果ONBOOT字段为no,则将其修改为yes(开机自启)。然后添加IP地址、子网掩码、网关、以及DNS。

在这里插入图片描述
修改完成后重启网卡

systemctl restart network

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

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

相关文章

iOS - Apple开发者账户添加新测试设备

获取UUID 首先将设备连接XCode&#xff0c;打开Window -> Devices and Simulators&#xff0c;通过下方位置查看 之后登录(苹果开发者网站)[https://developer.apple.com/account/] &#xff0c;点击设备 点击加号添加新设备 填写信息之后点击Continue&#xff0c;并一路继续…

【EI/SCOPUS会议征稿】第四届机器学习与计算机应用国际学术会议(ICMLCA 2023)

ICMLCA 2023 第四届机器学习与计算机应用国际学术会议 2023 4th International Conference on Machine Learning and Computer Application 第四届机器学习与计算机应用国际学术会议(ICMLCA 2023)定于2023年10月27-29日在中国杭州隆重举行。本届会议将主要关注机器学习和计算…

iOS开发-CAShapeLayer与UIBezierPath实现微信首页的下拉菜单效果

iOS开发-CAShapeLayer与UIBezierPath实现微信首页的下拉菜单效果 之前开发中遇到需要使用实现微信首页的下拉菜单效果。用到了CAShapeLayer与UIBezierPath绘制菜单外框。 一、效果图 二、CAShapeLayer与UIBezierPath 2.1、CAShapeLayer是什么&#xff1f; CAShapeLayer继承自…

《Elasticsearch 源码解析与优化实战》第5章:选主流程

《Elasticsearch 源码解析与优化实战》第5章&#xff1a;选主流程 - 墨天轮 一、简介 Discovery 模块负责发现集群中的节点&#xff0c;以及选择主节点。ES 支持多种不同 Discovery 类型选择&#xff0c;内置的实现称为Zen Discovery ,其他的包括公有云平台亚马逊的EC2、谷歌…

shell中按照特定字符分割字符串,并且在切分后的每段内容后加上特定字符(串),然后再用特定字符拼接起来

文件中的内容&#xff0c;可以这么写&#xff1a; awk -F, -v OFS, {for(i1;i<‌NF;i){$i$i"_suffix"}}1 input.txt-F,&#xff1a;设置输入字段分隔符为逗号&#xff08;,&#xff09;&#xff0c;这将使awk按照逗号分割输入文本。-v OFS‘,’&#xff1a;设置输…

Banana Pi BPI-CM4 评测(计算模块 4),更快性能,旨在替换树莓派CM4

如果您正在寻找可靠的单板计算机来提升您的下一个项目&#xff0c;但无法找到满足您需求的 Raspberry Pi&#xff0c;请看看我是否可以提供帮助。在这篇详细的评论中&#xff0c;我将向您介绍 Banana Pi CM4&#xff0c;这是一款适用于各种任务的多功能且强大的解决方案。从经验…

GitLab开启双端认证并登录GitLab

GitLab开启双端认证并登录GitLab 1.介绍双端认证 单重认证——密码验证&#xff0c;这极其容易出现密码被盗&#xff0c;密码泄露等危险事件。 于是为了提高安全性&#xff0c;就出现了双因素认证&#xff0c;多因素认证。登录的时候不仅要输入账号和密码还需要输入一个验证码…

使用mediapipe训练手指数字识别

mediapipe手指数字识别 本文是从0开始创建一个识别手势的机器学习模型&#xff0c;为了识别手势&#xff0c;采用mediapipe模型&#xff0c;这个模型会返回手指的位置&#xff0c;之后再通过训练一个模型将这些位置分类得到手势 一、导入依赖 import cv2 import numpy as np…

MD-MTSP:成长优化算法GO求解多仓库多旅行商问题MATLAB(可更改数据集,旅行商的数量和起点)

一、成长优化算法GO 成长优化算法&#xff08;Growth Optimizer&#xff0c;GO&#xff09;由Qingke Zhang等人于2023年提出&#xff0c;该算法的设计灵感来源于个人在成长过程中的学习和反思机制。学习是个人通过从外部世界获取知识而成长的过程&#xff0c;反思是检查个体自…

excel绘制折线图或者散点图

一、背景 假如现在通过代码处理了一批数据&#xff0c;想看数据的波动情况&#xff0c;是不是还需要写个pyhon代码&#xff0c;读取文件&#xff0c;绘制曲线&#xff0c;看起来也简单&#xff0c;但是还有更简单的方法&#xff0c;就是直接生成csv文件&#xff0c;csv文件就是…

【MyBatis】MyBatis 3.5+版本报错合集(持续更新)

报错&#xff1a;BindingException 1. org.apache.ibatis.binding.BindingException: Type interface xxx is not known to the MapperRegistry. 2. org.apache.ibatis.binding.BindingException: Invalid bound statement (not found): xxx 解决方案 在pom.xml中添加如下代码…

python json保留汉字原始形式,而不是Unicode编码(Unicode码)(加ensure_ascii=False参数)

文章目录 问题解决办法测试 问题 如图&#xff0c;保存汉字的时候变成unicode码了。。。 代码是这样的&#xff1a; 解决办法 在Python中&#xff0c;可以使用json模块的ensure_ascii参数来控制是否将汉字转换为类似\u5730\u9707的Unicode编码。默认情况下&#xff0c;ensure…

SpringBoot整合第三方 Druid、MybatisPlus、Mybatis

整合第三方技术 整合JUnit Respostory 注解&#xff1a;数据类 1、导入测试对应的starter 2、测试类使用 SpringBootTest 修饰 3、使用自动装配的形式添加要测试的对象 classes的属性 其实主要找的是SpringBootApplication中的SpringBootConfiguration这个注解。也就是配置…

【Qt】QML-02:QQuickView用法

1、先看demo QtCreator自动生成的工程是使用QQmlApplicationEngine来加载qml文件&#xff0c;下面的demo将使用QQuickView来加载qml文件 #include <QGuiApplication> #include <QtQuick/QQuickView>int main(int argc, char *argv[]) {QGuiApplication app(argc,…

螺旋矩阵 II

给你一个正整数 n &#xff0c;生成一个包含 1 到 n2 所有元素&#xff0c;且元素按顺时针顺序螺旋排列的 n x n 正方形矩阵 matrix 。 示例 1&#xff1a; 输入&#xff1a;n 3 输出&#xff1a;[[1,2,3],[8,9,4],[7,6,5]] 示例 2&#xff1a; 输入&#xff1a;n 1 输出&a…

JGJ59-2011建筑施工安全检查标准

为科学评价建筑施工现场安全生产&#xff0c;预防生产安全事故的发生&#xff0c;保障施工人员的安全和健康&#xff0c;提高施工管理水平&#xff0c;实现安全检查工作的标准化&#xff0c;制定本标准。 本标准适用于房屋建筑工程施工现场安全生产的检查评定。 建筑施工安全…

7.28 作业 QT

手动完成服务器的实现&#xff0c;并具体程序要注释清楚: widget.h: #ifndef WIDGET_H #define WIDGET_H#include <QWidget> #include <QTcpServer> //服务器类 #include <QTcpSocket> //客户端类 #include <QMessageBox> //对话框类 #include …

更安全,更省心丨DolphinDB 数据库权限管理系统使用指南

在数据库产品使用过程中&#xff0c;为保证数据不被窃取、不遭破坏&#xff0c;我们需要通过用户权限来限制用户对数据库、数据表、视图等功能的操作范围&#xff0c;以保证数据库安全性。为此&#xff0c;DolphinDB 提供了具备以下主要功能的权限管理系统&#xff1a; 提供用户…

附录1-将uni-app运行到微信开发者工具

目录 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 3 微信开发者工具的安全设置 4 运行 5 修改一些配置项 1 在manifest.json写入AppID 2 配置微信开发者工具的安装路径 如果你忘了安装在哪里了&#xff0c;可以右键快捷方式看一下属性 在运行设置…

Modbus TCP使用例程

一、Modbus介绍 关于Modbus的介绍可参考前面的文章<modbus tcp协议介绍及分析>和<modbus rtu通信格式测试解析>这2篇文章。 二、Agile Modbus软件包介绍 Agile Modbus软件包的链接地址&#xff1a; https://gitee.com/RT-Thread-Mirror/agile_modbus Agile Modbus的…