Миграция правила arb ebtables в nftables
Я бы хотел перейти на nftables (Ubuntu trusty, ядро 3.19). Однако мне интересно, как перенести правила ebtables для пакетов ARP:
-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
не имеют реализованного синтаксиса для исходного и целевого адресов ipv4 в таблицах arp прямо сейчас.
Опытным путем я обнаружил, что вместо этого можно использовать следующие выражения:
plen 4 @nh,64,32
(источник ip)plen 4 @nh,96,32
(IP-адрес назначения)
IPv4-адрес в значении должен быть указан в десятичном виде 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
compat backend для импорта ваших старых команд и проверки нового синтаксиса.