安全:nftables常用命令之二

一,nftables的动作

list    查看
create  创建
add     添加
insert  插入
replace 替换
delete  删除
flush   清空

说明: create和add的区别: 如果指定的内容已经存在,add 不会返回错误,而 create 会返回错误

add和insert的区别: add是在后面添加,insert是在前面插入。

二,nftables的动作目标:

ruleset
table
chain
rule
set
map
element

三,Address Family 地址族

地址族决定处理的数据包的类型。

对于每个地址族,内核在数据包处理路径的特定阶段包含所谓的钩子,

如果存在这些钩子的规则,这些钩子将调用 nftables。

ip IPv4,默认

ip6 IPv6

inet Internet (IPv4/IPv6)

arp 处理 IPv4 ARP 数据包

bridge 处理通过网桥设备的数据包

netdev 处理来自入口的数据包,主要用于ingress勾子

四,一个nftables配置例子:

例子: 允许SSH、HTTP、HTTPS和ICMP,禁止其他流入流量
#!/usr/sbin/nft -f

flush ruleset

table inet filter {
    chain input {
        type filter hook input priority 0; policy drop;

        # accept any localhost traffic
        iif lo accept

        # accept traffic originated from us
        ct state established,related accept

        # drop invalid packets
        ct state invalid counter drop

        # accept ssh, http, and https
        tcp dport { 22, 80, 443 } accept

        # accept icmp
        ip protocol icmp accept

        # count and reject everything else
        counter reject with icmpx type admin-prohibited
    }

    chain forward {
        type filter hook forward priority 0; policy drop;
    }

    chain output {
        type filter hook output priority 0; policy accept;
    }

}
 
posted @ 2024-09-03 15:45  刘宏缔的架构森林  阅读(52)  评论(0编辑  收藏  举报