и команды пользователя уже в какие то правила нетфильтра, и в чем должна быть разница в производительности тогда?
Offload для ната там есть
Это разные вещи. В новых дистрибутивах скорее есть транслятор iptables в правила nftables
вещи разные, а фильтрует то всё равно одна подсистема нетфильтр, что от первого что от второго, или ошибаюсь?
Я не эксперт, но вроде там как раз другой код работает
Нетфильтр используется . в iptables нет оффлоад. Но есть нюанс
нет оффлоада, или просто он старый и в нем еще не реализован был параметр, который бы это включал в нетфильтре
Нет там оффлоада. Но у nft сама виртуальная машина в ядре и синтаксис правил у юзерспейс-утилиты позволяет в один прогон кода виртуальной машины (читай за один вызов захученной функции) кучу правил nat перебрать. В этом и профит.
Так там же вроде как я понял ведется какой то параллельно контраку типа индекс, где можно быстро понять, было ли уже такое соединение. И вообще не вызывать хуки по фильтрам
Да. Подобие fasttrack на некротике
да, это называется у них nft flowtable.
правила для ната только для первого пакета соединения и так перебираются, потом уже запись в коннтраке будет, в которой будет информация о том, как именно натить пакеты этого соединения.
ну и зависит от того, как правила написаны. если писать правила по отдельности - профита никакого не будет, но можно использовать словарь, у которого под капотом хеш-таблица, и за один лукап получить информацию о том, надо ли натить и в какой адрес.
Обсуждают сегодня