注意:
只有 CentOS 8 & RHEL 8 才可以使用 nftables 防火墙
正文:
步骤一:从 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 <table>
2.2 创建 nftables 防火墙的策略表的 input 链
# nft create chain inet <table> input { type filter hook input priority 0 \; }
2.3 创建 nftables 防火墙的策略表的 forward 链
# nft create chain inet <table> forward { type filter hook forward priority 0 \; }
2.4 创建 nftables 防火墙的策略表的 output 链
# nft create chain inet <table> 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