Интеграция с маршрутизаторами (events.sh)

Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.

Изменения (11)

просмотр истории страницы
Данная интеграция подразумевает анонсирование *с Редуктора* маршрутной информации о том, что нужно заблокировать (согласно списка ip на "полный" блок по всем портам и протоколам)
{info}
Есть два способа интеграции - использование BGP и отправка команд. Мы рекомендуем использовать BGP как наиболее стандартный и надёжный способ. 

h1. Получение разницы между адресами
h1. Использование BGP

[Использование модуля BGP Blackhole|http://docs.carbonsoft.ru/pages/viewpage.action?pageId=69926929].

*Устаревшие схемы:*

[https://github.com/carbonsoft/reductor_bgp_rtbh]



h1. Отправка команд

{warning}
Сохранять папку ssh требуется в chroot в папке cfg.
Либо она затрётся после обновления. После создания ключей, требуется создать на них симлинк в chroot:
{code}
ln \-s /cfg/.ssh/ /root/.ssh
{code}
{warning}

Это решение используется как правило только если есть причины не использовать BGP.

В качестве команд обычно используется наполнение ACL, address-list или ipset IP-адресами для фильтрации.

Создание ACL, address-list или ipset лежит на администраторе маршрутизатора. Нужно сделать так, чтобы после перезагрузки маршрутизатора список существовал и в него можно было добавлять адреса. Обычно достаточно добавить его в конфиг. Опционально можно сделать сохранение этого списка и восстановление его при перезагрузке, это значительно сократит время синхронизации.

h2. Получение разницы между адресами

Важно: все операции выполняются в *chroot /app/reductor*

## ip_block_full_add - получает аргументом $1 IP адрес, который необходимо полностью заблокировать и отправляет на маршрутизатор команду на добавление в список заблокированных
## ip_block_full_del - получает аргументом $1 IP адрес, который необходимо разблокировать и отправляет на маршрутизатор команду на удаление из списка заблокированных
## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес)
## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес), функция должна вывести их на стандартный вывод (stdout), сохранять в какие-либо файлы ничего не нужно.
# Скопируйте хук командой:
{code}
# Проверьте, что он работает из cron: очистите список на маршрутизаторе и подождите 1 час (запускается по cron в 10 минут каждого часа)

h12. Получение списка целиком

Сам список IP адресов которые необходимо заблокировать находится тут:
Вы можете использовать его по собственному усмотрению.

h12. Тестирование.
{info}Первый запуск рекомендуется выполнить вручную, чтобы избежать множества ошибок при автоматическом выполнении.

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

h2. Использование BGP

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


[https://github.com/carbonsoft/reductor_bgp_rtbh]


Как альтернативу вы можете использовать: [https://github.com/forestmonster/quaggablocker|https://github.com/forestmonster/quaggablocker] но мы пока не тестировали его.

h2. Анонсирование списка подсетей


!ip_subnets.png|border=1!

h2. Redback SE 100

[https://github.com/carbonsoft/reductor_bgp_rtbh/tree/master/se100]