HOME

利用firewall-cmd添加永久规则

在Linux系统中,防火墙是确保网络安全性的重要工具之一。特别是在Red Hat Enterprise Linux (RHEL) 及其衍生版本(如Fedora)中,firewalld服务通过firewall-cmd命令提供了强大的防火墙管理功能。本文将介绍如何使用firewall-cmd来添加永久规则。

什么是firewalldfirewall-cmd

firewalld是一个动态的Linux防火墙管理器,它为管理员提供了一个简单且强大的方式来配置和控制网络访问。而firewall-cmd则是firewalld的核心命令行工具之一,主要用于向firewalld发送指令来调整规则集。

添加永久规则

要添加一个永久规则,通常需要使用--permanent选项来确保设置不会在服务重启后丢失。以下是一些常用的步骤和示例:

1. 关闭或启用服务端口

假设你希望打开HTTP(80端口)服务,可以在终端中执行如下命令:

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

同样地,如果你想关闭某个服务,则可以使用--remove-service选项。

2. 添加自定义端口

如果你希望开放一个自定义的TCP或UDP端口,可以使用--add-port选项。例如:

firewall-cmd --zone=public --add-port=8080/tcp --permanent

这将为8080端口添加一个TCP规则。

3. 添加IP地址

为了允许特定的IP地址或网络访问,可以使用--add-rich-rule选项。例如:

firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.168.1.0/24" accept' --permanent

上述命令将允许来自192.168.1.0/24网段的IP地址访问。

4. 查看规则

在执行任何更改之前,你可以先使用--list-all选项来查看当前的配置:

firewall-cmd --zone=public --list-all

这将列出所有应用到公共区域的规则和设置。

最后的步骤:重新加载防火墙

完成上述操作后,你需要重启firewalld服务以使新的规则生效。可以通过以下命令实现这一点:

sudo systemctl reload firewalld

或者,如果你希望直接重启服务,可以使用:

sudo systemctl restart firewalld

小结

通过本文的介绍,你应该已经掌握了如何利用firewall-cmd来添加永久规则。这对于任何需要精细控制网络访问环境的操作来说都是一个重要的工具。请注意,在进行任何防火墙更改之前,请确保你充分理解了命令的效果及其潜在风险。