在CentOS Minimal系统中配置防火墙主要涉及安装和配置 firewalld
服务。以下是一个基本的防火墙配置指南:
首先,确保 firewalld
已经安装在你的系统上。如果没有安装,可以使用以下命令进行安装:
sudo yum install firewalld -y
安装完成后,启动并启用 firewalld
服务,以便在系统启动时自动启动:
sudo systemctl start firewalld.service
sudo systemctl enable firewalld.service
要查看防火墙的当前状态,可以使用以下命令:
sudo firewall-cmd --state
要查看当前所有防火墙规则,可以使用以下命令:
sudo firewall-cmd --list-all
firewalld
使用区域(zones)来管理防火墙规则。默认区域是 public
。你可以查看所有可用的区域:
sudo firewall-cmd --get-zones
要将一个接口添加到特定区域,可以使用以下命令:
sudo firewall-cmd --zone=public --add-interface=eth0
要开放或限制端口,可以使用以下命令格式:
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent # 永久开放80端口
sudo firewall-cmd --reload # 重载规则以使更改生效
要查看当前开放的端口,可以使用以下命令:
sudo firewall-cmd --list-ports
要允许或拒绝特定服务,可以使用以下命令:
sudo firewall-cmd --permanent --add-service=http # 永久开放HTTP服务
sudo firewall-cmd --reload # 重载规则以使更改生效
要列出所有允许的服务,可以使用以下命令:
sudo firewall-cmd --get-services
要删除特定的防火墙规则,可以使用以下命令:
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload # 重载规则以使更改生效
富规则(Rich Rules):使用富规则可以定义更复杂的规则,例如允许来自特定IP地址的访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" port protocol="tcp" port="80" accept'
sudo firewall-cmd --reload
区域(Zone)配置:你可以创建自定义区域并配置规则,例如创建一个名为 internal
的区域,并允许内部网络访问特定服务:
sudo firewall-cmd --new-zone=internal --permanent
sudo firewall-cmd --zone=internal --add-interface=eth1
sudo firewall-cmd --zone=internal --add-service=http
sudo firewall-cmd --reload
通过以上步骤,你可以在CentOS Minimal系统中设置和管理防火墙的基本规则。根据具体需求,你可能需要进一步调整和优化防火墙规则。