Миграция правила arp ebtables в nftables

Миграция правила arp ebtables в nftables

Я хотел бы перейти на nftables (Ubuntu trusty, kernel 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на данный момент в таблицах ARP не реализован синтаксис для исходного и конечного IPv4-адресов.

Опытным путем я выяснил, что вместо этого можно использовать следующие выражения:

  • 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совместимый бэкэнд для импорта старых команд и проверки нового синтаксиса.

Связанный контент