A计算机上的程序与B计算机上部署的vmware上的虚拟机的程序通讯 如何配置?

环境:
在A计算机上运行着Debian11.3 Linux操作系统;在B计算机上运行着Windows10操作系统,并且安装了VMware软件,然后在VMware上创建了虚拟机C并安装了CentOS 6操作系统

需求:
现在A计算机上的程序需要同虚拟机C上的软件通讯,实现数据的交换。
已知A计算机的IP地址是10.10.4.1;B计算机的IP地址是10.10.4.4,当前A和B网络是通的。
需要如何配置虚拟机和VMware实现A计算机和C的直接通讯?

配置思路:
1、由于虚拟机C跑在B计算机上,它不是一个独立的计算机,最好不要再占用独立的4网段IP地址。它只要能和宿主机器B通讯就行,和A的通讯都通过B转发。
2、对于A计算机来说,它也只管发报文到实际的机器B上,然后通过B转发给上面的虚拟机C即可。故A不用感知到C计算机的存在。
3、通过上面的分析,我们使用宿主机和虚拟机网络的NAT模式比较合适。即:
A到C的数据包:A发到B计算机的12345端口,B收到后查询NAT转换表,转发报文到C的
12345端口即可
C到A的数据包:C发到B计算机,B转发数据包到A计算机即可

配置方法:
1、虚拟机配置成NAT转换模式。打开虚拟机->设置,选中网络适配器,然后选择自定义里的VMnet8(NAT模式),确认保存。 (VMnet8虚拟网卡默认是给NAT模式使用的)
在这里插入图片描述
此时正常的话,在虚拟机的CentOS系统里可以ping通宿主B计算机的IP:10.10.4.4,也可以ping通A计算机的IP:10.10.4.1

2、配置虚拟机的NAT转换。打开VMware的编辑->虚拟网络编辑器
[外链图片转
弹框如下,设置子网IP,默认可以设置成192.168.1.0网段,这是给虚拟机上的操作系统分配的IP地址网段。此时宿主机器内部也会分配一个此网段的IP地址,用于同虚拟机网络通讯。
在这里插入图片描述
接上图,点击NAT设置,弹框如下:
在这里插入图片描述
点击添加按钮,弹框后输入:
主机端口:12345 (宿主机器的端口号,即用于接收对端数据的端口)
类型:UDP或TCP (按实际的通讯协议选择)
虚拟机IP地址:192.168.1.128 (以当前虚拟机实际分配的IP地址填写)
虚拟机端口:12345 (虚拟机上的接收程序监听的实际端口,建议同主机端口一致,以免忘记)
然后确认保存即可。

最近更新

  1. TCP协议是安全的吗?

    2024-05-14 04:28:04       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-05-14 04:28:04       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-05-14 04:28:04       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-05-14 04:28:04       18 阅读

热门阅读

  1. c++ 读写锁简单试验

    2024-05-14 04:28:04       11 阅读
  2. 数学符号大全

    2024-05-14 04:28:04       14 阅读
  3. 几种ssh自动登录服务器的方法

    2024-05-14 04:28:04       9 阅读
  4. Linux系统日志每日备份脚本

    2024-05-14 04:28:04       9 阅读
  5. getter和setter方法的优缺点

    2024-05-14 04:28:04       12 阅读
  6. leetcode 918.环形子数组的最大和

    2024-05-14 04:28:04       10 阅读
  7. JanusGraph Tinkerpop

    2024-05-14 04:28:04       9 阅读
  8. 船舶检测数据集VOC+YOLO格式7000张6类别

    2024-05-14 04:28:04       11 阅读
  9. 【GoLang基础】panic和recover有什么作用?

    2024-05-14 04:28:04       10 阅读
  10. c++ string容器

    2024-05-14 04:28:04       10 阅读