CentOS7防火墙Firewalld的使用

简介

Firewalld 是 Linux 下的防火墙管理工具,用于帮助您轻松管理服务器的防火墙规则,以保护服务器免受潜在的网络攻击。本文将介绍 Firewalld 的基本使用方法,并提供一些常用的命令示例。

什么是 Firewalld?

Firewalld 是 CentOS 7 及更高版本系统上默认的防火墙管理工具。它通过管理不同的网络区域和服务来配置服务器的防火墙规则,使其更灵活和易于管理。Firewalld 使您能够轻松地添加、删除和修改防火墙规则,而无需手动编辑 iptables 规则。

基本使用

首先,让我们了解一些基本的 Firewalld 命令:

启动 Firewalld 服务

systemctl start firewalld

停止 Firewalld 服务

systemctl stop firewalld

查看 Firewalld 状态

systemctl status firewalld

设置 Firewalld 开机启动

systemctl enable firewalld

禁止 Firewalld 开机启动

systemctl disable firewalld

上述命令可用于启动、停止、查看状态以及配置 Firewalld 服务的开机启动。

配置 Firewalld

查看 Firewalld 版本和帮助信息

firewall-cmd --version
firewall-cmd --help

查看当前 Firewalld 状态

firewall-cmd --state

查看所有打开的端口

firewall-cmd --zone=public --list-ports

更新防火墙规则

firewall-cmd --reload

查看当前网络区域

firewall-cmd --get-active-zones

查询指定接口所属的网络区域

firewall-cmd --get-zone-of-interface=eth0

开启拒绝所有数据包

firewall-cmd --panic-on

取消拒绝状态

firewall-cmd --panic-off

检查是否拒绝所有数据包

firewall-cmd --query-panic

防火墙规则管理

开放特定端口(例如 80 端口)

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

删除特定端口规则

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

查看防火墙已开放的端口

firewall-cmd --zone=public --list-ports

添加特定服务(例如 FTP 服务)

firewall-cmd --add-service=ftp

将接口添加到特定网络区域(永久)

firewall-cmd --zone=public --add-interface=eth0 --permanent

配置公共区域的端口转发

firewall-cmd --zone=public --add-masquerade

将端口 22 转发到端口 9527

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527

将端口 22 数据转发到另一 IP 的相同端口

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.123

将端口 22 数据转发到另一 IP 的端口 9527

firewall-cmd --zone=public --add-forward-port=port=22:proto=tcp:toport=9527:toaddr=192.168.1.100

防火墙规则高级操作

IP 封禁

firewall-cmd --permanent --add-rich-rule="rule family='ipv4' source address='192.168.1.123' reject"

使用 ipset 封禁 IP

firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:ip
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.123

封禁 IP 网段

firewall-cmd --permanent --zone=public --new-ipset=blacklist --type=hash:net
firewall-cmd --permanent --zone=public --ipset=blacklist --add-entry=192.168.1.0/24

使用 IPset 规则封禁

firewall-cmd --permanent --zone=public --new-ipset-from-file=/path/blacklist.xml
firewall-cmd --permanent --zone=public --add-rich-rule='rule source ipset=blacklist drop'

这些命令可以帮助您配置和管理 Firewalld 防火墙规则,以满足服务器安全性的需求。请根据您的具体情况使用这些命令来保护您的服务器免受潜在的网络威胁。

常用 Linux 命令

以下是一些常用的 Linux 命令,有助于您在配置和管理服务器时进行诊断和操作:

检查特定端口的占用情况(例如端口 5672)

netstat -lnpt | grep 5672

查看进程的详细信息

ps 6832

终止进程

kill -9 6832

这些命令可用于查找端口占用情况、查看进程信息以及终止进程,以确保服务器运行顺畅。

现在,您已经了解了如何使用 Firewalld 来管理防火墙规则,并学会了一些常用的 Linux 命令,希望这些信息有助于您更好地保护和管理您的 CentOS 7 服务器。

总结

Firewalld 是一个强大的防火墙管理工具,它可以帮助您轻松管理服务器的防火墙规则。在本文中,我们介绍了一些常用的 Firewalld 命令,以帮助您开始使用它来保护您的服务器免受潜在的网络攻击。请根据您的需求和安全策略,使用这些命令来配置防火墙规则,以确保服务器的安全性。

©著作权归作者所有,转载或内容合作请联系作者