【二】Ubuntu24虚拟机在Mac OS的VMware Fusion下无法联网问题

news2024/11/26 20:22:08

文章目录

  • 1.环境背景
  • 2. 需求背景
  • 3. 解决方法
    • 3.1 在mac的终端查看虚拟机NAT网络
    • 3.2 查看unbuntu节点2的网络配置
    • 3.3 问题定位与解决
      • 3.3.1 检查是否有冲突
      • 3.3.2 冲突解决方法
  • 4. 总结
    • 4.1 NAT 网关的原理
    • 4.2 VMware Fusion 的 NAT 模式
    • 4.3 为什么网关冲突会引起问题
    • 4.4 理解配置冲突
    • 4.5 解决方案
    • 4.6 知识点总结

1.环境背景

苹果mac mini 物理机 : MAC OS 14.4.1 (23E224)
虚拟机平台 : VMware Fusion 社区版 版本 13.5.0 (22583790)
虚拟机操作系统 : ubuntu-24.04-live-server-arm64

2. 需求背景

在ubuntu分布式的虚拟机安装中,完成了节点1的安装,并且节点1成功ping通互联网。

节点1IP:172.16.167.131
节点2IP:172.16.167.132

在安装节点2时,选择直接复制节点1的vmware虚拟机文件,并且修改IP配置文件的方案。
image.png
最后发现节点2始终无法正常联网。
image.png
节点1已经安装ping工具,可以请求到节点2的网络,但节点2在安装ping工具时一直报网络的问题。
image.png
问题为节点2无法联网、组网。

3. 解决方法

在尝试了大多数分布式虚拟机的配置方法后,无法联网的问题仍然存在,随即检查网络IP配置。

3.1 在mac的终端查看虚拟机NAT网络

打开mac的终端,输入:

cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

回显如下:
image.png
可见这是 VMware Fusion 中虚拟网络 VMnet8 的 NAT 配置文件内容:

# NAT gateway address
ip = 172.16.167.2
netmask = 255.255.255.0

这里指定了 NAT 网关的地址为 172.16.167.2,子网掩码为 255.255.255.0

3.2 查看unbuntu节点2的网络配置

切换到该目录,打开yaml配置文件:

cd /etc/netplan

image.png
我在Ubuntu中的网络配置如下:

IP地址:172.16.167.132/24
网关:172.16.167.1
DNS服务器:8.8.8.8, 8.8.4.4

3.3 问题定位与解决

3.3.1 检查是否有冲突

  1. IP地址范围: 我的Ubuntu机器的IP地址 172.16.167.132 在 172.16.167.0/24 网络范围内,没有冲突。
  2. 网关: Ubuntu配置的网关是 172.16.167.1,而VMware Fusion的NAT网关是 172.16.167.2,这可能会引起问题,因为网关应该是同一个IP地址
  3. 子网掩码: 两者的子网掩码都是 255.255.255.0,没有问题。

3.3.2 冲突解决方法

为了确保网络连接正常,将Ubuntu中的网关配置修改为VMware Fusion NAT网关的地址,即 172.16.167.2。修改后的配置如下:
image.png
由于gateway4已经被弃用,所以使用新的路由配置方法,配置新的网关地址后,输入以下命令应用:

sudo netplan apply

再一次更新apt:
sudo apt update
image.png
成功安装ping工具:
sudo apt install iputils-ping
image.png
测试网络联通情况,先ping节点1,再ping谷歌,均成功:
image.png

4. 总结

4.1 NAT 网关的原理

网络地址转换 (NAT) 是一种允许多台设备通过单一的公共IP地址访问互联网的技术。在 NAT 中,有一个专门的设备或软件,通常称为 NAT 网关,负责将内部网络(私有IP地址)的流量转换为公共IP地址。NAT 网关通常有两个主要功能:

  1. 地址转换: 将内部私有IP地址转换为公共IP地址。
  2. 端口映射: 将内部设备的端口号与公共IP地址的端口号进行映射,以便正确路由流量。

4.2 VMware Fusion 的 NAT 模式

在 VMware Fusion 中,NAT 模式允许虚拟机通过主机的网络连接访问外部网络。VMware Fusion 创建一个虚拟的NAT网关,将虚拟机的流量转换为主机的IP地址。VMnet8 是一个常用的虚拟网络,提供 NAT 服务。

  • VMnet8 的 NAT 网关地址: 这是虚拟网络中的网关,这里配置为 172.16.167.2 的地址。
  • 虚拟机的默认网关: 虚拟机的网络流量需要通过这个网关才能到达外部网络。

