Linux配置:防火墙【firewalld】
2024/8/8大约 1 分钟
常用命令:
1. 查看防火墙状态
sudo firewall-cmd --state # 查看运行/停止状态
sudo firewall-cmd --list-all # 查看当前区域所有规则2. 区域管理
sudo firewall-cmd --get-active-zones # 查看活动的区域
sudo firewall-cmd --set-default-zone=public # 设置默认区域3. 服务管理
sudo firewall-cmd --list-services # 列出已允许的服务
sudo firewall-cmd --remove-service=http # 移除 HTTP 服务规则4. 端口管理
sudo firewall-cmd --add-port=8080/tcp # 开放 TCP 8080 端口(临时)
sudo firewall-cmd --permanent --add-port=443/tcp # 永久开放 HTTPS5. IP 地址限制
sudo firewall-cmd --add-source=192.168.1.0/24 --zone=trusted # 信任指定网段
sudo firewall-cmd --remove-source=192.168.1.100 # 移除单个 IP6. 直接操作规则(高级)
sudo firewall-cmd --add-rich-rule='rule family="ipv4" source address="1.2.3.4" port port="22" protocol="tcp" accept' # 自定义规则7. 备份与恢复
sudo firewall-cmd --runtime-to-permanent # 将临时规则转为永久
sudo cp /etc/firewalld/zones /backup/ # 手动备份配置文件关键注意事项:
- 永久规则 vs 运行时规则:
--permanent修改的配置需重载或重启生效,未加此参数仅临时生效(重启失效)。 - 避免锁死:远程操作时,确保保留至少一个可访问的规则(如先添加新规则再移除旧规则)。
- 服务预定义:FirewallD 内置服务(如
ssh、http)自动映射端口,优先使用服务名而非手动指定端口。