一、情况说明
1.主机windows,虚拟机VMvare,centos7,虚拟机网路配置为NAT模型
2.主机和虚拟机可以互相ping通(ping不同的话,NAT模式下,配置主机和虚拟机ip前两个段相同即可(一般为192.168))
3.已在VMvare中设置好端口转发,如下图
如未设置好,在“虚拟网络编辑器——更改设置——VMnet8——NATA设置——添加(端口转发模块)”按照虚拟机ip地址配置即可。
4.主机和虚拟机可以互相ping通,且虚拟机可以访问主机地址:
5.主机无法访问虚拟机地址还是无法访问:
二、解决方法:
1.检查虚拟机防火墙设置:
对于linux虚拟机(如centos、ubuntu):
- 对于基于 iptables 的防火墙,使用命令
sudo iptables -L
来查看当前的防火墙规则。 - 对于使用 firewalld 的系统(如 Fedora、较新版本的 CentOS),使用
sudo firewall-cmd --list-all。
发现并没有设置端口规则
2.添加防火墙规则:
- 如果使用 iptables,添加规则允许 8080 端口的流量,使用命令
sudo iptables -A INPUT -p tcp --dport 8080 -j ACCEPT
。 - 如果使用 firewalld,添加规则允许 8080 端口的流量,使用命令
sudo firewall-cmd --zone=public --add-port=8080/tcp --permanent
,然后重新加载防火墙规则sudo firewall-cmd --reload
。
3.再次尝试主机访问虚拟机地址,发现可以正常访问,问题解决!
如果还是不能访问,尝试关掉本机防火墙。