前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【二】Ubuntu24虚拟机在Mac OS的VMware Fusion下无法联网问题

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

作者头像
火之高兴
发布2024-07-25 15:27:08
2130
发布2024-07-25 15:27:08
举报

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通互联网。

代码语言:javascript
复制
节点1IP:172.16.167.131
节点2IP:172.16.167.132

在安装节点2时,选择直接复制节点1的vmware虚拟机文件,并且修改IP配置文件的方案。

最后发现节点2始终无法正常联网。

image.png
image.png

节点1已经安装ping工具,可以请求到节点2的网络,但节点2在安装ping工具时一直报网络的问题。

image.png
image.png

问题为节点2无法联网、组网。

3. 解决方法

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

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

打开mac的终端,输入:

代码语言:javascript
复制
cat /Library/Preferences/VMware\ Fusion/vmnet8/nat.conf

回显如下:

image.png
image.png

可见这是 VMware Fusion 中虚拟网络 VMnet8 的 NAT 配置文件内容:

代码语言:javascript
复制
# 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配置文件:

代码语言:javascript
复制
cd /etc/netplan
image.png
image.png

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

代码语言:javascript
复制
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
image.png

由于gateway4已经被弃用,所以使用新的路由配置方法,配置新的网关地址后,输入以下命令应用:

代码语言:javascript
复制
sudo netplan apply

再一次更新apt: sudo apt update

image.png
image.png

成功安装ping工具: sudo apt install iputils-ping

image.png
image.png

测试网络联通情况,先ping节点1,再ping谷歌,均成功:

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网关一致,以确保网络连接正常。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024-07-25,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 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 知识点总结
                  相关产品与服务
                  NAT 网关
                  NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
                  领券
                  问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档