web-dev-qa-db-ja.com

ebtablesarpルールのnftablesへの移行

Nftables(Ubuntu trusty、カーネル3.19)に移動したいと思います。ただし、ARPパケットのebtablesルールを移行する方法はわかりません。

-p ARP --arp-op Request --arp-ip-src 192.168.178.237 --arp-mac-src 2:fb:c5:e0:ef:a3 -j ACCEPT

コマンド nft add rule bridge filter qemu1-o arp operation request counter acceptは機能しますが、ip/mac制約をルールに追加する方法がわかりません。

4
gucki

残念ながら、nftablesには、現在、arpテーブルの送信元および宛先IPv4アドレスの構文が実装されていません。

経験的に、次の式を代わりに使用できることがわかりました。

  • plen 4 @nh,64,32(ソースIP)
  • plen 4 @nh,96,32(宛先IP)

値のIPv4アドレスは、10進数の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を使用して、古いコマンドをインポートし、新しい構文を確認できます。

1
kvaps