将 ebtables arp 规则迁移到 nftables

将 ebtables arp 规则迁移到 nftables

我想迁移到 nftables(Ubuntu Trusty,内核 3.19)。但是我想知道如何迁移 ARP 数据包的 ebtables 规则:

-p ARP --arp-op请求--arp-ip-src 192.168.178.237 --arp-mac-src 2:fb:c5:e0:ef:a3 -j 接受

该命令nft add rule bridge filter qemu1-o arp operation request counter accept有效,但我不知道如何将 ip/mac 约束添加到规则中。

答案1

不幸的是,nftables目前 arp 表中还没有实现源和目标 ipv4 地址的语法。

根据经验,我发现可以改用以下表达式:

  • plen 4 @nh,64,32(源 IP)
  • plen 4 @nh,96,32(目的 IP)

值中的 IPv4 地址应以十进制类型指定integer

您可以使用一些在线转换器将您的 IP 地址转换为数字格式。

在你的例子192.168.178.2373232281325

因此最终规则如下:

nft add rule arp filter input arp operation request arp plen 4 @nh,64,32 3232281325 ether saddr 2:fb:c5:e0:ef:a3 counter accept

PS:您可以使用xtables-nft-multi最新的 iptables 包,它提供了nf_tables兼容的后端来导入您的旧命令并检查新的语法。

相关内容