nftables

nftables使用_nftdelete


1 表

1.1 增加表

  • 格式:
 nft add table <family名> <表名> 
  • 例子:
 nft add table bridge filter

1.2 删除表

  • 格式:
nft delete table <family名> <表名> 
  • 例子:
nft delete table bridge filter

2 链

2.1 增加链

  • 格式:
nft add chain <family名> <表名> <链名>

3 规则

3.1 增加规则

  • 格式:
 nft add rule <family名> <表名> <链名> <规则>
  • 例子:
 nft add rule inet fw4 forward tcp dport 80 counter

3.2 插入规则

先list出来规则需要插入的位置,然后在位置前面插入规则

  • 格式:
nft -a list chain  <family名> <表名> <链名>
nft insert rule <family名> <表名> <链名> position <handle索引> <规则>
  • 举例
    在这里插入图片描述

3.3 删除规则

先list出来规则所在的位置,然后删除

  • 格式:
nft -a list chain  <family名> <表名> <链名>
nft delete rule <family名> <表名> <链名> handle <handle索引>
  • 举例:
    在这里插入图片描述

4 调试

4.1 增加log规则

4.1.1 转发链中TCP目的端口为5201的报文

在这里插入图片描述

4.2 增加统计规则

4.2.1 统计netdev的ping包

nft add table netdev filter
nft add chain netdev filter input { 
    type filter hook ingress device lan3 priority 0 \; }
nft insert rule netdev filter input ip protocol icmp counter

4.2.2 统计桥的ping包

  • 桥 "prerouting"统计
nft add table bridge br_table
nft add chain bridge br_table prerouting { 
    type filter hook prerouting priority 0 \; }
nft add rule bridge br_table prerouting ip protocol icmp counter
  • 桥"input"统计
nft add table bridge br_table
nft add chain bridge br_table input { 
    type filter hook input priority 0 \; }
nft add rule bridge br_table input ip protocol icmp counter

5 修改报文内容

5.1 修改MAC地址

5.1.1 根据目的ip修改目的mac

#!/usr/sbin/nft -f
table bridge brfilter { 
   
    chain prerouting { 
   
        type filter hook prerouting priority 0; policy accept;
        ip daddr 192.168.18.1 ether daddr set xx:xx:xx:xx:xx:xx    
    }
}
编程小号
上一篇 2024-10-18 18:11
下一篇 2024-10-18 18:06

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/bian-cheng-ji-chu/4113.html