|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (16)
просмотр истории страницы... |
h1. Получение разницы между адресами |
Можете воспользоваться встроенной в Carbon Reductor системой управления оборудованием, добавив хук для управления вашим маршрутизатором. Добавление скрипта: |
# Откройте и изучите пример хука для интеграции с Linux маршрутизаторами, использующими ipset: |
{code} |
cp -p /usr/local/Reductor/contrib/examples/events.sh_template /usr/local/Reductor/userinfo/hooks/events.sh chmod +x /usr/local/Reductor/userinfo/hooks/events.sh |
less /usr/local/Reductor/contrib/examples/events.sh_template |
{code} |
Внутри скрипта допишите функции ip_block_full_add и ip_block_full_del (в шаблоне имеются закомментированные примеры), чтобы они передавали на оборудование команду на удаление/добавление IP адреса для полной блокировки. Проверить, что скрипт работает можно дописав в файл новый ip адрес и вызвав команду: |
# По аналогии с уже имеющимся там примером, отредактируйте в нём три функции: ## ip_block_full_add - получает аргументом $1 IP адрес, который необходимо полностью заблокировать и отправляет на маршрутизатор команду на добавление в список заблокированных ## ip_block_full_del - получает аргументом $1 IP адрес, который необходимо разблокировать и отправляет на маршрутизатор команду на удаление из списка заблокированных ## ip_block_full_get - получает с маршрутизатора список заблокированных IP адресов (1 строка - 1 IP адрес) # Скопируйте хук командой: |
{code} |
echo 169.255.255.100 > /usr/local/Reductor/lists/ip_http.load |
cp -a /usr/local/Reductor/contrib/examples/events.sh_template /usr/local/Reductor/userinfo/hooks/events.sh {code} # Проверьте его работу при ручном запуске: {code} |
/usr/local/Reductor/bin/events.sh {code} |
# Проверьте, что он работает из cron: очистите список на маршрутизаторе и подождите 1 час (запускается по cron в 10 минут каждого часа) |
|
А затем проверить что данная запись появилась на оборудовании (аналогично проверить удаление). |
h1. Получение списка целиком |
... |
{code} |
/usr/local/Reductor/lists/ip_http.load /usr/local/Reductor/lists/ip_block.load |
{code} Вы можете использовать его по собственному усмотрению. |
h1. Тестирование. # Запускаем /usr/local/Reductor/bin/events.sh вручную. ## При первом запуске должно произойти много событий ip_block_full_add. ## При повторном запуске ни одного события произойти не должно. ## Если много событий происходят при повторных запусках, необходимо: ### Проверять функцию получения списка IP - ip_block_full_get ### Проверять функцию отправки IP для блокировки на оборудование - ip_block_full_add. ### Полезным будет запуск в режиме трасировки: bash \-x /usr/local/Reductor/bin/events.sh # Тестируем автоматический запуск по crond. ## Разблокируйте все ресурсы на оборудовании вручную ## Дождитесь запуска events.sh по cron. grep events.sh /etc/cron.d/reductor чтобы узнать когда он запускается ## Наблюдайте за лог-файлом: tail \-f /var/log/reductor/reductor.log ## Наблюдайте за списком блокируемых IP на оборудовании, он должен постепенно наполняться. |
h1. Использование BGP |
Можно анонсировать список IP адресов, которые необходимо заблокировать на маршрутизаторе. |
Здесь перечислены все имеющиеся схемы на текущий момент: |
|
TODO |
[https://github.com/carbonsoft/reductor_bgp_rtbh] Как альтернативу вы можете использовать: [https://github.com/forestmonster/quaggablocker|https://github.com/forestmonster/quaggablocker] но мы пока не тестировали его. h2. Redback SE 100 [https://github.com/carbonsoft/reductor_bgp_rtbh/tree/master/se100] |