在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 firewalld2. 查看默认区域
在CentOS系统中,防火墙的区域分为信任区域(public)和非信任区域(private),默认情况下,信任区域允许所有流量通过,而非信任区域拒绝所有流量,可以使用以下命令查看默认区域:
sudo firewallcmd getdefaultzone输出结果类似于:
public3. 添加防火墙规则
在CentOS系统中,可以使用firewallcmd命令添加防火墙规则,以下是一些常用的firewallcmd命令:
addport=端口号/协议:添加一个端口规则,指定端口号和协议(如tcp或udp),要允许TCP协议的80端口,可以使用以下命令:
sudo firewallcmd zone=public addport=80/tcp permanentaddrichrule=rule:添加一个丰富的规则,可以使用iptables语法编写复杂的规则,要允许来自特定IP地址的流量通过,可以使用以下命令:
sudo firewallcmd zone=public addrichrule=rule family="ipv4" source address="192.168.1.100" accept permanentremoveport=端口号/协议:删除一个端口规则,要删除TCP协议的80端口规则,可以使用以下命令:
sudo firewallcmd zone=public removeport=80/tcp permanentlistall:列出所有防火墙规则。
sudo firewallcmd listall zone=public permanent4. 重启防火墙以应用更改
在修改防火墙规则后,需要重启防火墙以使更改生效,可以使用以下命令重启防火墙:
sudo systemctl restart firewalldFAQs
问题1:如何查看防火墙日志?
答:防火墙日志位于/var/log/messages文件中,可以使用以下命令查看防火墙日志:
sudo tail f /var/log/messages | grep firewalld问题2:如何禁用防火墙?
答:要禁用防火墙,可以使用以下命令:
sudo systemctl stop firewalld sudo systemctl disable firewalld