在虚拟机linux下安装完TomCat,并且开启了TomCat服务,但是用主机windows10系统用浏览器访问http://192.168.28.28:8080(这里192.168.28.38是虚拟机linux的ip地址,8008是tomcat的默认端口),但是浏览器却提示无法连接,这是因为linux的防火墙问题,解决方法有两个:
1)第一种方法:在linux下把8080端口设
[root@localhost ~]# vim /etc/sysconfig/iptables
在-A INPUT -m state –state NEW -m tcp -p tcp –dport 22 -j ACCEPT这行的下方添加一行-A INPUT -m state –state NEW -m tcp -p tcp –dport 8080 -j ACCEPT
修改后如图所示:
# Firewall configuration written by system-config-firewall # Manual customization of this file is not recommended. *filter :INPUT ACCEPT [0:0] :FORWARD ACCEPT [0:0] :OUTPUT ACCEPT [0:0] -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -A INPUT -p icmp -j ACCEPT -A INPUT -i lo -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT -A INPUT -m state --state NEW -m tcp -p tcp --dport 8080 -j ACCEPT -A INPUT -j REJECT --reject-with icmp-host-prohibited -A FORWARD -j REJECT --reject-with icmp-host-prohibited COMMIT
保存后重启linux的防火墙服务,命令如下:
[root@localhost ~]# /etc/init.d/iptables restart
此时你会发现在浏览器重新输入网址可以看到我们的TomCat了
2)第二种方法:比较暴力,就是完全关闭linux的防火墙
指令如下:
[root@localhost ~]# service iptables stop
如果需要重新开启防火墙,指令如下:
[root@localhost ~]# service iptables start
补充:
Windows 无法访问虚拟机 Linux 下 Tomcat 的核心原因是Linux 防火墙拦截端口、网络模式(NAT)未配置映射或Tomcat 未正常监听,需按顺序排查:
核心解决步骤
- 确认 Tomcat 服务状态与监听端口:在 Linux 虚拟机执行
netstat -tlnp | grep 8080(或修改后的端口),确保进程存在且监听0.0.0.0而非127.0.0.1;若未启动,执行startup.sh。 - 开放 Linux 防火墙端口:根据发行版选择命令开放 8080 端口(严禁直接关闭防火墙):
- CentOS 7+/RHEL:
sudo firewall-cmd --permanent --add-port=8080/tcp然后sudo firewall-cmd --reload - Ubuntu/Debian:
sudo ufw allow 8080/tcp - 旧版 CentOS 6:
sudo iptables -I INPUT -p tcp --dport 8080 -j ACCEPT并保存规则
- CentOS 7+/RHEL:
- 检查网络模式与 IP 连通性:
- 若使用桥接模式 (Bridged):虚拟机获取同网段 IP,Windows 直接访问
http://:8080。 - 若使用NAT 模式(默认):需配置端口映射。在 VMware 中进入“编辑”->“虚拟网络编辑器”->”NAT 设置”->“添加”,将主机端口(如 8080)映射到虚拟机 IP 的 8080 端口,随后访问
http://localhost:8080或http://:8080。
- 若使用桥接模式 (Bridged):虚拟机获取同网段 IP,Windows 直接访问
- 验证连通性:在 Windows CMD 执行
telnet,若不通则继续排查;若通但浏览器打不开,检查 Tomcatserver.xml是否绑定特定 IP。
常见误区与补充
- SELinux 干扰:部分系统(如 CentOS)开启 SELinux 会拦截非标准端口,临时测试可执行
setenforce 0,永久解决需配置 SELinux 策略允许该端口。 - Hosts 文件与 DNS:确保无本地 hosts 文件错误映射导致解析失败。
- 多网卡冲突:若虚拟机有多块网卡,确认 Tomcat 监听的是对外网卡 IP 或
0.0.0.0。
若上述步骤仍无效,请提供具体报错信息(如“连接超时”或“拒绝连接”)及虚拟机网络模式(NAT/桥接/仅主机),以便精准定位。
到此这篇关于Windows无法访问虚拟机Linux下的TomCat的解决方法的文章就介绍到这了,更多相关Windows无法访问虚拟机Linux下的TomCat内容请搜索IT俱乐部以前的文章或继续浏览下面的相关文章希望大家以后多多支持IT俱乐部!
