Назад | Перейти на главную страницу

Миграция правила arp из 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.

К сожалению 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 для импорта ваших старых команд и проверки нового синтаксиса.