在CentOS系统中,你可以使用firewalld
来管理防火墙规则。以下是编写自定义规则的步骤:
如果你的系统还没有安装firewalld
,可以使用以下命令进行安装:
sudo yum install firewalld
启动firewalld
服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
你可以使用以下命令查看当前的防火墙状态和活动区域:
sudo firewall-cmd --state
sudo firewall-cmd --get-active-zones
例如,添加一个允许TCP端口8080的规则:
sudo firewall-cmd --permanent --zone=public --add-port=8080/tcp
--permanent
:使规则永久生效。--zone=public
:指定区域,通常是public
。--add-port=8080/tcp
:添加TCP端口8080的规则。例如,添加一个允许SSH服务的规则:
sudo firewall-cmd --permanent --zone=public --add-service=ssh
例如,添加一个允许特定IP地址访问的规则:
sudo firewall-cmd --permanent --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
--rich-rule
:使用富规则。rule family="ipv4"
:指定IP版本。source address="192.168.1.100"
:指定源IP地址。accept
:允许访问。修改规则后,需要重新加载防火墙配置以使更改生效:
sudo firewall-cmd --reload
你可以使用以下命令验证规则是否已成功添加:
sudo firewall-cmd --list-all
如果你需要删除某个规则,可以使用以下命令:
sudo firewall-cmd --permanent --zone=public --remove-port=8080/tcp
sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --permanent --zone=public --remove-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
如果你不再需要firewalld
,可以停止并禁用它:
sudo systemctl stop firewalld
sudo systemctl disable firewalld
通过以上步骤,你可以在CentOS系统中编写和管理自定义的防火墙规则。