4.3 为什么网关冲突会引起问题

在网络中,默认网关是指网络流量无法找到目标地址时应该发送到的路由器或网关设备。如果虚拟机配置了错误的网关地址,会导致以下问题:

  1. 流量无法路由到正确的出口: 如果网关配置错误,虚拟机的流量会被发送到错误的设备或根本无法发送出去,导致无法访问外部网络。
  2. 地址解析冲突: NAT 网关负责地址转换,如果虚拟机的网关地址与实际的NAT网关地址不一致,NAT 网关无法正确转换和路由流量。

4.4 理解配置冲突

在本次冲突的情况中:

  • **Ubuntu的网关配置为 **172.16.167.1
  • **VMware Fusion的NAT网关配置为 **172.16.167.2

冲突原因:

  • 虚拟机(Ubuntu)发送流量时,会将流量发送到 172.16.167.1 这个网关,但实际的NAT网关是 172.16.167.2,因此 172.16.167.1 并不具备将流量转发到外部网络的功能。
  • 正确配置应确保虚拟机的网关地址与实际的NAT网关地址一致,以确保所有网络流量能够正确路由和转换。

4.5 解决方案

即为将Ubuntu虚拟机的网关配置为与VMware Fusion的NAT网关一致,我采用172.16.167.2。在虚拟机集群搭建时,对于复制移动虚拟机文件的方式应该格外注意在网络IP的配置是否正确。

4.6 知识点总结

NAT 网关是用于将私有网络的流量转换为公共网络流量的关键设备。正确配置网关地址确保网络流量能够通过NAT网关正确路由到外部网络。在虚拟化环境中,如VMware Fusion,虚拟机的网关必须与虚拟化软件提供的NAT网关一致,以确保网络连接正常。

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

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

相关文章

龙迅#LT8642UXE适用于四路HDMI转两路HDMI切换应用功能,分辨率高达4K60HZ!

1. 概述 LT8642UXE HD-DVI2.0/1.4 交换机具有符合 HD-DVI2.0/1.4 规范的 4:2 交换机、最大 6Gbps 高速数据速率、自适应均衡接收输入和预加重 TX 输出,以支持长电缆应用。 LT8642UXE HD-DVI2.0/1.4 开关自动检测电缆损耗,并自适应优化均衡设置…

web Worker学习笔记 | 浏览器切换标签,定时器失效的解决办法

文章目录 web Workerweb Worker介绍 - 多线程解决方案浏览器多进程架构 web workers 的使用关闭worker引用其他js文件 浏览器切换标签,定时器失效的解决办法窗口可见性 API解决定时器失效的方案 web Worker web Worker介绍 - 多线程解决方案 Web Workers 是Html5提…

《中国品牌网》揭秘格行品牌崛起之路:如何从混乱市场中杀出重围,领跑未来?

在随身WiFi行业乱象丛生的背景下,格行品牌凭借其独特的经营理念和长期主义的精神,逐渐崭露头角,成为行业的领跑者。近日,《中国品牌网》记者专访了格行品牌的创始人刘永先先生,就他的经营理念、市场策略以及未来展望进…

TCP的pop网络模式

TCP的pop网络模式 1、tcp连接的状态有以下11种 CLOSED:关闭状态LISTEN:服务端状态,等待客户端发起连接请求SYN_SENT:客户端已发送同步连接请求,等待服务端相应SYN_RECEIVED:服务器收到客户端的SYN请请求&…

sql注入问题批量处理

问题:SQL注入修改,历史代码全是${};无法修改的比如表名,列名,动态排序之类的不改,其他的都要修改完成 背景:新公司第一个任务就是SQL注入的修改,历史sql全部都是${},一个个调整不太合适只能批量…

JDBC 学习笔记+代码整理

Tip Idea自带可视界面👉MySQL 图形化界面-CSDN博客 Idea2022无add Framework support选项👉最新版IDEA:Add web Framework Support步骤/构建JavaWeb项目步骤_idea add framework support-CSDN博客 基本步骤 1.加载驱动包Driver 2.建立与数据库的连接C…

[TensorFlow-Lite][深度学习]【快速简介-1】

