VMware虚拟机里调试UDP网络程序,也许需要设置端口映射

本文介绍如何在VMware虚拟机中通过NAT设置端口映射,使得公网能够访问虚拟机内的服务。具体步骤包括打开虚拟网络编辑器、配置NAT设置以及开放宿主机防火墙。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


VMware虚拟机里调试UDP网络程序,也许需要设置端口映射



具体参考:

来源  http://jingyan.baidu.com/article/c35dbcb0d1ff248916fcbc0d.html



VMware NAT做端口映射



一些情况下,我们可能在VMware虚拟机中的安装了一些应用,然后需要能在公网中访问它。此时,VMware为我们提供了很好的解决方案。

工具/原料

  • VMware workstation
  • 虚拟机IP,192.168.25.100,这个可以用ifconfig命令查看

方法/步骤

  1. 点击”编辑“->”虚拟网络编辑器“,如图。

    VMware NAT做端口映射
  2. 选择”NAT“,然后点击”NAT设置“,如图。

    VMware NAT做端口映射
  3. 接下来点击”添加“。

    VMware NAT做端口映射
  4. 在弹出来的界面中分别填入主机端口,虚拟机IP,虚拟机端口,如图。

    VMware NAT做端口映射
  5. 确定后,我们就将虚拟机中的80号端口映射到宿主机的8086号端口了,如图。以后我们可以在共网上访问本机的8086号端口来访问虚拟机中的80号端口的服务了。

    VMware NAT做端口映射
  6. 不过,这样可能还不行。你需要在自己的宿主机中进行防火墙的设置,开放8086号端口,然后再用telnet 命令检测8086好端口是否开放。具体的操作见我的这篇文章。http://jingyan.baidu.com/article/e9fb46e19ff8137521f7660c.html


### VMware 端口映射配置教程 为了实现在 VMware 中进行端口映射以支持局域网通信,可以按照以下方法操作: #### 1. **确认虚拟机网络模式** 确保虚拟机网络适配器设置为 NAT 模式。这可以通过 VMware虚拟机设置界面完成,在网络适配器选项中选择 NAT。 --- #### 2. **进入 VMware 虚拟网络编辑器** 打开 VMware 后,点击菜单栏中的 `编辑` -> `虚拟网络编辑器`。在此窗口中,找到并选择当前正在使用的 NAT 网络(通常是 VMnet8),然后点击右侧的 `NAT 设置` 按钮[^1]。 --- #### 3. **添加端口转发规则** 在弹出的 NAT 设置窗口中,切换到 `端口转发` 页面。点击 `添加` 按钮来创建一个新的端口转发规则: - 主机 IP 地址:留空表示监听所有接口。 - 主机端口:这是外部设备用来访问虚拟机服务的入口端口号。 - 类型:选择 TCP 或 UDP,取决于目标应用程序协议。 - 虚拟机 IP 地址:填写虚拟机的实际 IP 地址(例如 `192.168.88.111`)。 - 虚拟机端口:指定虚拟机内部的服务端口号(例如达梦数据库默认使用的是 `5236`)。 完成后保存设置[^1]。 --- #### 4. **修改 vmnetnat.conf 文件(可选方式)** 如果希望通过手动编辑配置文件的方式实现端口映射,则需定位至 VMware 的 NAT 配置文件路径,通常位于: ``` C:\ProgramData\VMware\vmnetnat.conf ``` 打开该文件后,查找 `[incomingtcp]` 部分,并按如下格式新增一条记录: ```plaintext <主机端口> = <虚拟机IP>:<虚拟机端口> ``` 例如,要将宿主机的 `1020` 端口映射虚拟机的 `5236` 端口,应写成: ```plaintext 1020 = 192.168.88.111:5236 ``` 保存文件后重启 VMware Services 来使更改生效[^2]。 --- #### 5. **关闭防火墙** 无论是 Windows 宿主机还是 Linux/Windows 虚拟机,都需要确保其各自的防火墙不会阻止新开放的端口。建议临时禁用防火墙测试连通性,或者仅允许特定端口通过防火墙规则[^1]。 --- #### 6. **验证效果** 假设 WiFi 接入点分配给宿主机的 IP 是 `192.168.7.20`,那么其他局域网内的计算机可通过 `<宿主机IP>:<主机端口>` 访问虚拟机上的服务。例如: ```bash telnet 192.168.7.20 1020 ``` 此命令应该能够成功连接到运行在虚拟机上的达梦数据库实例。 --- ### 示例代码 以下是用于测试连接的一个简单 Python 脚本示例: ```python import socket def test_connection(host, port): try: sock = socket.create_connection((host, port), timeout=5) print(f"Successfully connected to {host}:{port}") sock.close() except Exception as e: print(f"Failed to connect to {host}:{port}. Error: {e}") if __name__ == "__main__": test_connection("192.168.7.20", 1020) ``` ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值