Удаление IP-адресов из blacklist на основе whitelist в RouterOS

## Зачем нужен такой скрипт?

Последствия блокировки IP-адресов могут быть значительными, особенно если эти адреса при этом как-то связаны с доверенными пользователями или службами. Имея вайтлист, сетевой администратор может удостовериться, что определенные IP-адреса не будут ошибочно заблокированы. Скрипт обеспечивает автоматизацию этого процесса, что упрощает управление и экономит время.

## Как работает скрипт?

Теперь рассмотрим логику работы скрипта более подробно:

## 1. Инициализация и выполнение цикла



Скрипт начинается с шага, на котором он ищет все IP-адреса, включенные в вайтлист:

rsc
/ip firewall address-list :foreach id in=[find where list="whitelist"] do={

Здесь происходит инициализация цикла `foreach`, который перебирает все записи в вайтлисте. Каждой записи присваивается уникальный идентификатор `id`.

## 2. Извлечение данных IP-адреса

Далее в теле цикла скрипт извлекает IP-адрес, связанный с текущим идентификатором:

rsc
:local IP [get $id address]

`IP` теперь содержит адрес, который необходимо проверить в блэклисте.

## 3. Поиск IP-адреса в блэклисте

Теперь скрипт исследует блэклист, чтобы узнать, находится ли этот IP-адрес там:

rsc
:local IPFound [find where list="blocklist" address=$IP]

Если IP-адрес найден в блэклисте, `IPFound` будет содержать информацию о найденной записи. Если адрес не найден, переменная будет пустой.
## 4. Удаление IP-адреса из блэклиста
На следующем шаге скрипт проверяет, была ли найдена запись в блэклисте:
rsc
:if ([:len $IPFound] > 0) do={ remove $IPFound }
Если длина переменной `IPFound` больше нуля, это означает, что IP-адрес был найден в блэклисте, и он будет удален.
## 5. Завершение цикла
Цикл продолжается, пока не будут проверены все IP-адреса в вайтлисте. Таким образом, скрипт гарантирует, что все доверенные адреса, которые могут оказаться в блэклисте, будут автоматически освобождены от блокировки.
## Преимущества использования скрипта
- Автоматизация процесса: Уменьшает необходимость в ручной проверке и корректировке списков. - Устранение ошибок: Снижает вероятность случайного блокирования доверенных IP-адресов. - Экономия времени: Автоматизированный подход позволяет быстрее вносить изменения в списки.
## Заключение
Скрипт на RouterOS для удаления IP-адресов из блэклиста на основе вайтлиста является полезным инструментом для администраторов сетей. Он автоматизирует процесс управления доступом, минимизируя ошибки и сэкономив время на ручные операции. Такой подход не только облегчает задачу по управлению IP-адресами, но и способствует более безопасному и управляемому сетевому окружению.
Обязательно протестируйте скрипт в безопасной среде перед его внедрением в продуктивную сеть, чтобы минимизировать потенциальные риски и обеспечить его корректное функционирование.

Комментарии:

Пока нет комментариев. Будьте первым!