外网(公网)访问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以后,端口转发正常,没有出现如上服务无法启动的问题。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【Linux课程学习】make/Makefile:Linux项目自动化构建工具

🎁个人主页:我们的五年 🔍系列专栏:Linux课程学习 🌷追光的人,终会万丈光芒 🎉欢迎大家点赞👍评论📝收藏⭐文章 🍉一.make/Makefile的理解: …

掌握 Spring:从新手到高手的常见问题汇总

一提起Spring,总感觉有太多知识,无法详尽,有些基础理解就先不说了,相信大家都已经用过Spring了 下面简单针对常见Spring面试题做些回答 核心特性 IOC容器spring事件资源管理国际化校验数据绑定类型转换spirng表达式面向切面编程……

【HTTP】构造HTTP请求和状态码

状态码 用于响应中,表示响应的结果如何 正确?错误?什么原因? HTTP 中的状态码都是标准约定好的 200 OK 成功了,一切顺利 在抓包到的响应中 404 Not Found 访问的资源(URL 中的路径)没找…

Python语言基础教程(下)4.0

✨博客主页: https://blog.csdn.net/m0_63815035?typeblog 💗《博客内容》:.NET、Java.测试开发、Python、Android、Go、Node、Android前端小程序等相关领域知识 📢博客专栏: https://blog.csdn.net/m0_63815035/cat…

十六 未来信息综合技术(考点篇)

1 信息物理系统技术 信息物理系统(CPS)是控制系统、嵌入式系统的扩展与延伸,其涉及的相关底层理论技术源于对嵌入式技术的应用与提升。 CPS 通过集成先进的感知、计算、通信、控制等信息技术和自动控制技术,构建了物理空间与信息空间中人、机、物、环境…

OpenCV特征检测(3)计算图像中每个像素处的特征值和特征向量函数cornerEigenValsAndVecs()的使用

操作系统:ubuntu22.04 OpenCV版本:OpenCV4.9 IDE:Visual Studio Code 编程语言:C11 算法描述 计算图像块的特征值和特征向量用于角点检测。 对于每一个像素 p ,函数 cornerEigenValsAndVecs 考虑一个 blockSize blockSize 的邻…

mysql为什么建议创建字段的时候not null

相信大家在建表或者给表新加字段的时候,一些老司机们都会建议我们,字段要定义为not null,原因呢是一是占用存储空间,另一个是避免出现一些意料之外的错误。当然针对这个问题,大家可能也会在网上去搜下,不过…

制作炫酷个人网页:用 HTML 和 CSS3 展现你的风格

你是否觉得自己的网站应该看起来更炫酷?今天我将教你如何使用 HTML 和 CSS3 制作一个拥有炫酷动画和现代设计风格的个人网页,让它在任何设备上看起来都无敌酷炫! 哈哈哈哈哈哈哈哈,我感觉自己有点中二哈哈哈哈~ 目录 炫酷设计理念构建 HTML …

【电力系统】基于遗传算法的33节点电力系统无功优化及MATLAB实现

摘要 本文研究了基于遗传算法的33节点配电系统的无功优化问题。通过调整电容器的安装位置和容量,以最小化系统的无功损耗和电压偏差。研究使用遗传算法对无功优化问题进行求解,并在MATLAB环境中进行仿真实现。实验结果表明,该方法能够有效地…

零工市场小程序:推动零工市场建设

人力资源和社会保障部在2024年4月发布了标题为《地方推进零工市场建设经验做法》的文章。 零工市场小程序的功能 信息登记与发布 精准匹配、推送 在线沟通 权益保障 零工市场小程序作为一个找零工的渠道,在往后随着技术的发展和政策的支持下,功能必然…

★ C++进阶篇 ★ 二叉搜索树

Ciallo&#xff5e;(∠・ω< )⌒☆ ~ 今天&#xff0c;我将继续和大家一起学习C进阶篇第三章----二叉搜索树 ~ ❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️❄️ 澄岚主页&#xff1a;椎名澄嵐-CSDN博客 C基础篇专栏&#xff1a;★ C基础篇 ★_椎名澄嵐的博客-CSD…

【matlab】生成 GIF 的函数(已封装可直接调用)

文章目录 前言一、函数输入与输出二、函数代码三、例程&#xff08;可直接运行&#xff09;参考文献 前言 生成 gif 图片时遇到的问题&#xff0c;为了后续调用方便&#xff0c;封装为函数 一、函数输入与输出 输入&#xff1a; cell_figure: cell 数组&#xff0c;数组元素是…

git 更换远程地址的方法

需要将正在开发的代码远程地址改成新的地址&#xff0c;通过查询发现有三个方法可以实现&#xff0c;特此记录。具体方法如下&#xff1a; &#xff08;1&#xff09;通过命令直接修改远程仓库地址 git remote 查看所有远程仓库git remote xxx 查看指定远程仓库地址git remote…

ProtoBuf序列化框架介绍

文章目录 ProtoBuf介绍使用流程 QUICK START创建.proto文件注释语法编译部分代码展示使用接口运行结果 ProtoBuf介绍 ProtoBuf全称是Protocol Buffer&#xff0c;是一个数据结构的序列化和反序列化框架 他又很多好处&#xff0c;首先是他支持跨平台&#xff0c;支持Java、C、…

Mac 上,终端如何开启 proxy

文章目录 为什么要这么做前提步骤查看 port查看代理的port配置 bash测试 为什么要这么做 mac 上的终端比较孤僻吧&#xff0c;虽然开了&#xff0c;但是终端并不走&#x1fa9c;…产生的现象就是&#xff0c;浏览器可以访问&#x1f30d;&#xff0c;但是终端不可以访问&#…

创建Application(Qt)模板项目时的 Base class选择

在Qt中&#xff0c;当你使用Qt Creator新建一个Qt Widgets Application项目时&#xff0c;选择Base class是一个重要的步骤&#xff0c;因为它决定了你的主窗口或对话框将继承自哪个类&#xff0c;从而决定了你的应用程序将具有哪些基本的功能和外观。以下是一些常见的Base cla…

docker进入容器运行命令

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

3D生成技术再创新高:VAST发布Tripo 2.0,提升AI 3D生成新高度

随着《黑神话悟空》的爆火&#xff0c;3D游戏背后的AI 3D生成技术也逐渐受到更多的关注。虽然3D大模型的热度相较于语言模型和视频生成技术稍逊一筹&#xff0c;但全球的3D大模型玩家们却从未放慢脚步。无论是a16z支持的Yellow&#xff0c;还是李飞飞创立的World Labs&#xff…

双击就可以打开vue项目,而不用npm run dev

右键点击桌面或其他位置&#xff0c;选择“新建” -> “快捷方式”&#xff0c;在“对象的位置”处直接输入“npm run dev”&#xff0c;然后下一步 自定义一个快捷方式名称 完成后&#xff0c;桌面会创建一个快捷方式&#xff0c;右键快捷方式选择属性&#xff0c;可以看…

为什么 ECB 模式不安全

我们先来简单了解下 ECB 模式是如何工作的 ECB 模式不涉及链接模式&#xff0c;所以也就用不着初始化向量&#xff0c;那么相同的明文分组就会被加密成相同的密文分组&#xff0c;而且每个分组运算都是独立的&#xff0c;这也就意味着可以并行提高运算效率&#xff0c;但也正是…