CentOS 防火墙(Firewall)通常指的是 firewalld,它是一个动态管理防火墙的服务器端程序,支持 IPv4 和 IPv6 防火墙设置,以及以太网桥接。firewalld 提供了一个动态管理防火墙的方式,可以即时更新防火墙规则而不需要重启服务。
以下是一个基本的 firewalld 配置实例:
查看 firewalld 状态:
sudo firewall-cmd --state
查看开放的端口:
sudo firewall-cmd --list-all
开放端口(例如开放 TCP 端口 80):
sudo firewall-cmd --zone=public --add-port=80/tcp --permanent
--permanent 参数表示永久生效,重启后规则仍然有效。
重新加载防火墙配置:
sudo firewall-cmd --reload
关闭端口(例如关闭 TCP 端口 80):
sudo firewall-cmd --zone=public --remove-port=80/tcp --permanent
sudo firewall-cmd --reload
查看所有开放的端口:
sudo firewall-cmd --list-ports
设置默认区域:
sudo firewall-cmd --set-default-zone=public
添加服务到防火墙(例如添加 HTTP 服务):
sudo firewall-cmd --zone=public --add-service=http --permanent
sudo firewall-cmd --reload
移除服务(例如移除 HTTP 服务):
sudo firewall-cmd --zone=public --remove-service=http --permanent
sudo firewall-cmd --reload
查看当前区域中的服务:
sudo firewall-cmd --zone=public --list-services
添加自定义端口(例如开放 TCP 端口 12345):
sudo firewall-cmd --zone=public --add-port=12345/tcp --permanent
sudo firewall-cmd --reload
查看区域信息:
sudo firewall-cmd --get-active-zones
查看接口所属区域:
sudo firewall-cmd --get-zone-of-interface=eth0
更改接口区域(例如将 eth0 接口更改为 work 区域):
sudo firewall-cmd --zone=work --change-interface=eth0 --permanent
sudo firewall-cmd --reload
查看帮助:
sudo firewall-cmd --help
请注意,修改防火墙配置可能会影响系统的网络连接和安全性,因此在生产环境中进行更改之前,请确保您了解每个命令的作用,并在测试环境中进行了充分的测试。