很多同学在自己机器上玩开发的时候,都会用到VMWare、VirtualBox之类的虚拟OS容器装一个带GUI的Linux OS,然后在里面另外安装开发工具做开发。这里面遇到的最经典问题,就是比如我在虚拟机里面起了个MySQL、Redis之类的服务,如果DB的客户端/GUI工具是放在主机里面,不在虚拟机里,那怎么连进去?这个问题,本文提供一种解决方案。
本文采取的虚拟机环境如下:
- 主机:Win11
- 虚拟机容器:VMWare Workstation 16
- 虚拟机:Ubuntu 22.04
首先需要了解到,VMWare场景下,我们通常用NAT模式新开一个网段来管理虚拟机的网络配置,而虚拟机内部,假设使用IPV4,会默认采取DHCP机制,自动设置一个IP跟相应的网络配置。相关资料可以看这几篇文档:
- 网络中的NAT模式
- DHCP百度百科
而为了让我们主机能连到虚拟机内部,实际上是满足下面两个条件之一即可: