Рейтинг:0

Как ускорить работу Firewalld или от него лучше отказаться в пользу nftables?

флаг de

У нас есть проблема, когда мы настроили сервер, на котором запущена служба, и он способен на сотни одновременных подключений к порту 3535 (произвольно назначенному для этого приложения). У нас есть firewalld, работающий на этом ближнем хосте, разрешающий подключения с дальнего хоста, и все работает нормально. Проблема, с которой мы столкнулись, заключается в том, что хост на дальнем конце может установить только несколько соединений за раз, и для получения этих соединений требуется более 30 секунд. Максимум, что мы видели на ближнем принимающем хосте, это в среднем около 35 подключений. Мы выключили firewalld, и он сразу же достиг 850 подключений, а дальний конец не сообщил об отсутствии проблем и задержек при подключении и работал безупречно в течение 15 минут (пока мы снова не включили firewalld).

У нас есть очень простой набор правил, и мы не делаем никакого дросселирования. Есть ли дросселирование по умолчанию в firewalld, которое мне нужно отключить, или мне следует перейти к nftables, и если да, то действительно ли он будет работать лучше, или я гоняюсь за призраком? Мой интернет-провайдер не использует VMWARE, поэтому внешнее решение недоступно.

Заранее спасибо. Дэйвид

A.B avatar
флаг cl
A.B
Firewalld по-прежнему использует nftables в качестве бэкенда (или это может быть iptables).Таким образом, если у вас нет слишком большого необработанного трафика, который ЦП не может выдержать, вам все равно нужно понимать, что происходит, как пакеты отбрасываются, когда они не должны и т. д. Также есть часть *conntrack*, которую нужно проверить. Ошибки исправляются, так что версия ядра тоже имеет значение.
флаг de
Загрузка ЦП, когда это происходит, составляет 0,01 или 0,02 и отвечает и т. д. Даже когда удаленная система жалуется на проблемы с подключением, мы можем подключиться через telnet к порту с нашего удаленного сайта, и он немедленно отвечает. Что касается iptables и nftables... в системе есть iptables. Пакет nftables еще не установлен. Я просто пытаюсь выяснить, есть ли дроссель по умолчанию или iptables слишком медленный, и nftables решит проблему. Мы не говорим о незначительном изменении производительности. В основном он увеличился с 3% до 80%, когда мы отключили брандмауэр.
A.B avatar
флаг cl
A.B
Вам нужно указать все настройки сети (включая firewalld, iptables (например: iptables-save -c), интерфейсы, адреса, маршруты, правила маршрутизации в этом вопросе, чтобы получить помощь. Если это что-то, что нужно держать в секрете, я не уверен, что можно много рассказать.+ ОС, версия ядра, версия iptables и т.д.
флаг de
Я не прошу конкретного «исправить это». Я прошу общих знаний. Потому что это очень простая установка. Весь наш набор правил firewalld состоит примерно из 6 правил (разрешить это, это и это, заблокировать все остальное). Есть только один маршрут, маршрут по умолчанию. Основные вопросы таковы: (а) есть ли какая-то форма дросселирования по умолчанию в firewalld/iptables, и если да, то как мне отключить все дросселирование и (б) быстрее ли nftables, чем iptables? Ни один из этих вопросов не требует конкретных деталей.
A.B avatar
флаг cl
A.B
Ох, хорошо. Это первый раз, когда я вижу сообщения о подобных проблемах. Я удивлен, что это связано с *производительностью* брандмауэра. Я бы сказал, что есть что-то еще, но вы тот человек, который знает вашу установку.
флаг de
Это определенно брандмауэр. Как только я его выключаю, производительность взлетает до небес. Большинство людей думают, что их системы быстрые, но на самом деле они понятия не имеют. Они также не понимают, как эффективно тестировать, чтобы изолировать. Программные брандмауэры требуют *много* дополнительной мощности процессора для фильтрации пакетов. Мы *всегда* выбираем внешние аппаратные брандмауэры и никогда не сталкиваемся с этой проблемой. Но этот поставщик настаивает на использовании программных брандмауэров локально. ОЧЕНЬ ОЧЕНЬ ценю вклад каждого.
A.B avatar
флаг cl
A.B
Совместимо ли это с «Загрузка ЦП, когда это происходит, составляет 0,01 или 0,02 и реагирует»?
флаг de
Я не уверен, что вы спрашиваете. Я думаю, вы спрашиваете, является ли загрузка ЦП практически нулевой, когда это происходит, и ответ - да. Сервер очень отзывчив, так что это не проблема загрузки процессора. Вот поэтому я и подозревал троттлинг. И я исключил отправляющую сторону и программное обеспечение получателя, потому что проблема исчезает, когда установка firewalld отключена.
флаг de
Я считаю, что это ограничение производительности firewalld. У других также была проблема, и она осталась нерешенной: https://forums.centos.org/viewtopic.php?t=58673.
Рейтинг:1
флаг ec

мейнтейнер брандмауэра здесь.

Firewalld в настоящее время не поддерживает ускорение (программный быстрый путь или аппаратная разгрузка). Однако я думаю, что оба они могут быть добавлены с помощью nftables. поток инфраструктура. Однако только несколько сетевых карт поддерживают разгрузку потоковой таблицы.

При этом то, что вы описываете, звучит неправильно. Это ужасная производительность. Firewalld на самом деле не выполняет брандмауэр. Он создает наборы правил iptables/nftables и применяет их. Выполнение правила iptables/nftables происходит в ядре/сетевом фильтре.

Вы можете рассмотреть возможность отключения некоторых дополнительных функций firewalld. IPv6_rpfilter Известно, что в масштабируемых средах возникают проблемы с производительностью, поскольку для этого требуется поиск в FIB. Также рассмотрите другие факторы, которые могут привести к частым обновлениям правил или добавлению большого количества правил, например. фейл2бан.

флаг de
Большое спасибо за информацию, и это имеет смысл. В конечном итоге мы вернулись к решению внешнего брандмауэра.
Рейтинг:0
флаг de

После долгих исследований выяснилось, что nftables здесь не спасает. В этой ситуации он работает не лучше, чем iptables, и поэтому бесполезен.

Общая проблема с производительностью, по-видимому, является ограничением программного брандмауэра firewalld и должна решаться внешним брандмауэром и т. Д. У других была такая же проблема, и она осталась нерешенной: https://forums.centos.org/viewtopic.php?t=58673

Рейтинг:0
флаг us

Вы можете попытаться скопировать правила iptables / nftables, сгенерированные firewalld, отключить firewalld, а затем снова вставить правила iptables / nftables, чтобы вы могли подтвердить или подтвердить, что у firewalld есть некоторые другие ограничивающие параметры.

Если он все еще ограничен, это сгенерированные правила, и вы можете попытаться оптимизировать правила или создать их с нуля с помощью iptables / nftables.

Если это не так, то это может быть ограничение брандмауэра или, что более вероятно, ошибка брандмауэра.

флаг de
это ограничение. эти программные брандмауэры НАМНОГО медленнее, чем аппаратные брандмауэры. Я знаю, что они внедряются повсюду, но я думаю, что большинство пользователей не осознают, насколько они медленные. Итак, мы вернулись к аппаратному обеспечению.

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.