Основание для настольного тенниса cornilleau hinotec off+ carbon

Настройка приёма зеркала трафика

Внимание — ничего делать руками не нужно, всё делается автоматически через мастер настройки сети. Информация ниже — просто информация для понимания того как всё работает

Информация ниже — просто информация для понимания того как всё работает.

Трафик с зеркального порта коммутатора ловится в iptables с помощью хитрой комбинации хаков:

  • Включается ip_forward = 1
  • Отключается rp_filter
  • Добавляется правило в ebtables broute BROUTING
  • Интерфейс в который приходит зеркало трафика добавляется в bridge
  • Включается nf_bridge_call_iptables
  • На slave-device в bridge вешается любой IP адрес (для чего приходится патчить /etc/sysconfig/network-scripts/ifup-eth, Carbon Reductor патчит его автоматически при каждом старте).

Важный момент — чтобы зеркало трафика действительно не влияло на нормальный трафик пользователей POLICY для filter FORWARD должен оставаться DROP, иначе — возможны петли в сети.

В общем после настройки сетка обычно должна выглядеть следующим образом:

В случае, если не удаётся растэгировать трафик на коммутаторе, придётся добавлять vlan-интерфейсы для каждого тэга.

Installation

Add the following requirement to your : and then run .

Next, add package’s Service Provider to in section:

After that you may want to add some Aliases ( section of the same config):

Note that will only be used for extending default localizations. See .

If you want to use the power of the same way as you did with original in your models, you may want to use supplied trait for this in your models:

In this case will be used for all dates in your Eloquent model instead of original .

Note that this method is actual for PHP versions 5.4 and higher.

If you are still using PHP 5.3.7 you can substitute Laravel’s Eloquent class by supplied with this package. To do this you can either inherit this class directly, or make an alias to it instead of originial Eloquent in .

Настройки значительно ускоряющие интеграцию и упрощающие сопровождение

Очень полезно автоматическое обновление на новые версии при их наличии раз в сутки. Процедура обновления уже обкатана и безопасна, а баги порой исправляются по 10 штук за день. Когда у продукта было 10-20 пользователей — было достаточно легко обновить каждого руками, а вот когда стало значительно больше — за всеми уследить сложно, и заметить людей сидящих со старой версией и не замечающих найденных и исправленных более месяца назад проблем становится ещё сложнее.

Также просто безумно облегчает жизнь и технической поддержке и администратору включение автоматической диагностики с отправкой отчётов об ошибках разработчикам и самому администратору. Ещё больше облегчает опция «пытаться исправлять найденные диагностикой ошибки», которая:

  • форсированно пытается обновить списки, если они модифицировались более чем 6 часов назад
  • правит параметры ядра для корректной работы, если их изменило стороннее ПО
  • включает подробный вывод и советы по решению проблем в диагностике

Extending Localized Carbon

If needed localization is not shipped with this package, you may write your own and extend Localized Carbon with it, not even touching the vendor folder itself.

There are a couple of ways to extend Localized Carbon.

First, you may write your own class for this, implementing . This interface forces the class to have a single method which looks like this:

is a boolean, which is when the time difference is calculated relevant to current time.
is boolean, which is if the DateTime object is in the future relevant to comparable time.
is an integer, equals to number of units of difference.
is a time-«unit». It can be either: , , , , , or .

So, your method should return a string based on this arguments. As an example see an existing DiffFormatters in directory. You can also reference a lang-files, using as it is done in Russian localization for example.

When your class is ready, you must register it within the Localized Carbon. For this you must call method from within any file which is loaded by the framework. For example, you can do it somewhere in .

The method expects two parameters: first is the language you want to be supported (most often it would be if you want just to use application’s language). Next is the instance of your formatter, OR just a name of the class if it can be autoloaded. Consider these examples:

In the latter case the formatter will be autoloaded when it is needed using IoC. Also note that formatter is loaded only once during application life-cycle due to optimization considerations.

The second way to extend is to pass a Closure as the second parameter. It must have the same signature as the method of interface. For example:

Also, there is a possibility to add an alias for an existing language. For example, Localized Carbon is shipped with Ukranian localization, which is recognized by language key. But what if your application uses or language, which still means it is Ukranian? In this case you may add an alias for language in this way:

