1. 首页 > Linux教程 > 正文

Linux教程FG287-nftables规则创建/删除/保存

内容简介:本文风哥教程参考Linux官方文档、Red Hat Enterprise Linux官方文档、Ansible Automation Platform官方文档、Docker官方文档、Kubernetes官方文档和Podman官方文档等内容,详细介绍了相关技术的配置和使用方法。

本文档风哥主要介绍nftables规则的创建、删除和保存方法,包括规则语法、管理命令、持久化配置等内容。

Part01-基础概念与理论知识

1.1 nftables规则语法

# 基本语法
nft add rule [family] table chain [position] statement

# 常用匹配条件
ip saddr – 源IP地址
ip daddr – 目标IP地址
tcp dport – TCP目标端口
udp dport – UDP目标端口
ct state – 连接状态

Part02-生产环境规划与建议

2.1 规则管理策略

# 管理策略
1. 规则变更前备份
2. 测试新规则
3. 记录变更历史
4. 定期审查规则

Part03-生产环境项目实施方案

3.1 规则创建

# 添加规则到链末尾
$ sudo nft add rule inet filter input tcp dport 80 accept

# 在指定位置插入规则
$ sudo nft insert rule inet filter input position 0 tcp dport 22 accept

# 添加带注释的规则
$ sudo nft add rule inet filter input tcp dport 443 accept comment \”HTTPS\”

# 添加复杂规则
$ sudo nft add rule inet filter input ip saddr 192.168.1.0/24 tcp dport 22 accept

# 添加带计数器的规则
$ sudo nft add rule inet filter input tcp dport 80 counter accept

3.2 规则删除

# 查看规则句柄
$ sudo nft -a list table inet filter
table inet filter {
chain input {
type filter hook input priority 0;
tcp dport 22 accept # handle 5
tcp dport 80 accept # handle 6
}
}

# 根据句柄删除规则
$ sudo nft delete rule inet filter input handle 6

# 清空链中的所有规则
$ sudo nft flush chain inet filter input

# 删除整个表
$ sudo nft delete table inet filter

3.3 规则保存

# 保存规则到文件
$ sudo nft list ruleset > /etc/nftables/main.nft

# 从文件加载规则
$ sudo nft -f /etc/nftables/main.nft

# 开机自动加载规则
$ sudo systemctl enable nftables
$ sudo nft list ruleset > /etc/nftables/main.nft

Part04-生产案例与实战讲解

4.1 案例:Web服务器防火墙规则

# 创建Web服务器规则集
$ sudo nft add table inet webserver
$ sudo nft add chain inet webserver input { type filter hook input priority 0 \; policy drop \; }

# 允许SSH
$ sudo nft add rule inet webserver input tcp dport 22 accept

# 允许HTTP/HTTPS
$ sudo nft add rule inet webserver input tcp dport { 80, 443 } accept

# 允许已建立的连接
$ sudo nft add rule更多学习教程公众号风哥教程itpux_com inet webserver input ct state established,related accept

# 允许本地回环
$ sudo nft add rule inet webserver input iif lo accept

# 保存规则
$ sudo nft list ruleset > /etc/nftables/webserver.nft

风哥提示:

Part05-风哥经验总结与分享

学习交流加群风哥QQ113257174

nftables规则管理要谨慎,建议先在测试环境验证,再应用到生产环境。同时要定期备份规则配置,以便快速恢复。

本文由风哥教程整理发布,仅用于学习测试使用,转载注明出处:http://www.fgedu.net.cn/10327.html

联系我们

在线咨询:点击这里给我发消息

微信号:itpux-com

工作日:9:30-18:30,节假日休息