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