The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"В Ubuntu 20.10 планируют перейти с iptables на nftables"
Отправлено Аноним, 30-Авг-20 02:39 
>  И между прочим поприятней в эксплуатации, чем iptables, если не старпёр привыкший извращаться в iptables.

Глупости какие-то. firewalld не умеет в SNAT, только маскарад. Это первое что приходит на ум из того что он не умеет. Все что делается мимо стандартного функционала в нем делается через rich rules, которые внезапно имеют синтаксис iptables. Если firewalld имеет nftables в качестве бекенда, значит эти iptables-образные правила будут сконвертированы в nftables.

> Может, конечно он и менее гибок, но куда более логичный и дружелюбный.

Между "менее гибок" и "напрочь отсутствует SNAT" простирается бескрайняя бездна. Если же вы считаете написание rich rules для SNAT в формате правил iptables для последующей конвертации в nftables "логичным и дружелюбным", то вы больны и не лечитесь... и я даже не знаю кто же вам доктор вообще.

> С этим многообразием приблуд для netfilter, по моему, стало очевидным, что нужно делать отдельный удалённый клиент, способный конфигурирвать на удалённой системе netfilter, и завязать уже с этим зоопарком: iptables, firewalld и прочими. Как я понимаю, nftable как раз и есть такая реализация.

Давайте договоримся так, мухи отдельно, а котлеты отдельно. Есть подсистема netfilter и модули nf_tables. Для работы с этими модулями нужны библиотеки в юзерсепейсе libmnl (реализация Netlink для доступа к модулям ядра) и libnftnl (сериализация/десериализация объектов правил для последующей передачи через Netlink). И вот совместно это всё создаёт бекенд nftables. Фронтендом с которым работает пользователь может быть другая программа, например утилита nft или демон firewalld. Фронтенд даёт правила в каком-то человекочитаемом формате, а бекенд работает с десериализированными объектами/структурами. Фронтенды взаимодействуют с двумя юзерспейсными библиотеками собирают правила в объекты и отдают в ядро и наоборот.

Обратите внимание вот на что:
1. Сменился не КЛИЕНТ, а именно изменился бекенд на стороне ядра. Причин на это куча, главные из которых дублирование кода, бедный функционал и сложность добавление нового функционала в старые {x}tables без разлома API/ABI.
2. Смена бекенда закономерно требует переписывания фронтендов... и вот firewalld не переписали. Он как мимикрировал под iptables так и продолжает.
3. nftables унифицирует бекенд и дает API для юзерспейса избавляя от необходимости соблюдать требования по совместимости, ведь точкой входа являются теперь не модули {x}tables и утилиты для работы, цепляющиеся к ним. Теперь есть просто 2 обязательные библиотеки в юзерспейсе.

И если п.1 и п.2 это вам для просто для образования, то п.3 должен у религиозного адепта монолитности ядра Linux вызвать некоторую тревогу, потому что модуль выполз в юзерспейс и стандартизирует не себя а библиотеку в юзерспейсе (libnftnl). Казалось бы в чем тут отличие да? А в том что там идёт обмен сообщениями с юзерспейсом через Netlink, где парсится JSON.

Мне нравится идея унифицированного решения для фаервола, но это скорее вопрос фронтенда. Добиться этой унификации крайне трудно и firewalld даже близко не кандидат. В нем скудный функционал, когда демон firewalld, как минимум, станет равен функционалу "Брандмауэра Windows" у него появится призрачный шанс. Реальная возможность появится только когда эта штука превратится в какой-нибудь RRAS. Унификация возможна только когда функционально фронтенд отвечает всем запросам пользователей.

> Хотя линукс ведь тем и "прекрасен", что можно использовать различные маргинальные технологии для реализации всё тех же вещей и гордиться тем, что ты не такой, как все.

Уже нет. Эти времена прошли. Linux пришел в корпоративный сектор, а вместе с ним люди "вроде меня"... как меня тут только не обзывали. Те кто считает, что лучше одно работающее надежное решение, чем 10 полуфабрикатов ради разнообразия (diversity).

> P.S.: удивительно. К*********** считается ненормативной лексикой. Что-то с OpenNet происходит последнее время.

Чтобы избавиться от аргументов ad hominem, держать дискуссию в конструктивном ключе и создать пространство для цивилизованного обмена мнениями. Приход в корпоративный сектор. Noblesse oblige, так сказать. И вообще вы заметили тренд на переименования слов в Linux-проектах? Нет? Почитайте новости. Не думаете что можно просто так прийти на OpenNet и разбрасываться словом на букву К? Это же "хейтспич", так нельзя!!! =)

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру