From a77ce95117d536c4b29781e77736106d490344d7 Mon Sep 17 00:00:00 2001 From: bol-van Date: Fri, 15 Mar 2024 17:46:33 +0300 Subject: [PATCH] nftables_notes: more notes --- docs/nftables_notes.txt | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/docs/nftables_notes.txt b/docs/nftables_notes.txt index 4d08f2a..bc811f5 100644 --- a/docs/nftables_notes.txt +++ b/docs/nftables_notes.txt @@ -39,12 +39,31 @@ Swap позволяет немного сгладить проблему, но Боль N3 -Все версии nft вплоть до 1.0.1 имеют баг, который не разрешает названия интерфейсов в кавычках в +Система nftable построена на виртуальной машине. Правила, которые вы пишите, переводятся в псевдокод VM. +Чтобы потом их показать , nft декомпилирует код и переводит в читаемый язык. +Это довольно сложно, и регулярно случаются баги, связанные с неверным отображением. + +Кроме этого, часто встречаются и баги парсера. +Например, все версии nft вплоть до 1.0.1 имеют баг, который не разрешает названия интерфейсов в кавычках в определении flowtable. Без кавычек нельзя вставить интерфейсы , имя которых начинается с цифры. OpenWRT решает эту проблему отдельным патчем в snapshot версии, но на традиционных системах и в openwrt 21.x- его нет. Почему бы не наплевать на интерфейсы, начинающиеся с цифры ? Потому что для openwrt 6to4-6to4, 6in4-he-net - обычное явление. На текущий момент этой проблемы в openwrt уже нет, если использовать актуальную версию. +Но тем не менее, хоть nft и давно перешел отметку 1.0, всякая мелочь, особенно на не совсем стандартных правилах, +регулярно всплывает. Потому чем новее у вас будет версия nft, тем больше там выловлено проблем. +Здесь обновления важны, чтобы потом не мучаться из-за давно исправленного велосипеда. + +Боль N4 + +Невозможно , не копаясь в других таблицах и хуках, ничего не зная об их содержании, предотвратить DROP или REJECT. +Нельзя написать такое правило, которое что-то важное ACCEPTнет, игнорируя остальные хуки во всех таблицах. +Если у вас есть какой-то фаервол, и он что-то дропает, то как от этого отказаться, если надо временно что-то принять ? +Это особенность netfilter, он так работает, но в iptables есть лишь стандартные таблицы с их хуками, куда можно +вставить ACCEPT. Здесь хуков может быть сколько угодно в каких угодно таблицах. +Эта проблема частично ломает кайф от независимого управления таблицами. + + Плюс N1, главный iptables хороши, когда ими пользуется кто-то один. Иначе это проходной двор.