在CentOS Stream 8中,防火墙的配置和管理主要通过 firewalld
这个工具来实现。firewalld
是一个基于 netfilter
的动态管理防火墙,它提供了灵活且易用的配置方式。以下是一些常用的配置技巧和命令:
首先,确保 firewalld
已经安装在你的系统上。如果没有安装,可以使用以下命令进行安装:
sudo dnf install firewalld
安装完成后,启动并设置 firewalld
在系统启动时自动启动:
sudo systemctl start firewalld
sudo systemctl enable firewalld
检查防火墙状态:
sudo firewall-cmd --state
重载防火墙配置(不中断现有连接):
sudo firewall-cmd --reload
完全重载配置(中断连接):
sudo firewall-cmd --complete-reload
查看默认区域:
sudo firewall-cmd --get-default-zone
设置默认区域:
sudo firewall-cmd --set-default-zone=public
查看活动区域:
sudo firewall-cmd --get-active-zones
列出所有区域规则:
sudo firewall-cmd --list-all-zones
查看指定区域规则:
sudo firewall-cmd --zone=public --list-all
绑定接口到区域:
sudo firewall-cmd --zone=public --change-interface=eth0
查看允许的服务:
sudo firewall-cmd --list-services
临时允许 HTTP:
sudo firewall-cmd --add-service=http
永久允许 HTTP:
sudo firewall-cmd --add-service=http --permanent
移除 HTTP 规则:
sudo firewall-cmd --remove-service=http
查看开放的端口:
sudo firewall-cmd --list-ports
临时开放端口:
sudo firewall-cmd --add-port=8080/tcp
永久开放端口范围:
sudo firewall-cmd --add-port=20000-65535/tcp --permanent
关闭端口:
sudo firewall-cmd --remove-port=8080/tcp
允许某 IP 访问 SSH:
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="22" protocol="tcp" accept'
重新加载配置使更改生效:
sudo firewall-cmd --reload
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port port="3306" protocol="tcp" accept'
sudo firewall-cmd --reload
sudo firewall-cmd --list-all
sudo systemctl stop firewalld
sudo systemctl enable firewalld