firewall-cmd
添加永久规则在Linux系统中,防火墙是确保网络安全性的重要工具之一。特别是在Red Hat Enterprise Linux (RHEL) 及其衍生版本(如Fedora)中,firewalld
服务通过firewall-cmd
命令提供了强大的防火墙管理功能。本文将介绍如何使用firewall-cmd
来添加永久规则。
firewalld
和firewall-cmd
firewalld
是一个动态的Linux防火墙管理器,它为管理员提供了一个简单且强大的方式来配置和控制网络访问。而firewall-cmd
则是firewalld
的核心命令行工具之一,主要用于向firewalld
发送指令来调整规则集。
要添加一个永久规则,通常需要使用--permanent
选项来确保设置不会在服务重启后丢失。以下是一些常用的步骤和示例:
假设你希望打开HTTP(80端口)服务,可以在终端中执行如下命令:
firewall-cmd --zone=public --add-service=http --permanent
同样地,如果你想关闭某个服务,则可以使用--remove-service
选项。
如果你希望开放一个自定义的TCP或UDP端口,可以使用--add-port
选项。例如:
firewall-cmd --zone=public --add-port=8080/tcp --permanent
这将为8080端口添加一个TCP规则。
为了允许特定的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地址访问。
在执行任何更改之前,你可以先使用--list-all
选项来查看当前的配置:
firewall-cmd --zone=public --list-all
这将列出所有应用到公共区域的规则和设置。
完成上述操作后,你需要重启firewalld
服务以使新的规则生效。可以通过以下命令实现这一点:
sudo systemctl reload firewalld
或者,如果你希望直接重启服务,可以使用:
sudo systemctl restart firewalld
通过本文的介绍,你应该已经掌握了如何利用firewall-cmd
来添加永久规则。这对于任何需要精细控制网络访问环境的操作来说都是一个重要的工具。请注意,在进行任何防火墙更改之前,请确保你充分理解了命令的效果及其潜在风险。