Набор полезных скриптов для MikroTik RouterOS.
English version: README.md | Русская версия: README_ru.md
- 🛠️ ros-scripts
| Скрипт | Описание | Мин. версия ROS |
|---|---|---|
| anomalyze | Обнаружение и блокировка аномальных соединений | 7.20+ |
| asn-to-address-list | Автообновление списков адресов по ASN | 7.10+ |
| cloudflare-ddns | Динамическое обновление DNS Cloudflare | 7.20+ |
| resolve-address-lists | DNS-резолвинг IP-адресов в комментариях | 7.20+ |
| warp-finder | Автоподбор рабочих эндпоинтов Cloudflare WARP | 7.20+ |
Обнаружение аномальных соединений и автоматическая блокировка
Скрипт мониторит активные соединения и выявляет подозрительные паттерны: асимметричное количество пакетов (много исходящих, мало входящих). Полезно для защиты от сканирования портов, DoS-атак и тайм-аутов TLS handshake.
Возможности:
- 🎯 Умное обнаружение асимметричных соединений
- 🚫 Автоматическая блокировка по IP
- ✅ Поддержка allowlist для доверенных IP
- 🔒 Защита локальных адресов роутера
- 📊 Гибкое логирование (debug/info/warning/error)
- ⚡ Настройка порогов срабатывания
Файлы:
anomalyze.rsc— основной скриптREADME.md— подробная документация
Быстрый старт:
# Скопировать скрипт в System → Scripts
# Запустить
/system script run connection-monitor
Конфигурация:
:global cfgMonitoredPorts {443; 80; 8443}
:global cfgMinOrigPackets 3
:global cfgMaxReplPackets 2
:global cfgBlockTimeout "1d"
Автоматическое обновление списков адресов по номеру ASN
Загружает актуальные списки IPv4/IPv6 префиксов для любого ASN с ipverse/as-ip-blocks и добавляет их в firewall address-list.
Возможности:
- ✅ Автообновление из GitHub ipverse
- 🌐 Поддержка IPv4 и IPv6
- 🔢 Обработка нескольких ASN за один запуск
- 🔄 Умная очистка старых записей
- 💾 Гибкое хранилище (USB/disk/tmpfs)
Файлы:
update-asn-prefixes.rsc— основной скриптupdate-asn-cleaner.rsc— очистка списковupdate-asn-runner-example.rsc— пример пакетного обновленияREADME.md— подробная документация
Быстрый старт:
# Обновить Cloudflare IPv4
:global UAPASN "13335"
:global UAPLIST "cloudflare-v4"
/system script run update-asn-prefixes
# Несколько ASN за раз
:global UAPASN "13335,16509,15169"
:global UAPLIST "cdn-networks"
/system script run update-asn-prefixes
Популярные ASN:
| Компания | ASN | Описание |
|---|---|---|
| Cloudflare | 13335 | CDN и безопасность |
| 15169 | Инфраструктура Google | |
| Amazon | 16509 | AWS |
| Microsoft | 8075 | Azure |
| Meta | 32934 | Facebook, Instagram |
Динамическое обновление DNS записей Cloudflare
Автоматически обновляет A/AAAA записи в Cloudflare при изменении публичного IP вашего роутера. Поддержка IPv4 и IPv6.
Возможности:
- ✅ IPv4 и IPv6 поддержка
- 🌐 Несколько доменов одновременно
- 🔶 Переключатель Cloudflare Proxy (orange/gray cloud)
- ⚡ Проверка изменений IP перед обновлением
- 🔄 Автоматизация по расписанию
Файлы:
cloudflare-ddns.rsc— основной скриптREADME.md— подробная документация
Быстрый старт:
# 1. Включить IP Cloud
/ip cloud set ddns-enabled=yes
# 2. Настроить скрипт (указать токен, Zone ID, Record ID)
# 3. Создать планировщик
/system scheduler add \
name=cloudflare-ddns-update \
on-event=cloudflare-ddns \
interval=5m \
start-time=startup
Конфигурация доменов:
:local domains {
"example.com,ZONE_ID,RECORD_ID,true,v4";
"ipv6.example.com,ZONE_ID,RECORD_ID,false,v6"
}
DNS-резолвинг IP-адресов в firewall address-list
Автоматически резолвит IP-адреса в указанных списках адресов и сохраняет hostname в комментариях для удобной идентификации.
Возможности:
- 🌐 Поддержка IPv4 и IPv6
- 🔧 Выбор DNS сервера (Cloudflare, Google, Quad9)
- 📝 Обновление только пустых комментариев
- ⚙️ Гибкая настройка списков для обработки
Файлы:
resolve-address-lists.rsc— основной скриптREADME.md— подробная документация
Быстрый старт:
# Настроить списки для резолвинга
:local dnsServer "1.1.1.1"
:local ipVersion "both"
:local ipv4ListsToResolve {
"Trap";
"MYDNS";
}
:local ipv6ListsToResolve {
"Trap-v6";
"MYDNS-v6";
}
# Запустить
/system script run resolve-address-lists
Автоподбор рабочих эндпоинтов Cloudflare WARP
Автоматически тестирует различные IP:port комбинации из инфраструктуры Cloudflare для нахождения рабочего WireGuard эндпоинта.
Возможности:
- 🔄 Автоматический перебор эндпоинтов
- 🎯 Случайная генерация IP:port
- 🏥 Проверка связи через ping
- 📊 Подробное логирование
- 🛡️ Безопасная работа с откатом
Файлы:
warp-finder.rsc— основной скриптwarp-finder-mini.rsc— облегченная версияREADME.md— подробная документацияQUICKSTART.md— быстрый стартFAQ.md— часто задаваемые вопросыCHANGELOG.md— история изменений
Быстрый старт:
# Настроить интерфейс
:local wgInterface "cloudflare-interface"
:local maxAttempts 10
# Запустить
/import warp-finder.rsc
Планировщик для автозапуска:
/system scheduler add \
name="warp-finder" \
interval=6h \
on-event="/import warp-finder.rsc"
| Скрипт | Минимальная версия RouterOS |
|---|---|
| anomalyze | 7.20+ |
| asn-to-address-list | 7.10+ |
| cloudflare-ddns | 7.20+ |
| resolve-address-lists | 7.20+ |
| warp-finder | 7.20+ |
Общие требования:
- Административный доступ к роутеру
- Подключение к интернету
- Включенный пакет
system
- Откройте System → Scripts
- Нажмите + (Add New)
- Укажите имя скрипта
- Скопируйте содержимое
.rscфайла в поле Source - Нажмите OK
# Подключиться к роутеру
ssh admin@192.168.88.1
# Импортировать скрипт
/import имя-скрипта.rsc# Загрузить скрипт на роутер
scp скрипт.rsc admin@192.168.88.1:/
# Импортировать
ssh admin@192.168.88.1
/import скрипт.rscПриветствуются:
- 🐛 Отчеты об ошибках
- 💡 Предложения по улучшению
- 🔧 Pull Request'ы с исправлениями
- 📖 Улучшение документации
- Fork репозитория
- Создайте ветку (
git checkout -b feature/улучшение) - Внесите изменения
- Протестируйте на RouterOS
- Создайте Pull Request
MIT License — подробности в файле LICENSE
Скрипты предоставляются «как есть», без каких-либо гарантий. Используйте на свой страх и риск. Рекомендуется тестирование в непродакшен-среде перед развертыванием.
Сделано с ❤️ для сообщества MikroTik