![ebtables arp ルールの nftables への移行](https://rvso.com/image/668055/ebtables%20arp%20%E3%83%AB%E3%83%BC%E3%83%AB%E3%81%AE%20nftables%20%E3%81%B8%E3%81%AE%E7%A7%BB%E8%A1%8C.png)
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 ACCEPT
コマンドは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 アドレスは 10 進数integer
形式で指定する必要があります。
IP アドレスを数値形式に変換するには、オンライン コンバーターを使用できます。
あなたの例で192.168.178.237
は3232281325
最終的なルールは次のようになります。
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