CENTOS7 可以PING通,但是端口不通情况总结

第一种:防火墙设置

查看开放的端口: firewall-cmd --zone=public --list-ports

加入端口 :firewall-cmd --zone=public --add-port=3306/tcp --permanent

重启防火墙 :systemctl restart firewalld

或者关闭防火墙:systemctl stop firewalld

第二种:关闭SELinux

查看SELinux状态:/usr/sbin/sestatus -v 

SELinux status:                 enabled

临时关闭:setenforce 0 

修改配置文件:(需要重启机器)

修改/etc/selinux/config 文件

将SELINUX=enforcing改为SELINUX=disabled

前面两种是常见情况,今天被坑的就是第三种情况了

第三种:目标端口被IPv6监听,修改到IPv4监听

查看端口的监听情况:netstat  -anp |grep 3306

使用IPv6的地址就是通过的

下面修改mysql监听IPv4

编辑/etc/sysctl.conf文件,添加如下两行到文件

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

如果想只关闭某个网卡的ipv6地址呢,比如说关闭eth0的ipv6地址:还是修改/etc/sysctl.conf文件,添加如下配置:

net.ipv6.conf.eth0.disable_ipv6 = 1

保存退出,使用sysctl -p命令使配置生效配置mysql的配置文件/etc/my.conf,在mysqld下面添加bind-address=0.0.0.0 然后重新启动mysql服务就能正常监听ibv4地址了

telnet 终于通了

第三种原因,找了我整整一天啊

另外,还有部署在云服务器上,开启安全端口这个情况。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