掌握Firewalld:Linux防火墙管理

admin 52 0

Firewalld 是一个动态防火墙管理工具,它旨在提供比传统的 iptables 更加灵活和用户友好的防火墙管理方式。它支持 IPv4 和 IPv6,并且可以快速地重新加载规则,而无需重启服务。以下是一些基本的 Firewalld 命令和概念,可以帮助你开始使用和掌握 Linux 防火墙管理:

安装 Firewalld

在基于 Fedora 的系统上,你可以使用以下命令安装 Firewalld:

sudo dnf install firewalld

在基于 Debian 的系统上,使用:

sudo apt-get install firewalld

启动和停止 Firewalld

启动 Firewalld:

sudo systemctl start firewalld

停止 Firewalld:

sudo systemctl stop firewalld

启用和禁用 Firewalld

启用 Firewalld 服务以在启动时自动运行:

sudo systemctl enable firewalld

禁用 Firewalld 服务:

sudo systemctl disable firewalld

查看 Firewalld 状态

查看 Firewalld 的状态:

sudo systemctl status firewalld

或者,查看防火墙的当前状态:

sudo firewall-cmd --state

管理防火墙区域

Firewalld 使用“区域”来定义不同的网络信任级别。默认区域有:

  • drop:丢弃所有传入的包

  • block:不接受任何传入的连接,但允许发送

  • public:适用于公共网络

  • external:适用于外部网络

  • dmz:适用于隔离区网络

  • internal:适用于内部网络

  • work:适用于工作网络

  • home:适用于家庭网络

查看所有可用的区域:

sudo firewall-cmd --get-active-zones

设置默认区域:

sudo firewall-cmd --set-default-zone=public

添加和删除规则

允许特定端口:

sudo firewall-cmd --zone=public --add-port=80/tcp --permanent

删除端口规则:

sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent

允许特定服务:

sudo firewall-cmd --zone=public --add-service=http --permanent

删除服务规则:

sudo firewall-cmd --zone=public --remove-service=http --permanent

重新加载和查看规则

重新加载防火墙规则:

sudo firewall-cmd --reload

查看当前活动规则:

sudo firewall-cmd --list-all

查看日志

查看 Firewalld 的日志:

sudo journalctl -u firewalld

锁定和解锁防火墙

锁定防火墙以防止更改:

sudo firewall-cmd --lockdown

解锁防火墙:

sudo firewall-cmd --unlock

检查端口状态

检查特定端口是否开放:

sudo firewall-cmd --zone=public --query-port=80/tcp

这些是 Firewalld 的一些基本操作。根据你的具体需求,你可能还需要探索更高级的功能,如防火墙规则的复杂配置、网络接口的管理等。记得在进行任何更改之前备份你的当前规则集,以便在出现问题时可以快速恢复。