外网(公网)访问VMware workstation 虚拟机内web网站的配置方法---端口转发总是不成功的原因

问题背景:客户提供的服务器操作系统配置web程序时,总是显示莫名其妙的问题,发现是高版本操作系统的.net库已经对低版本.net库进行了大范围修订,导致在安全检测上、软件代码规范上更加苛刻,最终导致部署不成功。于是想到了在服务器操作系统中安装虚拟机,利用虚拟机来部署该web程序。在虚拟机部署成功后,需要配置NAT端口转发,目的是用户可以通过服务器(宿主机)的公网地址来访问虚拟机里的web应用程序。

原本通过服务器(宿主机)的公网地址来访问虚拟机里的web应用程序的方式很简单,配置NAT地址转发(端口映射),问题就解决。实际过程中,利用手边的Vmware wokestation 12 pro进行部署,发现端口转发配置后,在宿主机使用宿主机公网IP地址偶尔能正常访问一下虚拟机内的web程序,又是关防火墙、又是重启服务、又是确认端口是否占用(更换端口),均未解决。

休息一晚上后,突然想起是不是虚拟机软件版本的问题?第二天,更换了Vmware wokestation 16 pro,配置完端口转发后,web应用程序访问正常。

在问题解决过程中,相继搜索了“解决VMware NAT service服务无法启动问题”、"外网访问workstation 虚拟机"、“vmware worksation nat服务中包含端口映射就会启动失败的问题”,发现很多人写的很复杂,于是将这个过程写一下。

配置的关键就两条:NAT配置、端口转发。

1、首先确认虚拟机内的网站http://localhost:8080可以正常访问。

2、主机能够ping到虚拟机

虚拟机的IP地址是:

检查宿主机能够正确Ping到虚拟机。

如果ping不通,则确认把宿主机和虚拟机里的防火墙关闭掉。如下图:

防火墙关闭后,就能够Ping通了。

3、虚拟机的网络配置成NAT方式,

选择创建的虚拟机,确定其网络适配器是使用NAT方式。

4、配置虚拟机的端口转发

选择“编辑”-虚拟网络编辑器,选择VMnet 8  NAT 模式,内部虚拟机地址要和这个NAT模式的网络段一致,比如本虚拟机的地址为192.168.88.128。

选择下面框的NAT设置:

在“端口转发”栏目,点击“添加”

,其中主机端口就是宿主机的端口,一般就是80,但防止80端口被占用,可以改成其他端口。HTTP网站使用TCP协议。

将宿主机的端口转发到虚拟机的端口,所以虚拟机IP地址为:192.168.88.128(你虚拟机里的Ip地址),虚拟机端口就是虚拟机里网站的端口:如8080。

配置完成后,如下图:

点击确定后,虚拟机会重新卸载和安装网卡等虚拟设备,安装完成后,端口转发就完成了。

这个时候,通过网络访问宿主机的ip地址+端口号,就可以访问虚拟机里的网站了。

如:我本地宿主机的IP地址为192.168.3.18。

访问我们上面创建的端口转发:

注意:

如果配置了端口转发,访问的时候第一次能访问,很快就无法访问,可以查看服务中VMware NAT Service是否启动,该服务是提供NAT端口转发的核心服务,该服务经常会被意外停止,如果没有启动,就手动启动一下,如果一访问转发端口就停止,就说明该服务异常,需要更换新的软件版本。

        目前发现Vmware wokestation 12 pro存在以上问题,更换目前发现Vmware wokestation 16 pro以后,端口转发正常,没有出现如上服务无法启动的问题。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/425378.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

TS - tsconfig.json 和 tsconfig.node.json 的关系,如何在TS 中使用 JS 不报错

目录 1,前言2,二者关系2.1,使用 3,遇到的问题3.1,TS 中使用 JS 1,前言 通过 Vite 创建的 Vue3 TS 项目,根目录下会有 tsconfig.json 和 tsconfig.node.json 文件,并且存在引用关系…

【网络】TCP/IP 五层网络模型:数据链路层

文章目录 认识以太网mac 地址mac 地址和 IP 地址的区别 类型ARP 协议 MTU 日常开发主要是应用层,传输层和应用层密切交互,传输层用到的也不少。网络层以及再往下,日常开发就涉及到的非常少了 认识以太网 插网线的上网方式 80211 是无线 WiF…

指纹与指甲检测系统源码分享

指纹与指甲检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer V…

[网络]TCP/IP协议 之 网络层IP协议(3)

文章目录 一. IP协议报头二. NAT机制三. IP地址管理的基本规则1. 网段划分2. 特殊的IP地址 四. IP路由选择 网络层主要做的事情: 1.路径规划(路由器选择) 2.地址管理 一. IP协议报头 1)4位版本 指定IP协议的版本, 4 > ipv4 , 6 > ipv6 2)4位首部长度 4位bit能表示0-15, …

Linux bash脚本本地开发环境(Git Bash)配置

参考资料 VSCode: Windows 下配置 VSCode运行shellVSCodeを使用したシェルスクリプトの開発環境作成 目录 一. 必备VSCode插件二. 插件配置说明2.1 Bash IDE2.2 Code Runner2.3 shell-format 一. 必备VSCode插件 Bash IDE 该插件为 Bash 脚本提供了一些实用的开发工具和功能&…

