Генератор Address List для MikroTik
Вставьте IP-адреса, сети или диапазоны в любом сочетании и получите чистый скрипт address-list для RouterOS без дубликатов и с объединёнными смежными сетями.
Работает в браузере; ваши списки не покидают устройство
Читает адреса IPv4 и IPv6, сети CIDR и диапазоны вида первый-последний; всё после # или ; в строке игнорируется. Большие списки (сотни тысяч записей) обрабатываются, но это занимает некоторое время. MikroTik и RouterOS являются товарными знаками SIA Mikrotīkls. Этот инструмент независим и не связан с MikroTik и не одобрен этой компанией.
Как создать address list для MikroTik
- Вставьте адреса: по одному в строке либо через запятые или пробелы. Сети (
203.0.113.0/24) и диапазоны (198.51.100.10-198.51.100.20) тоже подходят. - Задайте имя списка и при желании timeout или комментарий для каждой записи.
- Оставьте объединение включённым, чтобы записей было как можно меньше, затем скопируйте скрипт или скачайте файл .rsc и выполните
/import file-name=list.rsc.
Address list в RouterOS
Address list — это именованный набор IP-адресов и сетей в разделе /ip firewall address-list (и /ipv6 firewall address-list для IPv6). Правила файрвола, NAT, mangle и raw могут сопоставлять весь список одним условием, благодаря чему наборы правил остаются короткими и быстрыми: RouterOS ищет принадлежность списку по дереву, а не перебирает по одному правилу на каждую сеть. Списки обычно используют для сетей управления, диапазонов клиентов, чёрных списков из фидов угроз и адресов, которые правило добавляет динамически через action=add-src-to-address-list.
В одном списке могут быть отдельные адреса, сети CIDR и диапазоны, а пересекающиеся записи допустимы, из-за чего импортированные фиды и становятся неряшливыми. Эта страница приводит список в порядок до того, как он попадёт на маршрутизатор: нормализует каждую запись (сеть, записанная с битами хоста, например 10.1.2.3/24, становится 10.1.2.0/24), удаляет точные дубликаты и при включённом объединении сводит всё к минимальному набору блоков CIDR. Для одиночного хоста скрипт использует простой адрес, как его выводит сам RouterOS.
Советы
- Размер, диапазон и маску сети можно проверить в инструменте «Калькулятор подсетей».
- Нужны правила файрвола, использующие список? Начните с инструмента «Генератор файрвола MikroTik».
- Чистите обычный текстовый список? «Удалить дубликаты строк» сохраняет порядок и исходный текст.
Вопросы и ответы
Что делает объединение?
Оно сортирует все записи, соединяет пересекающиеся и соприкасающиеся адреса и сети и записывает результат наименьшим числом блоков CIDR, которые покрывают в точности те же адреса. 10.0.0.0/25 и 10.0.0.128/25 становятся 10.0.0.0/24, а отдельный адрес внутри уже имеющейся сети исчезает. Ничего, что не было покрыто раньше, не добавляется.
Почему диапазон превратился в несколько записей?
Диапазон вроде 10.0.0.5-10.0.0.20 не совпадает с границей одной сети, поэтому записывается блоками CIDR, которые покрывают его точно: 10.0.0.5/32, 10.0.0.6/31, 10.0.0.8/29, 10.0.0.16/30 и 10.0.0.20/32. RouterOS принимает и диапазоны, но записи CIDR легче читать и сравнивать.
Импорт останавливается на полпути с ошибкой «already have such entry». Почему?
RouterOS отказывается добавлять адрес, который уже есть в списке, а импорт останавливается на первой ошибке. Включите «Пропускать уже существующие записи»: тогда каждая строка оборачивается в :do { … } on-error={}, дубликаты пропускаются, и импорт продолжается. Или включите «Заменить список», чтобы сначала очистить его.
Как использовать список в правиле файрвола?
Сопоставляйте его через src-address-list= или dst-address-list=, например /ip firewall raw add chain=prerouting src-address-list=blocklist action=drop. Отбрасывание в таблице raw обходит отслеживание соединений, что дешевле для больших чёрных списков.
Мои списки загружаются на сервер?
Нет. Разбор и объединение выполняются в вашем браузере, ничего из вставленного никуда не отправляется.