Настройка перенаправления на страницу о блокировке

Перенаправление на страницу о блокировке сайта доступно только на уровне подписки SLA2-сопровождение и SLA3-аутсорсинг, на SLA1-стандарт — пользователю посылается tcp-reset, разрывающий соединение. Реализует его target-модуль netfilter ipt_FORBIDDEN также разработанный Carbon Soft и являющийся частью RPM-пакета.

По сути он реализует внутриядерный TCP-session-hijack для пакетов попавшихся в условие фильтрующего правила.

  • Пользователю посылается TCP пакет с флагами PSH/ACK и HTTP 302 Found в data, направляющий на страницу о блокировке.
  • Вслед за ним для надёжности RST-пакет.
  • И для максимальной надёжности от имени пользователя в сторону ресурса также посылается RST-пакет.

Для включения необходимо указать следующие опции:

Установка дополнительного ПО и модификация файрвола

Правила стандартного файрвола переопределяются Carbon Reductor.

При установке дополнительного ПО может возникнуть проблема с тем, что дополнительному ПО ограничивается доступ в сеть.
Для этого в скрипте файрвола /usr/local/Reductor/bin/firewall.sh предусмотрена строчка:

Поэтому в /usr/local/Reductor/userinfo/hooks/firewall.sh (изначально отсутствует) — пропишите нужные вам правила.

Основной скрипт файрвола править не рекомендуется — при обновлении будет затёрт (хуки при обновлении сохраняются).
А в целом — можно спокойно делать yum install необходимого софта.

Подбор железа

Минимум две сетёвки — одна для доступа в интернет и отсылки HTTP-302/RST, другая для

50-200 Мбит/с. Любой сервер на базе Intel (кроме Intel Atom) c двумя сетевыми картами по 1Гбит/с.

200-1000 Мбит/с. Потребуется процессор с частотой 2 ГГц+, две сетевые карты по 1Гбит/с

1-4 Гбит/c. 2-4х ядерный процессор, 2.5 ГГц+ на ядро, сетевая карта на 10Гбит/с

5-10 Гбит/с. 4х ядерный процессор, 3ГГц+ на ядро, сетевая карта на 10Гбит/с

10-50 Гбит/с. 8х ядерный процессор, 3ГГц+ на ядро, сетевые карты 10Гбит на каждые 10гбит трафика

Более 50 Гбит/с. Как правило требуется установка нескольких серверов фильтрации, аналогичных описанным в пункте 10-50Гбит/с. Масштабирование не ограничено. Лучше посоветоваться с суппортом.

Настройка зеркала трафика на коммутаторах

Как уже говорилось выше Carbon Reductor умеет сканировать трафик направляемый с коммутатора.

Делается это следующим образом.

Настройка специфичных опций фильтрации трафика

Блокировка доменов, даже если указана страница

Carbon Reductor будет обрезать GET запрос и блокировать весь домен. Данная опция сделана по запросу одного провайдера, лучше её не использовать, особенно при подключении списков Минюста — будет заблокирован весь vk.com и многие другие сайты.

Блокировка HTTPS по IP из реестра

При обработке dump.xml из реестра РосКомНадзора будут извлекаться IP адресов https ресурсов, добавляться в ipset, и если dst ip соответствует одному из этих адресов — абоненту запросившему его будет послан tcp-reset.

Блокировка HTTPS по IP из вывода nslookup по домену из реестра

При обработке dump.xml из реестра РосКомНадзора будут извлекаться домены https ресурсов, для каждого домена будет выполняться nslookup, из его вывода будут извлечены адреса, которые в свою очередь будут добавляться в ipset, и если dst ip соответствует одному из этих адресов — абоненту запросившему его будет послан tcp-reset.

Фильтрация всего трафика

Увеличивает нагрузку на модуль, так как придётся обрабатывать пакеты в том числе и торрентов, игр и многого другого. Тем не менее в проверке модуля они будут отброшены практически в самом начале, так как не будут иметь заголовков HTTP.

FAQ:

Как забрать списки с satellite

Список подкладывается в файл:

