在CentOS中,管理防火墙规则通常使用firewalld服务。firewalld是一个动态管理防火墙的框架,它允许你实时更新防火墙规则而不需要重启整个服务。以下是一些基本的firewalld命令和操作:
查看防火墙状态:
sudo firewall-cmd --state
查看所有打开的端口:
sudo firewall-cmd --list-all
查看开放的端口:
sudo firewall-cmd --list-ports
添加端口到防火墙规则(例如开放TCP端口80):
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp
移除端口从防火墙规则:
sudo firewall-cmd --permanent --zone=public --remove-port=80/tcp
重新加载防火墙配置(应用更改):
sudo firewall-cmd --reload
启动防火墙服务:
sudo systemctl start firewalld
停止防火墙服务:
sudo systemctl stop firewalld
设置防火墙开机自启:
sudo systemctl enable firewalld
禁用防火墙开机自启:
sudo systemctl disable firewalld
查看当前活动的区域:
sudo firewall-cmd --get-active-zones
更改接口的区域(例如将eth0接口更改为work区域):
sudo firewall-cmd --permanent --zone=work --change-interface=eth0
查看特定区域的详细信息:
sudo firewall-cmd --zone=work --list-all
添加服务到防火墙规则(例如添加SSH服务):
sudo firewall-cmd --permanent --zone=public --add-service=ssh
移除服务从防火墙规则:
sudo firewall-cmd --permanent --zone=public --remove-service=ssh
请注意,firewalld使用的是区域(zone)的概念来管理不同网络环境下的防火墙规则。常见的区域包括trusted、home、internal、work、public等。每个区域可以有不同的规则集。
在执行上述命令时,可能需要管理员权限,因此通常需要使用sudo。
在使用firewalld之前,请确保它已经安装在你的CentOS系统上。如果尚未安装,可以使用以下命令进行安装:
sudo yum install firewalld
或者,如果你使用的是CentOS 8或更高版本,可以使用dnf:
sudo dnf install firewalld
安装完成后,按照上述步骤管理你的防火墙规则。