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

【DIY小记】VMWare设置主机连接到的Ubuntu虚拟机的网络端口

很多同学在自己机器上玩开发的时候,都会用到VMWareVirtualBox之类的虚拟OS容器装一个带GUILinux OS,然后在里面另外安装开发工具做开发。这里面遇到的最经典问题,就是比如我在虚拟机里面起了个MySQLRedis之类的服务,如果DB的客户端/GUI工具是放在主机里面,不在虚拟机里,那怎么连进去?这个问题,本文提供一种解决方案。

本文采取的虚拟机环境如下:

  • 主机:Win11
  • 虚拟机容器:VMWare Workstation 16
  • 虚拟机:Ubuntu 22.04

首先需要了解到,VMWare场景下,我们通常用NAT模式新开一个网段来管理虚拟机的网络配置,而虚拟机内部,假设使用IPV4,会默认采取DHCP机制,自动设置一个IP跟相应的网络配置。相关资料可以看这几篇文档:

  • 网络中的NAT模式
  • DHCP百度百科

而为了让我们主机能连到虚拟机内部,实际上是满足下面两个条件之一即可:

  • 主机知道虚拟机的IP,能够直连虚拟机IP
  • 主机端口和某个IP的虚拟机端口存在转发映射关系

在本文的场景下,解决方案是第二种。具体配置如下:

首先,在VMWare编辑菜单打开虚拟网络编辑器,选中用于管理你虚拟机网络的一组虚拟网络(比如是NAT模式,名字是VMnet8这种)。如果你不确定你的虚拟机是不是NAT模式,可以在虚拟机自己的设置里查看硬件 -> 网络适配器项目,看是不是NAT模式

选中NAT模式虚拟网络配置之后,点击NAT设置按钮,即可进入到端口转发映射设置。

在这里插入图片描述

在其中,我们可以看到NAT网络的子网IP子网掩码网关IP,这些信息都会在后续的虚拟机内部设置里用上,而再下面的端口转发部分,就是需要我们手动配置的内容。其中包括几项:

  • 虚拟机IP地址:虚拟机的IP+端口
  • 类型:TCP/UDP,标识什么类型的数据包会被转发
  • 主机端口:选定一个主机端口,这样发到主机端口的指定类型的数据包会被转发到对应虚拟机IP地址

比如虚拟机里面MySQL开在3306端口,那么虚拟机IP地址一项就填虚拟机IP:3306,类型填TCP,主机端口填一个自己喜欢的即可。

那么这里就遗留另外一个问题:虚拟机IP怎么填?这里的话,以Ubuntu为例,由于默认是用DHCP机制分配IP,因此IP可能不是固定的。所以我们要做的是,在虚拟机中去设置固定一个IP,然后把这个IP回填到虚拟机IP地址一项当中。

在此之前,首先回到VMWare虚拟网络编辑器当中,选中刚才NAT的一组虚拟网络,点击DHCP设置按钮,我们可以看到网络的配置跟DHCP的分配地址:
在这里插入图片描述

这里我们只需要记住的信息是起始IP地址结束IP地址。我们后面设置虚拟机固定的IP地址时,需要在这个范围之内。

然后进入虚拟机,以笔者用的Ubuntu 22.04为例,右上角开关按钮点击下拉Settings一栏,选择Network页签,然后选中当前连接到的网络点设置图标进入设置界面。
在这里插入图片描述

由于先前设置的网络IP都是IPV4的,因此在网络选项当中,选中IPV4页签,即可开始编辑。编辑的内容如下所示:
在这里插入图片描述

这里需要编辑几个点:

  • IPV4 Method:选择Manual,表示手动配置
  • Addresses:地址,这里新建一行
    • Address:网段分配的IP地址,也就是我们所要设置的虚拟机固定IP,参考上面DHCP设置里的网段范围自选一个
    • Netmask:子网掩码,在上面NAT设置当中有相关信息
    • Gateway:网关IP,在上面NAT设置当中有相关信息
  • DNS:DNS的IP,这个场景填写跟Gateway一样的即可

弄好之后Apply,然后重启虚拟机,就可以试试看行不行了。注意,主机一边,需要发请求到先前端口转发设置里的主机端口,才能够生效!

相关文章:

  • Spring Boot 集成Quartz
  • 【Java学习】JUC并发编程
  • 【入门AUTOSAR网络管理测试】CANoe测试T_STARTx_AppFrame时间
  • Apache Shiro身份验证绕过(CVE-2023-22602)
  • Cadence PCB仿真 使用 Allegro PCB SI 为电源网络分配电压并选择仿真的电源网络的方法图文教程
  • (考研湖科大教书匠计算机网络)第三章数据链路层-第六节媒体接入控制3:载波监听多址接入-碰撞避免(CSMA-CA)协议
  • ocs系统介绍
  • JVM运行时数据区
  • PMP考试答题技巧及注意事项
  • SSRF盲打 Collaborator everywhere
  • 49_逻辑漏洞
  • Spring Batch 作业启动方式
  • C++11 异常
  • R6220关于breed刷机,breed-2022-07-24 r1416
  • 【webpack】前端工程化与webpack
  • 基于linux5.15.5的IMX 参考手册 --- 16
  • node\npm问题
  • How to debug LLVM by VS2019 on Windows
  • OkHttp相关知识(三)
  • gplearn原理解析及参数分析
  • 电加热油锅炉工作原理_电加热导油
  • 大型电蒸汽锅炉_工业电阻炉
  • 燃气蒸汽锅炉的分类_大连生物质蒸汽锅炉
  • 天津市维修锅炉_锅炉汽化处理方法
  • 蒸汽汽锅炉厂家_延安锅炉厂家
  • 山西热水锅炉厂家_酒店热水 锅炉
  • 蒸汽锅炉生产厂家_燃油蒸汽发生器
  • 燃煤锅炉烧热水_张家口 淘汰取缔燃煤锅炉
  • 生物质锅炉_炉
  • 锅炉天然气_天燃气热风炉