CentOS7 防火墙 配置

一、CentOS7查看开放端口命令
CentOS7的开放关闭查看端口都是用防火墙来控制的,具体命令如下:

查看已经开放的端口
firewall-cmd --list-ports
1
开启端口
firewall-cmd --zone=public --add-port=80/tcp --permanent
1
命令含义
–zone #作用域
–add-port=80/tcp #添加端口,格式为:端口/通讯协议
–permanent #永久生效,没有此参数重启后失效
1
2
3
重启防火墙
重启firewall

firewall-cmd --reload
1
停止firewall
systemctl stop firewalld.service
1
禁止firewall开机启动
systemctl disable firewalld.service
1
二、Centos查看端口占用情况和开启端口命令
Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令:

lsof -i tcp:80
1
列出所有端口
netstat -ntlp
1
1、开启端口(以80端口为例)
方法一:

/sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT 写入修改

/etc/init.d/iptables save 保存修改
1
2
3
service iptables restart 重启防火墙,修改生效
1
方法二:

vi /etc/sysconfig/iptables 打开配置文件加入如下语句:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT `#重启防火墙,修改完成
1
2
3
2、关闭端口
方法一:

/sbin/iptables -I INPUT -p tcp --dport 80 -j DROP 写入修改

/etc/init.d/iptables save 保存修改
1
2
3
4
service iptables restart 重启防火墙,修改生效
1
方法二:

vi /etc/sysconfig/iptables 打开配置文件加入如下语句:

-A INPUT -p tcp -m state --state NEW -m tcp --dport 80 -j DROP #重启防火墙,修改完成
1
2
3
3、查看端口状态
/etc/init.d/iptables status
1
查看应用/进程在使用该端口
有时启动应用时会发现端口已经被占用,或者是感觉有些端口自己没有使用却发现是打开的。这时我们希望知道是哪个应用/进程在使用该端口。

CentOS下可以用netstat或者lsof查看,Windows下也可以用netstat查看,不过参数会不同

netstat -nap #会列出所有正在使用的端口及关联的进程/应用
lsof -i :portnumber #portnumber要用具体的端口号代替,可以直接列出该端口听使用进程/应用
1
2
1、检查端口被哪个进程占用
代码如下复制代码

netstat -lnp|grep 83 #83请换为你的apache需要的端口,如:80
1
SSH执行以上命令,可以查看到88端口正在被哪个进程使用。

2、查看进程的详细信息
ps 6789
1
SSH执行以上命令。查看相应进程号的程序详细路径。

3、杀掉进程,重新启动apache
代码如下复制代码

kill -9 6789 #杀掉编号为6789的进程(请根据实际情况输入)

service httpd start #启动apache
1
Windows系统
netstat -nao #会列出端口关联的的进程号,可以通过任务管理器查看是哪个任务
1
最后一列为程序PID,再通过tasklist命令:tasklist | findstr 6789,通过任务管理结束掉这个程序就可以了
————————————————
版权声明:本文为CSDN博主「编程的一拳超人」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_48053866/article/details/127715462

点赞