文章内容
使用Linux系统部署服务时,会遇到这样的情况,明明服务已经成功启动了,在服务器上测试也成功了,但是使用外部设备就是访问不到服务。如果出现这种情况,很可能是因为服务器的防火墙设置不正确。那要如何来排查是否是因为防火墙引起的问题呢,下面这些常用命令可以帮助我们解决日常大部分的问题。
1、开启和关闭防火墙
1 2 3 4 5 | // 开启防火墙 systemctl start firewalld.service // 关闭防火墙 systemctl stop firewalld.service |
2、查看防火墙状态
1 | systemctl status firewalld |
3、开放关闭指定端口
1 2 3 4 5 6 7 8 | // 开放3306端口 firewall-cmd --zone= public --add-port= 3306 /tcp --permanent // 关闭3306端口 firewall-cmd --zone= public --remove-port= 3306 /tcp --permanent // 使配置的端口生效 firewall-cmd --reload |
4、查看防火墙所有开放的端口
1 | firewall-cmd --zone= public --list-ports |
5、查看监听的端口
1 2 3 4 | // centos7默认没有 netstat 命令, // 需要安装 net-tools 工具, // yum install -y net-tools netstat -lnpt |
6、检查端口被哪个进程占用
1 2 3 4 | netstat -lnpt | grep 端口号 // 例如查看3306端口被哪个进程占用 netstat -lnpt | grep 3306 |
7、查看进程占用什么端口
1 2 3 4 | netstat -anp | grep 进程名 // 例如想查看mysql占用的是哪个端口 netstat -anp | grep mysql |
8、查看进程的详细信息
1 | ps 进程编号 |