如何使用 VM 虚拟机端口映射实现数据转发

本文介绍了如何在VMware虚拟机中利用端口映射解决NAT模式下的网络访问问题。通过设置虚拟网络编辑器,添加端口转发规则,实现了物理机与虚拟机之间的数据通讯,具体步骤包括查看虚拟机IP,提权,进入NAT设置,添加端口映射,并验证连通性。适用于需要在虚拟环境中进行环境隔离和管理的场景。

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

随着虚拟化技术的应用,很多环境配置都是在虚拟机中进行的,比如前几天我搭建的 Git 服务器,就是在一个物理机的虚拟机上搭建的,一方面可以做环境隔离,另一方面也方便管理,但是这样会带来另一个新的问题:网络访问

我的多个物理机的网段是相通的,但是虚拟机和其所在物理机使用的是 NAT 模式,所以虚拟机和非其所在的物理机没法直接连通,可以使用如下命令确认下:

> telnet 192.168.252.129 22
正在连接192.168.252.129...无法打开到主机的连接。 在端口 22: 连接失败

下面要介绍的就是如果如何通过 VMware 自身提供的端口转发机制来实现通讯(多谢珂仔的技术支持)。

环境

物理机:10.13.11.12
物理机:10.13.11.13
虚拟机 IP:搭建在 10.13.11.12 上,IP 为 192.168.252.129
虚拟机:VMware 14

开始设置

查看虚拟机 IP

需要先查看当前的虚拟机 IP,因为后面映射的时候,需要填写 IP 和端口信息:

### 配置 Ubuntu 虚拟机中的端口转发 #### 在 VMware 中配置端口转发 对于 VMware 下的 CentOS 或者其他 Linux 发行版,包括 Ubuntu 的虚拟机,如果希望实现主机与虚拟机之间的 SSH 访问或其他服务访问,则可以通过配置 NAT 环境下的端口转发来达成目标[^3]。 具体操作如下: 1. 打开 VMware 主界面内的「编辑」菜单项; 2. 选择「虚拟网络编辑器」选项; 3. 切换到想要修改的 VMnet(通常是 VMnet8 对应的是 NAT 模式); 4. 前往「NAT 设置」页面点击「高级」按钮; 5. 添加新的端口转发条目,指定外部 IP 地址为 `任意`,协议类型通常选 TCP 协议,并填写好宿主机开放端口号以及对应虚拟机内部的服务监听端口和 IP 地址; ```bash # 示例命令用于测试SSH连接是否成功建立 ssh user@localhost -p <host_port> ``` #### 在 VirtualBox 中配置端口转发使用 VirtualBox 创建基于 VMDK 文件启动的 Ubuntu 实例时,同样支持通过其自带功能完成端口映射工作。针对文中提到的情况 —— 「虚拟机能 Ping 通物理机而反向不通」的问题,可通过设置端口转发解决远程登录需求[^2]。 以下是具体的步骤说明: 1. 启动 VirtualBox 并加载对应的 Ubuntu 客户操作系统实例; 2. 寻找顶部工具栏里的「设备 (Devices)` -> `网络(Network) -> 网络设置(Network Settings)`路径进入网卡属性对话框; 3. 将适配器模式调整成 NAT 类型; 4. 移步至「高级(Advanced)`->`端口转发(Port Forwarding)`子面板; 5. 新建一条规则,比如命名为 `Rule_01`,设定本地IP留空表示全部接口均生效,主机端口可自定义但要避开冲突,来宾(Guest)部分则依据实际应用情况输入相应数值; ```bash # 测试端口转发效果的小脚本 nc -zv localhost <forwarded_host_port> && echo "Port forwarding works!" ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值