Тест для пакета НЕ соответствует набору

Я хотел бы написать правило nftables, которое соответствует полям пакета, которые НЕ находятся в наборе:

ip not ip saddr @local_networks drop

К сожалению, это дает синтаксическую ошибку: "неожиданно!" Перемещение "not" в другие вероятные точки утверждения не имеет значения для сообщения об ошибке. Разрешено ли отрицание?

1 ответ

В Debian 10 (nftables 0.9.0 + любые патчи Debian) этот синтаксис работает для отбрасывания пакетов с исходным IP-адресом, не входящим в набор local_networks:

ip saddr != @local_networks drop

Я изучил исходный код и обнаружил, что хотя "!" и "not" оба являются элементами синтаксиса - для них определены символы лексера, они нигде не используются в парсере. Я полагаю, мне придется подать запрос на улучшение.

Другие вопросы по тегам