Вы можете установить и настроить на этом же сервере vsftpd, nginx или закинуть ключи ssh и забирать этот список с помощью SCP или забирать файл любым другим удобным способом — вы полностью свободны в выборе удобного для Вас средства, а satellite — инструмент, хорошо выполняющий свою задачу — выгрузку реестра.

Как обновить Carbon Reductor Satellite

Правильного способа пока нет. Временное решение:

Можно явно задать URL RPM-пакета

или

Для обновления скриптов проверки фильтрации можно обойтись:

Как запустить быструю проверку по случайным доменам?

где LIMIT — число URL, доменов для каждого вида проверки.

Также можно указать конкретный вид проверяемой фильтрации:

Можно ограничить проверку конкретным файлом:

или несколькими файлами:

[править] Настройка зеркала трафика на коммутаторах

Делается это следующим образом.

Настройка зеркалирования трафика на Сisco:

Настройка Remote SPAN

Необходимо в случае, если коммутатор-источник зеркалированного трафика находится через несколько коммутаторов от коммутатора-приемника.

На коммутаторе-источнике создаем VLAN:

 vlan 900
 name RSPAN
 remote-span
 Затем создаем monitor session и указываем с какого порта забирать трафик:
 Monitor session 1 source interface FastEthernet 0/2 rx 

Указываем назначение (в нашем случае это RSPAN – VLAN 902)

 Monitor session 1 destination remote vlan 902

Номера session на одном коммутаторе должны совпадать, т.е. указываем откуда берем и куда отправляем наш трафик.

Теперь на всех коммутаторах по пути от нашего коммутатора-источника до коммутатора-приемника создаем vlan 902 и помечаем его как remote-span

На коммутаторе, к которому подключен Carbon Reductor (Например, к порту Fa0/15) создаем monitor session:

 monitor session 1 source remote vlan 902
 monitor session 1 destination interface Fa0/15

Настройка обычного SPAN

В случае, когда берем трафик на одном коммутаторе и на нем же его будем зеркалировать в другой порт, VLAN).

 monitor session 1 source interface FastEthernet 0/2 rx 
 monitor session 1 destination interface Fa0/15

Сервер Reductor подключен к Fa0/15.

“Зеркалить” достаточно трафик исходящий от клиентов – ключевое слово “rx”.

После настройки проверяем наличие трафика в iptables, цепочка FORWARD:

 iptables -t filter -nvL FORWARD

Зеркалирование трафика на D-Link DES 3200

 config mirror port 1 add source ports 2-7 both
 enable mirror

Лучше уточнить direction ingress и тп

 config mirror port 1 add source ports 2-7 tx

2016: Carbon Reductor 8.0.0

Российский производитель программного обеспечения для операторов связи Carbon Soft обновил в декабре 2016 года Carbon Reductor — фильтр трафика запрещенных сайтов до версии 8.0.0.

Главная особенность обновления — продукт перенесён на платформу Carbon Platform 5, на биллинговой системе Carbon Billing 5. Положительные тезисы нововведения:

  • увеличение скорости разработки в несколько раз;
  • установка с универсального образа ISO, который автоматически сделает надёжную разбивку дисков, используемую платформой Carbon;
  • автодиагностика системы теперь происходит раз в 5 минут, а не раз в час, как ранее;
  • загрузка списков в ядро стала отказоустойчивее;
  • новая система обновления, позволяющая получать только полностью проверенные обновления;

Carbon Reductor 8.0.0 внедрен у 5 операторов связи и в скором времени все 400 операторов, использующие фильтр трафика от Carbon Soft будут переведены на новую версию, что сделает выполнение закона о блокировке запрещенных сайтов еще лучше.

См. также

  • Авторское право в интернете
  • Цензура в интернете. Мировой опыт
  • Цензура (контроль) в интернете. Опыт Китая
  • Цензура (контроль) в интернете. Опыт России, Роскомнадзор, ГРЧЦ
  • Закон о регулировании Рунета
  • VPN и приватность (анонимность, анонимайзеры)
  • Автономный интернет в России
  • СОРМ (Система оперативно-розыскных мероприятий)
  • Государственная система обнаружения, предупреждения и ликвидации последствий компьютерных атак (ГосСОПКА)
  • Национальная система фильтрации интернет-трафика (НаСФИТ)
  • Ястреб-М Статистика телефонных разговоров
  • Как обойти интернет-цензуру дома и в офисе: 5 простых способов
  • Ревизор — система контроля блокировки сайтов в России

