注意:
只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙
正文:
步骤目录:
步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙
1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表
1.2.2 清空 ipv6 iptables 防火墙的策略表
1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启
1.3.2 停止 firewalld 防火墙
1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙
1.4.2 启动 nftables 防火墙
步骤二:创建 nftables 防火墙的策略表
2.1 创建 nftables 防火墙的策略表
2.2 创建 nftables 防火墙的策略表的 input 链
2.3 创建 nftables 防火墙的策略表的 forward 链
2.4 创建 nftables 防火墙的策略表的 output 链
步骤三:添加临时基本的本地巡回路由策略
具体的操作步骤:
步骤一:从 firewalld 防火墙切换至 nftables 防火墙
1.1 安装 nftables 防火墙
# dnf install nftables
1.2 清空 iptables 防火墙的策略表
1.2.1 清空 ipv4 iptables 防火墙的策略表
# iptables -F
1.2.2 清空 ipv6 iptables 防火墙的策略表
# ip6tables -F
1.3 停止使用 firewalld 防火墙
1.3.1 取消 firewalld 防火墙开机自启
# systemctl disable firewalld.service
1.3.2 停止 firewalld 防火墙
# systemctl stop firewalld.service
1.4 启用 nftables 防火墙
1.4.1 开机自启 nftables 防火墙
# systemctl enable nftables
1.4.2 启动 nftables 防火墙
# systemctl start nftables
步骤二:创建 nftables 防火墙的策略表
2.1 创建 nftables 防火墙的策略表
# nft create table inet <tablename>
2.2 创建 nftables 防火墙的策略表的 input 链
# nft create chain inet <tablename> input { type filter hook input priority 0 \; }
2.3 创建 nftables 防火墙的策略表的 forward 链
# nft create chain inet <tablename> forward { type filter hook forward priority 0 \; }
2.4 创建 nftables 防火墙的策略表的 output 链
# nft create chain inet <tablename> output { type filter hook output priority 0 \; }
步骤三:添加临时基本的本地巡回路由策略
# nft add rule inet filter input iif lo accept
# nft add rule inet filter input ip saddr 127.0.0.0/8 counter drop
# nft add rule inet filter input ip6 saddr ::1 counter drop