问题描述
在虚拟机中安装了rabbitMQ,正常安装完成并启动,然后再centos 7中对应的浏览器可以访问,在Windows中浏览器访问失败,如下图
虚拟机中正常访问
Windows中访问超时
解决
因为虚拟机中防火墙是开启状态,导致无法连通,
解决方法一
关闭虚拟机防火墙
虚拟机中操作防火墙状态命令如下;
可以通过该命令查看防火墙状态
systemctl status firewalld.service
如图说明防火墙处于开启状态
通过下面命令关闭防火墙
systemctl stop firewalld.service
然后查看防火墙状态,如图
防火墙关闭成功
然后在Windows中输入虚拟机IP:15672访问成功
上边这种方法能解决问题但是不安全,防火墙关闭后有安全隐患,所以推荐使用另一种方法
方法二开放端口
centos 7中默认开启防火墙,防火墙默认情况下只会监听在22号端口,也就是说主机对外暴露的端口只有22,可以通过以下命令查看开启端口
iptables-save
结果如下
如果想增加对外开放的端口,就需要通过防火墙的管理命令firewalld-cmd,例如我想开放80端口,那么命令就是:
firewall-cmd --zone=public --add-port=80/tcp --permanent
然后需要重载防火墙命令如下
firewall-cmd --reload
在这我们将rabbitMQ的15672和5672端口进行开放
firewall-cmd --zone=public --add-port=15672/tcp --permanent
firewall-cmd --zone=public --add-port=5672/tcp --permanent
成功,然后进行防火墙重新载入
重载成功,然后查看防火墙对外监听端口
iptables-save
成功,再次在Windows中进行访问
访问成功。