当前位置:首页 > RockyLinux > 正文

RockyLinux nftables命令详解(新一代Linux防火墙配置入门教程)

在现代 Linux 系统中,nftables 正逐步取代传统的 iptables,成为新一代的包过滤框架。作为 Red Hat Enterprise Linux 的社区版,RockyLinux 默认采用 nftables 作为其防火墙解决方案。本文将手把手教你如何使用 RockyLinux nftables命令 来配置和管理防火墙规则,即使你是零基础的小白也能轻松上手!

RockyLinux nftables命令详解(新一代Linux防火墙配置入门教程) nftables命令  nftables防火墙配置 RockyLinux防火墙教程 新一代Linux防火墙 第1张

为什么选择 nftables?

相比旧版 iptables,nftables 具有以下优势:

  • 更简洁的语法结构
  • 更高的性能和更低的资源消耗
  • 支持原子更新规则集(避免规则中断)
  • 统一 IPv4 和 IPv6 的处理方式

准备工作:确认系统环境

首先,请确保你使用的是 RockyLinux 8 或更高版本,并以 root 用户或具有 sudo 权限的用户登录。

检查 nftables 是否已安装:

rpm -q nftables  

如果未安装,可使用以下命令安装:

sudo dnf install nftables -y  

基本概念:表、链与规则

在 nftables 中,防火墙规则组织为三层结构:

  • 表(Table):用于区分 IPv4、IPv6 或其他协议族
  • 链(Chain):定义数据包的处理流程(如 input、output、forward)
  • 规则(Rule):具体的匹配条件和动作(如 accept、drop)

实战:配置一个基础防火墙

下面我们创建一个简单的防火墙规则集,允许 SSH(端口22)和 HTTP(端口80),拒绝其他所有入站连接。

1. 清空现有规则(谨慎操作!):

sudo nft flush ruleset  

2. 创建一个新的 IPv4 表:

sudo nft add table ip filter  

3. 在表中添加 input 链:

sudo nft add chain ip filter input { type filter hook input priority 0 \; }  

4. 添加具体规则:

sudo nft add rule ip filter input ct state established,related acceptsudo nft add rule ip filter input tcp dport 22 acceptsudo nft add rule ip filter input tcp dport 80 acceptsudo nft add rule ip filter input icmp type echo-request acceptsudo nft add rule ip filter input drop  

上述规则含义如下:

  • 允许已建立的连接返回数据
  • 允许 SSH(22端口)
  • 允许 HTTP(80端口)
  • 允许 ICMP ping 请求
  • 拒绝其他所有入站流量

保存与持久化规则

当前规则仅在内存中生效,重启后会丢失。要使其永久生效,需保存到配置文件:

sudo nft list ruleset > /etc/nftables.conf  

然后启用并启动 nftables 服务:

sudo systemctl enable --now nftables  

常用命令速查

  • 查看当前规则:nft list ruleset
  • 删除某条规则(需知道句柄号):nft delete rule ip filter input handle 3
  • 清空所有规则:nft flush ruleset

结语

通过本教程,你已经掌握了 RockyLinux nftables命令 的基本用法,并能独立配置一个安全的防火墙策略。nftables 作为 新一代Linux防火墙 工具,不仅功能强大,而且语法清晰。建议你在测试环境中多加练习,熟练掌握后即可在生产环境中部署。

如果你正在寻找一份完整的 RockyLinux防火墙教程,希望本文能满足你的需求。记住,良好的网络安全始于合理的 nftables防火墙配置