[править] Процесс отладки фильтрации

Проверить FORWARD

 iptables -nvL FORWARD

Там проверяем счётчики пакетов на правиле с условием reductor и таргетом FORBIDDEN/REJECT, а также на Policy.

Chain FORWARD (policy DROP 0 packets, 0 bytes)

pkts bytes target     prot opt in     out     source               destination         
   0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp spt:443 match-set https_reductor src reject-with tcp-reset 
   0     0 REJECT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:443 match-set https_reductor dst reject-with tcp-reset 
   0     0 FORBIDDEN  tcp  --  *      *       0.0.0.0/0            0.0.0.0/0           tcp dpt:80 UNKNOWN match `reductor' 

Если нули в Policy — значит в FORWARD ещё не попадал трафик.

Проверить mangle PREROUTING

Также важной информацией является наличие трафика в mangle PREROUTING:

 iptables -t mangle -I PREROUTING -p tcp --dport 80
 iptables -t mangle -nvL PREROUTING

Если счётчики нового правила не растут — значит трафик не попадает в iptables вообще.

Счётчики увеличиваются но фильтрация не работает

Наиболее вероятная причина — не уходит RST/HTTP 302 пакет от редуктора к пользователю.

На тестовом клиенте и на всех промежуточных устройствах нужно запустить tcpdump или аналог.

 tcpdump -nvi any tcp port 80

и пробовать открыть URL из списка, наблюдая за пакетами (лучше сохранять в файл, потом можно будет прислать их в поддержку для анализа).

Не работает редирект на страницу

Нужно запустить на тестовом клиенте

 tshark -c 10 -x -n -V -i any tcp port 80

И смотреть подробное сообщение об ошибке во входящих пакетах. Возможно в настройках в URL на который перенаправляются абоненты не указан протокол (http/https).

[править] Альтернативные настройки Carbon Reductor

Для скачивания списков без фильтрации трафика

Некоторые провайдеры с целью «отмазаться» от РосКомНадзора ставят Carbon Reductor с одной целью — скачивать список, чтобы РосКомНадзор не придирался к ним с штрафами. Скажем так, пока что это более менее прокатывает, но скорее всего в скором времени РосКомНадзор начнёт заниматься реальными проверками с помощью «засланных казачков».

Но если необходима кратковременная «затычка», то можно отключить некоторые проверки, чтобы редуктор работал и без зеркала трафика, служа просто утилитой для простого скачивания ссылок.

Официальной опцией это вряд-ли станет.

Добавление собственных списков

Собственные списки добавить проще некуда: достаточно записать эти URL в файл:

 /usr/local/Reductor/userinfo/our.list

Который сохраняется при обновлении.

Формат файла:

Для работы с зеркалом трафика с маршрутизатора

В принципе ничто не мешает делать зеркало трафика только с 80го порта на маршрутизаторе.

Linux

В общем — поставить модуль ipt_TEE или ipt_ROUTE для iptables и добавить соответствующее правило в FORWARD.

Например так:

 iptables -t mangle -A FORWARD -j ROUTE --tee --gw 172.16.1.2

White-листы

Для пользователей

Для сайтов

Достаточно прописать сайты, которые необходимо блокировать в файле:

 /usr/local/Reductor/list/our.whitelist

Есть и более гибкая настройка белых списков, подробнее о ней можно смотреть в подсказках локального меню.

Установка дополнительного ПО и модификация файрвола

Правила стандартного файрвола переопределяются Carbon Reductor.

При установке дополнительного ПО может возникнуть проблема с тем, что дополнительному ПО ограничивается доступ в сеть.
Для этого в скрипте файрвола /usr/local/Reductor/bin/firewall.sh предусмотрена строчка:

 [ -x $HOOKDIR/firewall.sh ] && $HOOKDIR/firewall.sh start || true

Поэтому в /usr/local/Reductor/userinfo/hooks/firewall.sh (изначально отсутствует) — пропишите нужные вам правила.

Основной скрипт файрвола править не рекомендуется — при обновлении будет затёрт (хуки при обновлении сохраняются).
А в целом — можно спокойно делать yum install необходимого софта.

Настройка

Запустите эту команду, включите обновление списков, укажите название компании, инн, огрн и почту для того чтобы выгрузки работали:

затем подложите в /opt/reductor_satellite/userinfo/provider.pem экспортированный сертификат для работы выгрузок. Этого должно быть достаточно чтобы выгрузка работала.

Настройка проверки фильтрации трафика

Для проверки 4 раза в день, добавьте в /etc/crontab строчку:

Или, если вам интересны логи (не забудьте проверить, что логи действительно пишутся):

Подробнее о том, как настроить время запуска проверки можно прочитать здесь:

Специфика провайдера

Также можно и нужно указать специфичные для satellite опции в файле (если файл отсутствует — его надо создать), это:

  • DNS_IP — IP адрес используемой страницы-заглушки. Обязательно.
  • MARKER — текст, по которому можно определить, что открылась именно страница заглушка. Необязательно.
  • http — файл со списком HTTP URL для проверки. Необязательно, нужно только для переопределения.
  • https — файл со списком HTTPS URL для проверки. Необязательно, нужно только для переопределения.
  • dns — файл со списком доменов, которые надо блокировать. Необязательно, нужно только для переопределения.
  • ip — файл со списком ip-адресов, которые надо блокировать. Необязательно, нужно только для переопределения.
  • admin — отдельный список email’ов для отправки отчётов о фильтрации (если не хотите чтобы они приходили на почту указанную для выгрузки)

Пример:

DNS_IP="1.2.3.4"
MARKER="Доступ ограничен"
#dns="/root/my.domains.txt"
#Пример заполнения, в случае использования раскомментировать
declare -A admin
admin='admin@example.com admin2@example.com'

Сохранять выгруженные реестры

Запускайте по cron’у /opt/reductor_satellite/bin/keep_dumps.sh

Если необходимо подстроить формат именования файла под себя, можете заглянуть в него, он довольно простой.

Usage

This package provides a class which inherits original Carbon, so its usage is absolutely the same as original Carbon’s.

But imagine you have a model for example, which has default timestamp fields ( and ). You want to display, how much time has gone since its in a human-readable format. One way to achieve may be such (in your Blade template):

In this case the class will output something like «5 minutes ago». Note that for just an English version of the string original Carbon would be enough. This is used to display the message in the current application language. For example, for Russian language it will display «5 минут назад».

But also, you may substitute Laravel’s Eloquent model, so the timestamps would be converted to instead of original . So the usage could be as if your were using original Carbon:

As in original Carbon, functions has an optional first argument (which is another Carbon instance). It specified the time to which difference should be calculated. By default (a missing or value) current time is used.

Also adds an optional second argument, in which you may specify the desired language, or directly a class which is used to format the difference-string (see ). By default current application language is used. Also you may specify a Closure in the second parameter which will do formatting. For its signature refer to section.

Условия осуществления бесплатной доставки

Розничные закупки для Москвы и МО: 

Бесплатная доставка по городу Москва и Московской области осуществляется при заказе на сумму не менее 3 000 рублей ежедневно с понедельника по субботу 

Оптовые закупки для Москвы и МО:

Бесплатная доставка по городу Москва и Московской области осуществляется при заказе на сумму не менее 8 000 рублей ежедневно с понедельника по субботу

Розничные и оптовые закупки для регионов:

  • Бесплатная доставка до адреса Клиента в Тверской, Владимирской, Рязанской, Калужской, Смоленской, Брянской областях и в г. Орёл осуществляется при сумме заказа не менее 15 000 рублей, в Тульской области — не менее 6 000 рублей, в соответствии с графиком доставки (см. в таблице ниже). В случае, если сумма заказа менее 15 000 рублей (6 000 рублей для Тульской области), бесплатная доставка осуществляется в соответствии с графиком доставки до точки самовывоза в регионе (см. в таблице ниже).
  • Разовая бесплатная доставка вне графика до адреса Клиента осуществляется по Тверской, Владимирской, Рязанской, Тульской, Калужской, Смоленской, Брянской областям и в г. Орёл с понедельника по субботу при сумме заказа не менее 600 000 рублей и наличия письменного запроса от Клиента на осуществление внеплановой доставки.

График доставки

Бесплатная доставка осуществляется в соответствии с графиком:

Направление

Дни недели

Пн

Вт

Ср

Чт

Пт

Сб

Москва и МО

Тверская обл.

Тверь

Бежецк

Вышний Волочек

Торжок

Ржев

Кимры

Калязин

Конаково

Красный Холм

Владимирская обл.

Владимир

Ковров

Гусь Хрустальный, Муром

Смоленская обл.

Смоленск

Вязьма, Сафоново

Рязанская обл.

Рязань

Касимов, Сасово

Тульская обл.

Тульская обл.

Калужская обл.

Калуга

Обнинск (Московская доставка)

Орловская обл.

Орловская обл.

Брянская обл.

Брянская обл.

Дубна

Адреса пунктов самовывоза в регионах:

Направление

Ответственный менеджер

Время

Адрес точки самовывоза

Калуга, Калужская обл.

Куянов Андрей

+7(920)894-01-06

08.30 – 10.00

г. Калуга ул. Параллельная 11, стр.23 (территория МОПР)

Тула, Тульская обл.

Родионов Александр

+7(920)780-99-05

08:00 – 08:30

г. Тула, Алексинское шоссе, д.8

Дубна

Давыденко Ирина

+7(495)995-39-32, доб. 19128

09:00 – 09:30

г. Дубна, ул. Луговая, д.26 А

Брянск, Брянская обл.

Григорьев Алексей 

+7(920)845-28-88

08:00 – 10:00

г. Брянск. Московский проезд, д.10 А

Рязань, Рязанская обл.

Никулов Андрей

+7(920)986-80-90

Дворцов Кирилл

+7(930)780-99-40

Пн-Чт: 08.00-17.00

Пт: 08.00-16.30

г. Рязань, ул. Связи, д. 29 стр. 4

Орел, Орловская обл.

Григорьев Алексей

+7(920)845-28-88

08:30 – 09:30

г. Орел, Московское шоссе, 175

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

 

Более подробно с правилами и условиями доставки можно ознакомиться в Положении по доставке по Вашему региону. Их соблюдение поможет сделать процесс покупки еще более удобным, быстрым и выгодным.

Наш транспорт

Мы перевозим товар любых габаритов (в т.ч. длинномер) в любую точку России и стран СНГ. Наш транспорт оборудован всеми необходимыми средствами разгрузки (гидроборт, гидравлическая тележка), которые помогут Вам быстро и безопасно принять товар в любых условиях!

Наши водители

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

Наши менеджеры

Наши сотрудники учтут все Ваши пожелания по срокам и условиям доставки. Окажут консультативную помощь по любым вопросам, связанным с доставкой и обеспечат полный контроль поставки товара.

Contributing

If you’ve written a formatter for the language which is not supported by current version of Localized Carbon out of the box — feel free to make a pull request with it in the current version branch (1.3), but be sure to adjust your formatter for been used by the package.

The formatter should lie in directory, following a simple naming convention: the class name should start with the desired language in lower-case, but the first letter in upper-case. The rest part of the name should be «DiffFormatter». The file name should correspond to the class name.

For example, the formatter for language would lie in , and the class name would be .

Also I need the help of the community to complete the list of genitives for all supported languages. If you know a language and it uses genitives in dates, feel free to contribute. See an example of Russian or Ukranian files.

Настройка обновления списков РосКомНадзора

Товарищи, как и предполагалось изначально на своём сервере проверяют обращения провайдеров к их серверу с реестром. Тех, кто не скачивают реестр сперва предупреждают о том, что скачивать и фильтровать-то надо, дают на решение этой задачи срок от одного-двух дней до недели, через неделю если ничего не решено — выписывают штраф на 30 000 рублей, ещё через неделю на 60 000 рублей, а потом начинается разговор о лишении лицензии на провайдерскую деятельность.

Для настройки обновления достаточно в локальном меню вписать следующие поля:

Подложить экспортированный закрытый ключ, сохранить настройки, после чего запустить обновление списков.

Как собственно оно работает

Автоматическое обновление списков работает следующим образом.

  • Из данных вводимых в меню и шаблона request.xml.tmplt генерируется файл request.xml в кодировке cp1251
  • request.xml с помощью закрытого ключа и openssl с поддержкой libgost подписывается, получаем request.xml.sign.
  • Данный файл используется PHP скриптом send.php, для запроса реестра запрещённых сайтов с сервера РосКомНадзора и в итоге возвращающим архив register.zip
  • register.zip распаковывается, получаем из него dump.xml
  • dump.xml парсится скриптом dumper.sh и возвращает список конкретных страниц, либо доменов, если конкретной страницы не указано.
  • Если включена фильтрация HTTPS то дополнительно скриптом dumper_https.sh извлекаются ip адреса ресурсов доступных по протоколку https.
  • Если включена опция использовать nslookup для получения ip-адресов, то nslookup «натравливается» на домен ресурса доступного по протоколу https и для фильтрации используются все ip адреса которые он возвращает.
  • из всех списков URL экранируется и генерируется POST-запрос к серверу сигнатур
  • сервер сигнатур возвращает ответ в формате » » который загружается через procfs в модуль фильтрации в ядре Linux.

Консольное меню

Запускается после установки Carbon Reductor командой:

Дефолтная кодировка, если вы выбрали русский язык — UTF-8, поэтому при подключении с помощью PuTTY в настройках (Change Preference -> Translation) вместо KOI8-R нужно выбирать UTF-8.

Обновление Carbon Reductor

Внутри четыре пункта:

Запуск обновления. Все настройки и сертификаты сохраняются, старая версия копируется в папку /usr/local/old_Reductor.$version/.

Включить автоматическое обновление на все версии. В два часа ночи Carbon Reductor проверит, вышла ли новая версия и обновится на неё.

Включить обновление на критические исправления. В два часа ночи Carbon Reductor проверит не изменилась ли версия Reductor с последним критическим исправлением, и если установленная версия старее — обновится.

Обновить веб-интерфейс Reductor. Здесь всё итак ясно. Ориентировочно следующая master-версия будет выпущена в начале ноября 2014.

Регистрация и активация Carbon Reductor

Данный пункт readonly, выдача регномера и кода активации полностью автоматические, происходят при старте Reductor и каждом обновлении списков URL.

Активационный код меняется раз в 10 дней, поэтому код активации приходит вместе со списками сигнатур.

Состояние активации можно наблюдать в верхней строчке локального меню.

Запуск обновления списков

Необходимо только после длительного простоя сервера, либо в целях отладки. Инициализирует загрузку актуального реестра РосКомНадзора.

При повторном запуске все предыдущие процессы обновления завершается.

Статистика работы

В этом пункте можно узнать:

  • актуальность списков
  • данные о сертификате
  • количество пройденных через модуль пакетов,
  • количество фактов блокировки сайтов,
  • состояние регистрации и активации
  • версию и время обновления carbon reductor и его веб-интерфейса

Настройка сканирования трафика

Вызывает мастер настройки сети, который конфигурирует сеть так, чтобы трафик приходящий с коммутатора анализировался модулем фильтрации.

Фишки

  • Повторная выгрузка при неудаче;
  • Уведомления при повторной неудаче;
  • Уведомления при устаревании списков на 6+ часов;
  • GostSSL в комплекте;
  • Установка одной командой;
  • Поддерживает настройку из бэкапа с Carbon Reductor (подхват конфига и сертификата);
  • Не требует ручной установки дополнительных пакетов;
  • Позволяет производить проверку фильтрации трафика в автоматическом режиме с отчётами на почту;
  • Может работать не только на железе/KVM/XEN/VMWare, но и в контейнерах LXC/OpenVZ;
  • Достаточно 256мб оперативной памяти и 1 ядра процессора.
  • Позволяет проверять работу блокировок HTTP, HTTPS, DNS и IP ресурсов без отправки отчёта в РКН
  • Позволяет совершать быструю частичную проверку чтобы быстро оценить текущее состояние работы фильтрации
Ссылка на основную публикацию