Что нового?
В этом релизе вас порадует поддержка нескольких списков для разных сетей, улучшение файрвола, белых списков, нашей системы мониторинга, система анализа возможностей настроек оборудования для повышения производительности обработки пакетов и море других приятных мелочей!
Многосписочность
Сразу поясним — это экспериментальная возможность, форматы и названия файлов со списками и вообще всё целиком может быть изменено. Но формально появилась возможность задать дополнительные списки фильтрации для разных наборов абонентов. Например для того чтобы заблокировать соц. сети какому-нибудь юридическому лицу, которое не имеет системного администратора, который может это сделать на их стороне, и при этом готово даже платить за это деньги как за услугу.
Пока что это сделано, что называется, на коленке: все настройки в простых текстовых файлах. Есть папка в которой лежат URL в файликах с номером списка. Есть папка в которой лежат списки групп абонентов, которые потом загружаются в ipset’ы. Есть файл который связывает списки URL с списками IP адресов/подсетей абонентов, есть файл который связывает IP адреса/подсети абонентов с IP адресами/подсетями https ресурсов. На текущий момент формат привязок для http такой:
blacklist_id ipset_id redirect_url comment
для https:
src_ipset dst_ipset
Если у вас есть желание сейчас или в будущем это использовать — вам стоит списаться с разработчиками, чтобы описать как именно вы хотите чтобы это работало, ибо сейчас как раз проектируется как это будет работать дальше и есть много нерешённых вопросов (как дружить это дело с биллингом, ибо у всех они разные и т.д.). Это можно сделать либо в хелпдеске либо в twitter @carbon_reductor.
Подробнее про эти списки: http://docs.carbonsoft.ru/pages/viewpage.action?pageId=50660458
Улучшен файрвол
В Carbon Reductor стало достаточно много опций, влияющих на правила файрвола, такие как белые списки абонентов, дополнительные правила фильтрации, редиректы неавторизованных/заблокированных/отключенных пользователей (специфичная, конечно, схема, но так уж получилось), правила для фильтрации http не на 80 порту и подобные мелочи. Радикальных изменений нет, скорее просто упорядочивание + небольшая оптимизация.
Цепочка filter FORWARD
Именно в ней происходит передача трафика для фильтрации модулем reductor. Сейчас она выглядит приблизительно следующим образом:
пропуск белого списка абонентов, если есть (skip_check)
все порты на которых ожидается http трафик (http)
проверки списков с биллинга, если включено (bill_http)
редирект неавторизованных
редирект заблокированных
редирект абонентов с отрицательным балансом
пропуск фильтрации белого списка подсетей, если есть (white_http_reductor)
редирект по спискам РКН, минюста и провайдера
дополнительные правила фильтрации http
все порты на которых ожидается https трафик (https)
проверки списков с биллинга если включено (bill_https)
reject заблокированных
reject абонентов с отрицательным балансом
пропуск фильтрации белого списка подсетей, если есть (white_https_reductor)
reject того, что заблокировано по ip (https)
Цепочка mangle PREROUTING
Здесь изменилось мало, просто упорядочили правила по тому, сколько объёма трафика в них попадало, чтобы большая часть пакетов проходила меньше правил. Тех, у кого оптимизация в PREROUTING отключена это даже не коснётся.
Белые списки
Теперь можно запретить фильтрацию как по http так и по https для списка IP адресов подсетей. http://docs.carbonsoft.ru/pages/viewpage.action?pageId=42827787
Изменения по почтовым уведомлениям
Если указаны дополнительные почтовые адреса администраторов, на указанный в настройках выгрузки единого реестра email alarm’ы не отправляются. Так сделано потому что многие жаловались на то, что официальный почтовый ящик иногда заваливает почтой с ошибками, которые предназначаются системным администраторам.
Улучшена наша система мониторинга
Это, конечно, может порадовать только опосредовано — лучшим качеством технической поддержки, но тем не менее, расскажем и об этом.
- Система мониторинга работает для всех, регистрация автоматическая.
- Появились отчёты: список серверов, испытывающих проблемы в данный момент и список работающих в данный момент версий
- Появился лог поломок, позволяющий отследить время возникновения проблем
- Система мониторинга изменений в списке минюста переехала туда же
- В подробной информации о провайдере показывается список хуков, т.к. иногда проблема оказывается или в них или в их отсутствии, так что источник проблемы иногда оказывается выявлен даже без подключения к серверу.
NOTRACK
В настройках алгоритма фильтрации появилась опция использования NOTRACK для трафика с интерфейсов зеркала. Работает только для схемы с зеркалированием трафика с коммутатора. Позволяет значительно снизить нагрузку на процессор, но подходит не для всех схем. Рекомендуется применять только в случае наличия проблем с нагрузкой и только с предварительным наблюдением за работой сервера в течении 1-2 дней, так как в некоторых ситуациях её использование приводит к крайне нестабильному доступу в интернет и в некоторых случаях — отсутствию выгрузок единого реестра. Предположительно проблема с использованием NOTRACK возникает в ситуациях, когда собственный трафик Carbon Reductor попадает к нему в зеркало трафика, но пока не удалось экспериментально это подтвердить/воспроизвести.
Прочие мелочи
- Увеличена максимальная длина URL (слишком длинные URL обрезаются).
- Убрана оптимизация — фильтрация пакетов только с PSH-флагом, т.к. GET запрос может находиться в другом пакете только с ACK при большом размере пакета.
- Добавлен пример хука для main.sh (теперь уже rkn_download.sh), в случае если выгрузка списков располагается на другом сервере, забирать dump.xml с него.
- Улучшена работа с кириллическими URL.
- Поддержка фильтрации на нестандартных портах (пока только для URL из единого реестра).
- Добавлена, но пока не используется (есть проблемы с совместимостью хуков) новая, расширяемая система диагностики. Можно потестировать с помощью запуска команды:
/usr/local/Reductor/bin/angel
- Диагностика (та которая используется) теперь проверяет и сообщает о ситуации, когда зеркало трафика настроено не в ту сторону (к reductor прилетает входящий для абонентов трафик, а не исходящий).
- Добавлен тест работы DNS, который жизненно необходим для обращения за выгрузками единого реестра.
- При обновлении удаляются бэкапы старых версий Carbon Reductor, кроме последних тридцати. Всё таки многие клиенты пользуются Carbon Reductor уже давно, а объём жёстких дисков хоть и не является величайшей проблемой и местом для экономии (согласитесь, меньше 250гб уже и не купить, разве что только если SSD), но всё равно не бесконечен.
- Улучшен вывод ошибок при старте — теперь все ошибки пишут не столько о самой ошибке, сколько о том как её исправить.
- Проверка потерь (dropped пакетов) в диагностике теперь ругается только в случае если число таких пакетов изменилось, чтобы не перезагружать сервер только ради сброса счётчиков после того как проблема с появлением ошибок была исправлена и не заваливать лишними уведомлениями о проблеме почту администратору.