搭建外网可以访问本地机虚拟机的服务

本文详细介绍了在VMware环境下安装CentOS7并解决网络连接问题的过程,包括编辑ifcfg-ens33文件、设置静态IP、调整防火墙规则、端口映射以及路由器转发设置,确保虚拟机服务能被内外网访问。

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

1、安装VMware12

2、安装centos7

安装完成后cetos7连接不上网络

需要修改文件ifcfg-ens33

编辑命令 vi  /etc/sysconfig/network-scripts/ifcfg-ens33

修改网保存重启网络服务

命令:systemctl restart network.service

设置静态ip的方法暂时没有研究过

3、设置虚拟机网络

(1)、

(2)、

(3)、

4、设置服务器的防火墙

开发80端口,关闭宿主机的防火墙,或者将虚拟机设置白名单(这个还没研究),不然访问不到http服务

5、测试本地机器能否访问的虚拟机的服务

1、local:80 测试虚拟机自己访问是否正常

2、local:8888(虚拟机80端口映射到本机8888端口)测试宿主机器访问虚拟服务器是否正常

3、宿主机ip:8888  测试内网其他机器访问是否正常

6、设置路由器

浏览器输入–> 192.168.1.1 –>转发规则–>虚拟服务器–>添加

这里写图片描述

服务端口是外网可以通过外网IP+这个端口号访问到本机的内部端口(下面填写的端口)(这个端口宜大不宜小,自己定) 
内部端口宿主机的端口,例如虚拟机80端口映射到宿主机8888端口,也可以直接填写宿主机80端口

这样外网就可以直接访问宿主机的服务了

ip地址是宿主机的ip


 

### 如何配置支持外网访问的 MQTT 服务器 #### 配置概述 为了使外部网络能够访问内部部署的 MQTT 服务器,需要完成以下几个方面的配置:开放必要的 TCP 端口、调整防火墙规则以及确保安全组允许流量通过。此外,还需要考虑使用内网穿透工具来简化公网访问流程。 --- #### 一、端口转发与防火墙设置 对于 MQTT 协议,默认使用的端口号为 `1883`(未加密)和 `8883`(TLS 加密)。如果要让外网设备可以连接到该服务,则需确保这些端口对外可用: - **云服务器环境下的安全组配置** 如果是在云端运行的服务器,可以通过云服务商提供的管理界面修改安全组策略,允许指定 IP 地址范围内的入站请求到达目标端口[^1]。具体操作如下: - 登录至对应云服务平台; - 找到实例关联的安全组选项卡; - 新建一条规则,设定协议类型为TCP,端口区间填写`1883`, 来源可设为0.0.0.0/0表示接受来自任何地方的数据包(生产环境中建议限定IP白名单)[^1]。 - **本地物理虚拟机情况** 当MQTT broker位于局域网中的主上时,除了上述提到的操作之外,还可能涉及到路由器级别的NAT映射处理。即把广域网上特定编号的公共入口重定向给私有子网里的实际承载者[^4]。这通常涉及登录家用Wi-Fi调制解调器后台页面执行静态PAT(port address translation),同样指派好匹配前述提及的标准通信接口位置参数。 --- #### 二、增强安全性措施 由于直接暴露于互联网存在潜在风险隐患,在实施以上步骤之前应当采取额外防护手段降低遭受攻击可能性: - 启用身份验证制防止未经授权的人士随意接入主题发布订阅链路。 - 对敏感传输内容启用SSL/TLS加密保护以抵御中间人窃听威胁[^2]。 - 定期审查日志文件查找可疑活动迹象并及时作出响应动作。 --- #### 三、利用第三方工具辅助实现便捷式解决方案 针对不具备固定IPv4地址资源的小型项目开发者而言,借助专门设计用于解决此类难题的应用程序不失为一种明智的选择之一——例如Cpolar就是这样一款出色的代表作。它能自动创建动态DNS记录并将私人LAN成员转换成临时性的公开可达实体,从而省去了繁琐的手动维护过程[^3]。 以下是基于Linux系统的简易安装指南摘录自官方文档说明部分: ```bash wget https://www.cpolar.com/static/downloads/cpolar-linux-amd64.zip unzip cpolar-linux-amd64.zip sudo mv cpolar /usr/local/bin/ cpolar service install cpolar start ``` 启动之后按照提示绑定账号即可快速生成可供分享链接形式呈现的目标器监听地址列表供远端测试验证用途。 --- #### 四、客户端连接指导 最后一步就是告知其他相关人员怎样正确地建立起有效的会话关系了。一般情况下只需要提供正确的Broker URI字符串再加上认证凭据就可以了。例如Python paho-mqtt库样例片段展示如下所示: ```python import paho.mqtt.client as mqtt def on_connect(client, userdata, flags, rc): print("Connected with result code "+str(rc)) client.subscribe("test/topic") client = mqtt.Client() client.on_connect = on_connect # Replace 'your-broker-address' and port number accordingly. client.connect("your-broker-address", 1883, 60) client.loop_forever() ``` 请记得替换掉占位符变量名使其指向真实的线上设施所在之处。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值