nftables_notes: more notes

This commit is contained in:
bol-van 2024-03-15 17:46:33 +03:00
parent aa4c3c68ff
commit a77ce95117

View File

@ -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 хороши, когда ими пользуется кто-то один. Иначе это проходной двор.