在CentOS中安全设置防火墙(firewalld)可以遵循以下步骤:
如果尚未安装firewalld,可以使用以下命令进行安装:
sudo yum install firewalld
安装完成后,启动firewalld服务并设置为开机自启:
sudo systemctl start firewalld
sudo systemctl enable firewalld
sudo firewall-cmd --state
sudo firewall-cmd --list-all
例如,开放TCP端口80(HTTP):
sudo firewall-cmd --permanent --add-port=80/tcp
例如,删除TCP端口80(HTTP):
sudo firewall-cmd --permanent --remove-port=80/tcp
例如,开放SSH服务:
sudo firewall-cmd --permanent --add-service=ssh
例如,删除SSH服务:
sudo firewall-cmd --permanent --remove-service=ssh
修改配置后,需要重新加载防火墙以使更改生效:
sudo firewall-cmd --reload
firewalld支持不同的区域,每个区域有不同的默认规则。常见的区域包括:
trusted
:信任区域,允许所有流量。home
:家庭区域,允许一些常见的服务。work
:工作区域,允许一些常见的服务。public
:公共区域,限制大多数服务。sudo firewall-cmd --get-active-zones
例如,将默认区域更改为public
:
sudo firewall-cmd --set-default-zone=public
例如,将eth0接口添加到public
区域:
sudo firewall-cmd --zone=public --add-interface=eth0 --permanent
可以配置ICMP规则来控制ping请求等。
sudo firewall-cmd --permanent --add-icmp-block=echo-request
sudo firewall-cmd --permanent --remove-icmp-block=echo-request
如果需要配置IPv6规则,可以使用firewall-cmd
的--ipv6
选项。
例如,开放TCP端口80(HTTP):
sudo firewall-cmd --permanent --add-port=80/tcp --ipv6
例如,删除TCP端口80(HTTP):
sudo firewall-cmd --permanent --remove-port=80/tcp --ipv6
可以使用以下命令监控防火墙状态:
sudo firewall-cmd --list-all
sudo firewall-cmd --get-active-zones
通过以上步骤,可以安全地配置CentOS中的防火墙,确保系统的安全性。