前言: 很多场景下面我们需要需要把我们的深度学习模型部署到Android,IOS 手机上面. Google 通过TensorFlow Lite 提供了对应的解决方案. 目录: 端侧部署优点 硬件支持 性能 应用案例 一 端侧部署优点 1; 很多场景下面: 无网络,数据无法…

维护和管理LDAP之OpenDJ

目录 基本介绍 服务专有名词 安装 命令行工具 密码管理 重置管理员密码 管理服务器进程 管理索引 如何搜索 管理索引 管理目录数据 测试数据 导出数据 导入数据 LDIF文件数据查看和比较 数据存储-Backends 配置连接 开启 HTTP/HTTPS连接 使用 REST访问 -open…

如何学习和提升SQL

资料来源于腾讯技术直播,只作为学习记录,如有侵权,请联系作者进行删除

文献阅读:通过高通量原位成对测序实现亚细胞分辨率的空间多组学

文献介绍 文献题目: Spatial multi-omics at subcellular resolution via high-throughput in situ pairwise sequencing 研究团队: 曹罡(深圳理工大学)、戴金霞(华中农业大学) 发表时间: 2024…

【算法 - 哈希表】两数之和

这里写自定义目录标题 两数之和题目解析思路解法一 :暴力枚举 依次遍历解法二 :使用哈希表来做优化 核心逻辑为什么之前的暴力枚举策略不太好用了?所以,这就是 这道题选择 固定一个数,再与其前面的数逐一对比完后&…

【Portswigger 学院】文件上传

教程和靶场来源于 Burpsuite 的官网 Portswigger:File upload vulnerabilities - PortSwigger 原理与危害 很多网站都有文件上传的功能,比如在个人信息页面允许用户上传图片作为头像。如果网站应用程序对用户上传的文件没有针对文件名、文件类型、文件内…

2007年下半年软件设计师【下午题】试题及答案

文章目录 2007年下半年软件设计师下午题--试题2007年下半年软件设计师下午题--答案2007年下半年软件设计师下午题–试题

基于图像处理的滑块验证码匹配技术

滑块验证码是一种常见的验证码形式,通过拖动滑块与背景图像中的缺口进行匹配,验证用户是否为真人。本文将详细介绍基于图像处理的滑块验证码匹配技术,并提供优化代码以提高滑块位置偏移量的准确度,尤其是在背景图滑块阴影较浅的情…

C++入门 容器适配器 / stack queue模拟实现

目录 容器适配器 deque的原理介绍 stack模拟实现 queue模拟实现 priority_queue模拟实现 仿函数 容器适配器 适配器是一种设计模式(设计模式是一套被反复使用的、多数人知晓的、经过分类编目的、代码设计经验的总 结),该种模式是将一个类的接口转换成客户希望…

Rufus 制作启动盘 | 便携的工作空间

唠唠闲话 最近服务器硬盘故障多,在修复过程中,学习了一些操作,这里做个记录。本期主要介绍 U盘启动盘的制作,以及持久化存储。 U 盘启动盘 镜像选择 Ubuntu 的版本命名遵循 “Adjective Animal” 的模式,即 “形容…

数据驱动制造业升级,免费可视化工具成关键

制造业作为国民经济的支柱产业,正经历着前所未有的变革。数据,作为这场变革的核心驱动力,其重要性不言而喻。然而,面对海量且复杂的数据,如何高效、直观地将其转化为有价值的洞察,成为了众多制造企业亟待解…

C++ 栈-队列-优先级队列

目录 1 栈 2 队列 3 deque 介绍 4 优先级队列 5 反向迭代器 栈也是我们在C语言就模拟实现过的一种数据结构,在C中,栈其实和我们前面模拟实现过的string、vector等容器有一点区别,站起是不是容器,而是一种容器适配器,我…

【前端项目笔记】9 数据报表

数据报表 效果展示: 在开发代码之前新建分支 git checkout -b report 新建分支report git branch 查看分支 git push -u origin report 将本地report分支推送到云端origin并命名为report 通过路由的形式将数据报表加载到页面中 渲染数据报表基本布局 面包屑导航…

总结一下 .NET FrameWork 和 .NET Core 创建的项目的不同点

前言 从 Visual Studio 2022 开始,微软开始淡化 .NET Framework 的概念,在项目向导中,只有使用带 “.NET Framework” 的项目模板创建的才是 .NET Framework 项目,使用其他模板创建的都是 .NET Core 项目 比如,如果你…