Как перевести выражения iptables --physdev в nftables - PullRequest
0 голосов
/ 22 марта 2020

Я пытаюсь перевести мои записи в нативные . У меня проблема с physdev операторами - я использую некоторые цепочки для классификации traffi c, проходящего через bridge:

iptables -A FORWARD -m physdev --physdev-is-bridged -j bridgechain
iptables -A bridgechain -m physdev --physdev-in vnet0 --physdev-is-bridged -j vnet0-o
iptables -A brigdechain -m physdev --physdev-out vnet0 --physdev-is-bridged -j vnet0-i

Как правильно реализовать это правила использования родного нфт? iptables-translate выдает только следующее:

nft # -A FORWARD -m physdev --physdev-is-bridged -j brigdechain
nft # -A bridgechain -m physdev --physdev-in vnet0 --physdev-is-bridged -j vnet0-o
nft # -A bridgechain -m physdev --physdev-out vnet0 --physdev-is-bridged -j vnet0-i

Заранее спасибо за помощь!

1 Ответ

0 голосов
/ 29 марта 2020

Насколько я знаю (я не разработчик nftables, знания приходят только из изучения вики netfilter и обширного поиска в Интернете), замену Physdev-is-bridged не существует. Вики netfilter даже считает, что совпадение по Physdev устарело (см. https://wiki.nftables.org/wiki-nftables/index.php/Supported_features_compared_to_xtables)

В моей настройке я смог обойти это, сравнив iifname и oifname с одной и той же строкой, ie.

table inet filter {
  chain forward {
    iifname "br0" oifname "br0" accept
  }
}

Это будет замена для

iptables -A FORWARD -m physdev --physdev-is-bridged -j ACCEPT

, за исключением того, что оно применяется только к мосту "br0", в отличие от правила iptables, которое применяется к любому мосту в системе. Однако, если ваши мосты устарели c, этот обходной путь может быть достаточным для вас.

(С другой стороны, наличие физического моста в восходящем направлении nft - и я полагаю, что указанный выше обходной путь может быть достигается без каких-либо изменений в ядре - было бы действительно хорошо для машин, которые создают мостовые интерфейсы по требованию. Необходимость иметь дело с правилами межсетевого экрана для таких мостов является существенным препятствием для моих попыток переключиться на nftables)

...