Centos系统,防火墙没开,docker部署的rabbitmq不能外网访问监听端口,但别的端口都能正常访问???
docker程序使用的是宿主机端口,只能本机访问,不能外网访问
真是一个神奇的问题,防火墙firewalld ,iptables都没开。
之前访问都正常,最近可能是服务器被动了。rabbitmq的相关监听接口,只能本机服务器连接了,导致设备连接不了rabbitmq组件了。
排查问题记录
1.防火墙是否开启。发现是关闭的
systemctl status firewalld
2. 确认外网网络是否可用。发现也是可用的。
ping www.baidu.com
3. 查看指定端口监听是否正常,发现也是正常的
netstat -antp|grep 5672/15672
最后的解决方法,猜测有可能是防火墙规则问题
所以先开启防火墙
systemctl start firewalld
查看防火墙状态
systemctl status firewalld
查看开放端口。发现返回数据为空
firewall-cmd --list-ports
开放自己需要的端口
firewall-cmd --add-port=5672/tcp --permanent
再次查看开放端口
然后telnet 192.168.1.xx 5672 发现端口完全通了,没问题了。
firewalld常使用命令列表
systemctl status firewalld 查看防火墙状态
systemctl start firewalld 开启防火墙
systemctl stop firewalld 关闭防火墙firewall-cmd --list-ports 查看已经开放的端口,如果空的话,表示没有可用端口
firewall-cmd -add-port=27017/tcp --permanent 永久开启指定端口 ,加上参数--permanent表示重启后也生效
firewall-cmd --remove-port=27017/tcp --permanent 永久关闭指定端口
firewall-cmd --add-port=27017-30000/tcp --permanent 开启指定范围端口
firewall-cmd --permanent --query-port=3306/tcp 查看端口是否开放
firewall-cmd --reload 重启防火墙
更多推荐
所有评论(0)