VMware端口转发

title: VMware端口转发
date: 2015-11-15 22:14:30
categories: Linux
tags: Linux


因为在ubuntu中使用虚拟机搭建了一个web服务器,在主机上可以使用host-only访问,但是其它的电脑无法访问,就想到了端口转发功能。
在linux 下,vmware的网络编辑没有这个设置,需要在配置文件中设置。
配置文件位于: /etc/vmware/vmnet8/nat/nat.conf
首先备份这个文件,免得设置错误,无法上网。

在文件后面可以看到
[incomingtcp] //这里是TCP连接的转发
# Use these with care - anyone can enter into your VM through these…
# The format and example are as follows:
# = <VM’s IP address>:<VM’s port number>
#8080 = 172.16.3.128:80
[incomingudp] //这里是UDP连接的转发
# UDP port forwarding example
#6000 = 172.16.3.0:6001
举个例子:
要转发80端口,可以在tcp下设置为
8080 = 172.16.3.128:80
这里8080是物理机的端口,ip是虚拟机的ip,80是虚拟机的端口。
设置好后,要重启服务。

/usr/bin/vmware-networks stop
/usr/bin/vmware-networks start
### 配置路由器端口转发以访问VMware虚拟机 为了实现通过外部网络访问运行在VMware虚拟机中的服务,需要完成以下几个方面的配置: #### 1. **确认虚拟机的网络模式** 如果希望从互联网访问虚拟机,则建议将虚拟机的网络模式设置为NAT或桥接模式。 - 在NAT模式下,可以通过端口映射来让外界访问虚拟机的服务[^4]。 - 在桥接模式下,虚拟机会获得与宿主机同一网段的IP地址,可以直接被局域网内的设备访问[^3]。 #### 2. **配置虚拟机内部的防火墙** 确保虚拟机操作系统中的防火墙允许所需的端口通信。例如,在Linux中可以使用`iptables`或`firewalld`工具开放特定端口;而在Windows中则需调整其内置防火墙规则[^2]。 #### 3. **设置VMware端口映射(针对NAT模式)** 当虚拟机采用NAT模式时,需要利用VMware自带的“虚拟网络编辑器”进行端口映射: - 打开VMware软件,进入菜单栏中的【编辑】->【虚拟网络编辑器】。 - 选择对应的NAT适配器(通常是VMnet8),点击右侧的【NAT设置】按钮。 - 添加新的端口转发条目,指定源端口号(即路由器暴露给外网的端口)、目标IP地址(虚拟机的私有IP)以及目标端口号(虚拟机监听的实际端口)。例如,如果想把来自公网的流量导向至虚拟机上的HTTP服务,可填写如下参数: ```plaintext 协议: TCP 外部端口: 8080 内部IP: 192.168.x.y (虚拟机IP) 内部端口: 80 ``` #### 4. **配置路由器端口转发** 登录到家庭/企业路由器管理界面,找到“端口转发”或者“虚拟服务器”的选项页面,新增一条记录指向宿主机的真实IP地址及其对应端口。假设前面已经设置了VMware NAT下的端口映射规则,这里只需将公网上请求的数据包重定向到宿主机即可。具体步骤包括但不限于: - 输入WAN侧接收数据的目标端口号; - 填写LAN侧宿主机固定分配的本地IP地址; - 设定协议类型(TCP、UDP 或两者皆支持); - 明确内网最终目的地的具体端口号。 #### 示例代码片段:验证端口连通性测试脚本 以下是用于检测某特定端口是否成功开启的小型Python程序: ```python import socket def check_port(ip, port): sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM) result = sock.connect_ex((ip, port)) if result == 0: print(f"Port {port} is open on {ip}.") else: print(f"Port {port} is closed on {ip}.") sock.close() if __name__ == "__main__": host_ip = 'your_host_or_vm_ip_here' target_port = your_target_port_number_here check_port(host_ip, target_port) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值