vm中端口无法访问的问题

本文详细介绍如何在CentOS7中禁用默认的firewalld防火墙,转而使用iptables进行外部端口的配置。通过关闭firewalld服务并设置iptables规则,最后重启iptables服务,确保新的端口配置生效。

系统版本如上,因为centos7默认的防火墙是firewalld防火墙,不是使用iptables,因此需要先关闭firewalld服务,之后配置iptables添加外部端口,之后重启iptables即可

详见https://www.cnblogs.com/han-1034683568/p/8854613.html

### 如何配置和访问虚拟机(VM)上的端口 为了使宿主机能够访问虚拟机中的特定端口,通常需要完成两个主要步骤:一是配置 VMware 的 NAT 端口映射;二是确保防火墙允许外部流量进入该端口。 #### 1. 配置 VMware 的 NAT 端口映射 在 VMware 中,当使用 NAT 模式时,默认情况下只有部分常用端口会被自动映射。对于其他端口,则需手动创建端口转发规则: - **打开 VMware 虚拟网络编辑器** 在 Windows 上运行 `Win + R` 并输入 `vmnetcfg.exe` 启动虚拟网络编辑器[^4]。 - **选择并编辑 NAT 设置** - 找到对应的虚拟网络(通常是 `VMnet8`),点击其右侧的“NAT 设置”按钮。 - 添加新的端口映射条目: - 宿主机 IP 地址可以留为空白或者指定为 `0.0.0.0` 表示监听所有接口。 - 设定目标地址为目标虚拟机的内部 IP 地址以及对应的服务端口号。 例如,将虚拟机的 3000 端口映射至宿主机的 3001 端口[^1]。 #### 2. 开放宿主机防火墙端口 即使完成了上述端口映射操作,仍可能因为宿主机防火墙阻止了外来连接而导致失败。因此还需要调整防火墙策略以接受这些请求: - **Windows 防火墙管理** - 使用快捷键组合 `Win + S` 搜索 “高级安全 Windows Defender 防火墙”,启动相应工具界面。 - 创建一条新入站规则,类型选作端口,并明确指出哪些 TCP/UDP 协议下的具体端号应该被准许通行。 #### 3. 处理虚拟机内的防护措施 除了考虑宿主机层面的因素外,还需确认虚拟机本身的安全设定不会干扰正常通信流程: - 如果发现尽管进行了以上全部设置却依旧无法达成预期效果,可能是由于虚拟机操作系统自带的防火墙正在拦截来自外界的数据包所致[^5]。 - 可通过执行如下 Shell 命令临时停用 Linux 类型系统的 FirewallD 组件来验证此假设是否成立: ```bash sudo systemctl stop firewalld.service ``` - 更推荐的做法是在不影响整体安全性前提下仅针对所需服务开放必要通道而非完全禁用整个防御体系。比如针对 RabbitMQ 应用场景可采用以下方式添加例外项: ```bash sudo firewall-cmd --zone=public --add-port=15672/tcp --permanent sudo firewall-cmd --zone=public --add-port=5672/tcp --permanent sudo firewall-cmd --reload ``` 这样既保障了系统稳定又实现了功能需求。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值