如何设置xshell关闭最后一个选项卡标签时不退出软件?

不知道你是否遇到这个问题,就是在使用xshell的时候,每次关闭最后一个选项卡标签的时候,xshell软件默认就退出了,好多次我都只是想要关闭,而非退出,所以该如何设置,才能到我们的预期的效果呢&…

人工智能GPT____豆包使用的一些初步探索步骤 体验不一样的工作

豆包工具是我使用比较频繁的一款软件,其集合了很多功能。对话 图像 AI搜索 伴读等等使用都非常不错。电脑端安装集合了很多功能。 官网直达:豆包 使用我的文案创作能力,您可以注意以下几个技巧: 明确需求: 尽可能具…

云计算和虚拟化技术 背诵

https://zhuanlan.zhihu.com/p/612215164 https://zhuanlan.zhihu.com/p/612215164 云计算是指把计算资源、存储资源、网络资源、应用软件等集合起来,采用虚拟化技术 ,将这些资源池化,组成资源共享池,共享池即是“云”。 云计算…

supermap iclient3d for cesium中entity使用

目标将西南石油大学部分区域围起来,然后引个标签显示名称,最后弄个飞机绕学校飞(这个时间有点晚了,明天弄) 围墙: wall:{positions:Cesium.Cartesian3.fromDegreesArrayHeights([104.173,30.822,500,104.178,30.837,500,104.19,3…

Qt-QPushButton按钮类控件(22)

目录 描述 使用 给按钮添加图片 给按钮添加快捷键 添加槽函数 添加快捷键 添加组合键 开启鼠标的连发功能 描述 经过上面的一些介绍,我们也尝试的使用过了这个控件,接下来我们就要详细介绍这些比较重要的控件了 使用 给按钮添加图片 我们创建…

局域网windows下使用Git

windows下如何使用局域网进行git部署 准备工作第一步 ,ip设置设置远程电脑的ip设置,如果不会设置请点击[这里](https://blog.csdn.net/Black_Friend/article/details/142170705?spm1001.2014.3001.5501)设置本地电脑的ip:验证 第二步&#x…

下载chromedriver驱动

首先进入关于ChromeDriver最新下载地址:Chrome for Testing availability 进入之后找到与自己所匹配的,在浏览器中查看版本号,下载版本号需要一致。 下载即可,解压,找到 直接放在pycharm下即可 因为在环境变量中早已配…

两个人群填充参考(CHN100K和NARD)

分别是中国人群和东北亚人群的填充参考,测试了下,中国人群的参考注册还是相对友好的,没有像有些网站一样严格限制。东北亚的没有测试,两个数据库的特点都是包含了少数民族,研究朝鲜或蒙古族或其他民族的同学&#xff0…

9.12 TFTP通信

客户端设计(仅供参考): 下载本质:读取服务器发送的数据包,写入到本地文件 上传本质:读取本地文件内容,发送给服务器。 1、建立菜单选项,上传和下载。 2、上传功能函数: …

java开发中间件学习记录(持续更新中~)

1 Redis 2JVM 3 java基础底层 4Mysql 5 spring 6 微服务 7.......(持续更新) One:Redis篇 1:Redis 1.穿透 1.1缓存穿透 1.1.1布隆过滤器 1.2缓存击穿 2:击穿 1.3:缓存雪崩 1.4:双写一致 1.5.持久化(RDB,AOF) 1.6…

深入浅出Docker

1. Docker引擎 Docker引擎是用来运行和管理容器的核心软件。通常人们会简单的将其指代为Docker或Docker平台。 基于开放容器计划(OCI)相关的标准要求,Docker引擎采用了模块化的设计原则,其组件是可替换的。 Docker引擎由如下主…

k8s中的存储

目录 一 configmap 1.1 configmap的功能 1.2 configmap的使用场景 1.3 configmap创建方式 1.3.1 字面值创建 1.3.2 通过文件创建 1.3.3 通过目录创建 1.3.4 通过yaml文件创建 1.3.5 configmap的使用方式 1.3.5.1 使用configmap填充环境变量 1.3.5.2 通过数据卷使用c…

YOLOv10改进系列,YOLOv10颈部网络SPPF替换为FocalModulation

摘要 焦点调制网络(简称FocalNets),其中自注意力(SA)完全由焦点调制模块取代,用于在视觉中建模标记交互。焦点调制包括三个组件:(i)焦点情境化,通过一堆深度卷积层实现,从短到长范围编码视觉上下文,(ii)门控聚合,选择性地将上下文聚集到每个查询标记的调制器中…

词嵌入(二):基于上下文窗口的静态词嵌入(从NNLM、CW模型谈到基于层次Softmax、负采样的Word2Vec模型)

文章目录 一、经典神经语言模型(A Neural Probabilistic Language Model)二、C&W模型 (Collobert and Weston, 2008)2.1 文章背景2.2 模型架构(词向量的表示)2.2.1 Lookup-Table Layer(查找表)2.2.2 TD…

基于单片机的风机故障检测装置的设计与实现(论文+源码)

1 系统总体设计方案 通过对风机故障检测装置的设计与实现的需求、可行性进行分析,本设计风机故障检测装置的设计与实现的系统总体架构设计如图2-1所示,系统风机故障检测装置采用STM32F103单片机作为控制器,并通过DS18B20温度传感器、ACS712电…