当前位置:首页 > 行业动态 > 正文

CentOS系统上怎么设置防火墙规则

在CentOS系统中,防火墙是一个重要的安全工具,可以防止未经授权的访问,本文将详细介绍如何在CentOS系统上设置防火墙规则。

1. 查看防火墙状态

在开始设置防火墙规则之前,首先需要查看当前防火墙的状态,可以使用以下命令查看防火墙状态:

sudo systemctl status firewalld

如果防火墙已启用,输出结果类似于:

● firewalld.service firewalld dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; enabled; vendor preset: disabled)
   Active: active (running) since Mon 20220103 10:15:47 CST; 1h 5min ago
     Docs: man:firewalld(1)
 Main PID: 12345 (firewalld)
    Tasks: 6 (limit: 4915)
   Memory: 10.0M
   CGroup: /system.slice/firewalld.service
           └─12345 /usr/bin/python3 Es /usr/sbin/firewalld nofork nopid
Jan 03 10:15:47 centos systemd[1]: Starting firewalld dynamic firewall daemon...
Jan 03 10:15:47 centos systemd[1]: Started firewalld dynamic firewall daemon.

如果防火墙未启用,可以使用以下命令启用防火墙:

sudo systemctl start firewalld

2. 查看默认区域

在CentOS系统中,防火墙的区域分为信任区域(public)和非信任区域(private),默认情况下,信任区域允许所有流量通过,而非信任区域拒绝所有流量,可以使用以下命令查看默认区域:

sudo firewallcmd getdefaultzone

输出结果类似于:

public

3. 添加防火墙规则

在CentOS系统中,可以使用firewallcmd命令添加防火墙规则,以下是一些常用的firewallcmd命令:

addport=端口号/协议:添加一个端口规则,指定端口号和协议(如tcp或udp),要允许TCP协议的80端口,可以使用以下命令:

sudo firewallcmd zone=public addport=80/tcp permanent

addrichrule='rule':添加一个丰富的规则,可以使用iptables语法编写复杂的规则,要允许来自特定IP地址的流量通过,可以使用以下命令:

sudo firewallcmd zone=public addrichrule='rule family="ipv4" source address="192.168.1.100" accept' permanent

removeport=端口号/协议:删除一个端口规则,要删除TCP协议的80端口规则,可以使用以下命令:

sudo firewallcmd zone=public removeport=80/tcp permanent

listall:列出所有防火墙规则。

sudo firewallcmd listall zone=public permanent

4. 重启防火墙以应用更改

在修改防火墙规则后,需要重启防火墙以使更改生效,可以使用以下命令重启防火墙:

sudo systemctl restart firewalld

FAQs

问题1:如何查看防火墙日志?

答:防火墙日志位于/var/log/messages文件中,可以使用以下命令查看防火墙日志:

sudo tail f /var/log/messages | grep firewalld

问题2:如何禁用防火墙?

答:要禁用防火墙,可以使用以下命令:

sudo systemctl stop firewalld
sudo systemctl disable firewalld
0