MikroTik Script AutoUpdate Routes (RouterOS 7) - zhovner/zaborona_help GitHub Wiki
Скрипт автозагрузки маршрутов для OpenVPN без замены gateway. Добавить код в System -> Scripts с именем zaborona-route-autoupdate Чтобы файл с маршрутами сработал без правок, интерфейс для Забороны должен называться: zaborona ( если вы настраивали по нашей инструкции )
:local url "https://zaborona.help/mikrotik-add-ranges.txt"
:local fileName "mikrotik-add-ranges.txt"
:local tag "zaborona-autoupdate"
:log info ("[ZABORONA] Start routes autoupdate")
# --- скачать файл ---
:log info ("[ZABORONA] Downloading routes file")
/tool fetch url=$url dst-path=$fileName mode=https
:delay 1
:if ([:len [/file find name=$fileName]] = 0) do={
:log error ("[ZABORONA] File not downloaded, abort")
:error "Download failed"
}
# --- Delete old routes ---
:local oldCount [:len [/ip route find comment=$tag]]
:log info ("[ZABORONA] Removing old routes: $oldCount")
/ip route remove [find comment=$tag]
# --- Importing new routes ---
:log info ("[ZABORONA] Importing new routes")
/import $fileName
:delay 1
# --- Check the result ---
:local newCount [:len [/ip route find comment=$tag]]
:log info ("[ZABORONA] Routes after import: $newCount")
# --- Delete file ---
/file remove [find name=$fileName]
:log info ("[ZABORONA] Routes file removed")
:log info ("[ZABORONA] Routes autoupdate finished")
Добавить задание в планировщик, если необходимо автоматическое обновление маршутов:
add name=zaborona-route-autoupdate-job \
start-time=03:00:00 \
interval=7d \
on-event="/system script run zaborona-route-autoupdate" \
Скрипт настроен на запуск раз в 7 дней в 3 часа ночи. Время запуска и периодичность запуска отредактируйте под себя, если необходимо. На сервере список маршрутов генерируется раз в неделю.
Чтобы файл с маршрутами сработал без правок, интерфейс для Забороны должен называться: zaborona ( если вы настраивали по нашей инструкции ). Если у вас интерфейс называется по-другому, тогда вам нужно вручную (либо через скрипт) заменить в файле интерфейс с gateway=zaborona на gateway=ВАШ_ИНТЕРФЕЙС
Загрузить список вручную:
/tool fetch url="https://zaborona.help/mikrotik-add-ranges.txt" dst-path=mikrotik-add-ranges.txt mode=https
Пример результата выполнения команды:
[admin@MikroTik] > /tool fetch url="https://zaborona.help/mikrotik-add-ranges.txt" dst-path=mikrotik-add-ranges.txt mode=https
status: finished
downloaded: 1015KiB
duration: 1s
Проверить, что файл скачался:
/file print where name="mikrotik-add-ranges.txt"
Пример результата выполнения команды:
[admin@MikroTik] > /file print where name="mikrotik-add-ranges.txt"
Columns: NAME, TYPE, SIZE, LAST-MODIFIED
# NAME TYPE SIZE LAST-MODIFIED
0 mikrotik-add-ranges.txt .txt file 1015.3KiB 2025-12-18 01:34:48
Импортировать маршруты:
/import file-name=mikrotik-add-ranges.txt
Пример результата выполнения команды:
[admin@MikroTik] > /import file-name=mikrotik-add-ranges.txt
Script file loaded and executed successfully
Проверить список маршрутов, которые применились:
/ip route print where comment=zaborona-autoupdate
либо узнать общее количество, без вывода списка маршрутов:
:put [:len [/ip route find comment=zaborona-autoupdate]]
Пример результата выполнения команды:
[admin@MikroTik] > /ip route print where comment=zaborona-autoupdate
Flags: D - dynamic; X - disabled, I - inactive, A - active; c - connect, s - static, r - rip, b - bgp, o - ospf, i - is-is, d - dhcp, v - vpn, m - modem, y - bgp-mpls-vpn>
H - hw-offloaded; + - ecmp
# DST-ADDRESS GATEWAY ROUTING-TABLE DISTAN>
0 As ;;; zaborona-autoupdate
2.56.24.0/22 zaborona main >
1 As ;;; zaborona-autoupdate
2.56.88.0/22 zaborona main >
2 As ;;; zaborona-autoupdate
2.56.180.0/22 zaborona main >
3 As ;;; zaborona-autoupdate
2.57.0.0/24 zaborona main >
4 As ;;; zaborona-autoupdate
2.57.36.0/22 zaborona main >
Пример результата выполнения команды:
[admin@MikroTik] > :put [:len [/ip route find comment=zaborona-autoupdate]]
8369
Удалить маршруты (массово):
/ip route remove [find comment=zaborona-autoupdate]
Удалить единичные маршруты (пример):
/ip route remove [find dst-address=10.10.0.0/24]
Вместо 10.10.0.0/24 нужно подставить адрес сети, который нужно удалить. Например, если не нужно, чтобы сайт открывался через Заборону.