MikroTik RouterOS — CLI шпаргалка¶
Довідник команд RouterOS для щоденного адміністрування MikroTik роутерів. Для теорії — Основи RouterOS.
Навігація в CLI¶
| Команда | Дія |
|---|---|
/ |
Перейти в корінь |
.. |
Рівнем вище |
/ip address |
Перейти в меню IP → Addresses |
print |
Показати всі записи |
print detail |
З усіма параметрами |
print where interface=ether1 |
Фільтр |
? або Tab |
Контекстна допомога/автодоповнення |
export |
Вивести поточну конфіг як команди |
export file=backup.rsc |
Зберегти у файл на роутері |
# Експорт без коментарів та замовчувань — чистий diff-friendly конфіг
/export terse hide-sensitive
Interface Management¶
# Список інтерфейсів
/interface print
# Увімкнути/вимкнути
/interface enable ether2
/interface disable ether2
# Перейменувати
/interface set ether1 name=ether1-WAN comment="Uplink to ISP"
# Статистика
/interface monitor-traffic ether1-WAN duration=10
# VLAN
/interface vlan add interface=bridge name=vlan100 vlan-id=100
# Bridge
/interface bridge add name=bridge-lan
/interface bridge port add bridge=bridge-lan interface=ether2
/interface bridge port add bridge=bridge-lan interface=ether3
IP Address та маршрутизація¶
# Призначити IP
/ip address add address=192.168.88.1/24 interface=bridge-lan
/ip address add address=10.10.10.5/24 interface=wg-mesh comment="VPN"
# Default route
/ip route add dst-address=0.0.0.0/0 gateway=192.168.1.1 distance=1
# Статичний маршрут з перевіркою
/ip route add dst-address=10.20.0.0/16 gateway=10.10.10.1 \
check-gateway=ping distance=1
# Перегляд
/ip route print
/ip route print where active=yes
/ip address print
Firewall — filter rules¶
# Мінімальний захист input
/ip firewall filter
add chain=input action=accept connection-state=established,related comment="Allow established"
add chain=input action=drop connection-state=invalid comment="Drop invalid"
add chain=input action=accept protocol=icmp comment="Allow ICMP"
add chain=input action=accept in-interface=bridge-lan comment="Allow LAN"
add chain=input action=accept protocol=udp dst-port=51820 comment="WireGuard"
add chain=input action=accept protocol=tcp dst-port=22 src-address-list=trusted comment="SSH"
add chain=input action=drop comment="Drop everything else"
# Forward (транзит)
add chain=forward action=accept connection-state=established,related
add chain=forward action=drop connection-state=invalid
add chain=forward action=accept in-interface=bridge-lan out-interface=ether1-WAN
add chain=forward action=drop in-interface=ether1-WAN comment="Drop WAN→LAN by default"
# Address-list для trusted IP
/ip firewall address-list add list=trusted address=10.10.10.0/24
/ip firewall address-list add list=trusted address=192.168.88.0/24
NAT (masquerade та port forward)¶
/ip firewall nat
# Masquerade для LAN → WAN
add chain=srcnat out-interface=ether1-WAN action=masquerade comment="NAT out"
# Port forward 443 → внутрішній сервер
add chain=dstnat protocol=tcp dst-port=443 in-interface=ether1-WAN \
action=dst-nat to-addresses=192.168.88.10 to-ports=443 comment="HTTPS to web"
Деталі: MikroTik Firewall.
WireGuard (RouterOS 7)¶
WireGuard вбудовано з RouterOS 7.1+. На 6.x — недоступний, тільки IPsec/OpenVPN/L2TP.
# Створити WG інтерфейс
/interface wireguard add name=wg-mesh listen-port=51820 comment="UMTC mesh"
# Переглянути публічний ключ (згенерується автоматично)
/interface wireguard print detail
# Додати peer (сервер до якого підключаємось)
/interface wireguard peers
add interface=wg-mesh \
public-key="SERVER_PUBLIC_KEY_BASE64=" \
endpoint-address=203.0.113.1 endpoint-port=51820 \
allowed-address=10.10.10.0/24 \
persistent-keepalive=25s \
comment="central hub"
# Призначити IP на WG інтерфейс
/ip address add address=10.10.10.5/24 interface=wg-mesh
# Відкрити порт у firewall
/ip firewall filter add chain=input action=accept protocol=udp dst-port=51820 \
place-before=[find comment="Drop everything else"]
# Перевірка
/interface wireguard peers print stats
Покроковий гайд: MikroTik: підключення до WireGuard.
BGP — RouterOS 6 vs 7¶
RouterOS 6 (legacy)¶
/routing bgp instance
add name=default as=65001 router-id=10.10.10.1
/routing bgp peer
add name=peer1 remote-address=10.10.10.2 remote-as=65002 instance=default
/routing bgp network
add network=10.20.0.0/24 synchronize=no
RouterOS 7 (новий синтаксис)¶
# Підключення до peer
/routing/bgp/connection
add name=peer1 remote.address=10.10.10.2 remote.as=65002 \
local.role=ebgp local.address=10.10.10.1 \
router-id=10.10.10.1 \
.originate-default=never
# Анонсувати мережі через routing filter + static
/routing/filter/rule
add chain=bgp-out select=[find match-chain=bgp-out] \
rule="if (dst in 10.20.0.0/24) { accept } else { accept }"
# Перевірка
/routing/bgp/session print
/routing/bgp/connection print
/ip route print where bgp=yes
Повний гайд: BGP на MikroTik — покрокове налаштування.
DHCP сервер¶
# Створити DHCP pool
/ip pool add name=lan-pool ranges=192.168.88.100-192.168.88.200
# DHCP сервер
/ip dhcp-server add name=lan-dhcp interface=bridge-lan address-pool=lan-pool lease-time=1d disabled=no
/ip dhcp-server network add address=192.168.88.0/24 gateway=192.168.88.1 dns-server=192.168.88.1,1.1.1.1
# Статичний lease (MAC-прив'язка)
/ip dhcp-server lease add mac-address=AA:BB:CC:11:22:33 address=192.168.88.50 server=lan-dhcp
# Активні lease-и
/ip dhcp-server lease print
DNS¶
# Кешуючий DNS на роутері
/ip dns set servers=1.1.1.1,8.8.8.8 allow-remote-requests=yes
# Статичний запис
/ip dns static add name=wiki.umtc.local address=10.10.10.10
/ip dns static add regexp=".*\\.umtc\\.local" address=10.10.10.1
# Кеш
/ip dns cache print
/ip dns cache flush
Backup та restore¶
# Binary backup (прив'язаний до моделі + версії RouterOS!)
/system backup save name=backup-2026-04
/system backup load name=backup-2026-04
# Export/import — текстовий, переноситься між моделями
/export file=full-config
/export file=full-config terse hide-sensitive
# Відновити: у Files -> правим кліком run script, або:
/import file-name=full-config.rsc
# Експорт лише одного меню
/ip firewall export file=firewall-backup
Покроковий гайд: MikroTik: backup та restore.
Користувачі¶
# Список
/user print
# Створити нового admin
/user add name=admin2 password=StrongPass group=full
# Змінити пароль
/user set admin password=NewStrongPassword
# Групи
/user group print
# full — все
# write — без user management
# read — тільки перегляд
# SSH ключі (без пароля)
/user ssh-keys import user=admin public-key-file=admin_id_ed25519.pub
# Активні сесії
/user active print
# Logout користувача
/user active remove [find name=admin]
System / діагностика¶
# Ресурси
/system resource print # CPU, RAM, uptime, версія
/system health print # Температура, вентилятори, voltage
/system identity print # Hostname
# Час / NTP
/system clock print
/system clock set time-zone-name=Europe/Kyiv
/system ntp client set enabled=yes servers=time.google.com,time.cloudflare.com
# Reboot / shutdown
/system reboot
/system shutdown
# Logi
/log print
/log print where topics~"firewall"
/log print where topics~"wireguard"
# Tools
/ping 8.8.8.8 count=5
/tool traceroute 8.8.8.8
/tool torch interface=ether1-WAN # top talkers в реальному часі
/tool bandwidth-test address=10.10.10.1 duration=10s direction=both
# Packet sniffer
/tool sniffer
set filter-port=51820 streaming-enabled=yes streaming-server=10.10.10.5
start
# зачекати, потім
stop
Troubleshooting¶
Втратив доступ після зміни IP / firewall
- Симптом: після зміни /ip address або додавання firewall правила WinBox/SSH не підключається.
- Причина: правило заблокувало власну підмережу, або змінився IP на інтерфейсі через який підключаєшся.
- Рішення: WinBox підключається по MAC — Neighbors → вибрати роутер → зайти без IP. Якщо і MAC не бачить — Netinstall або reset кнопкою (тримати при увімкненні). Превентивно — /system scheduler add name=revert on-event="/system reset-configuration no-defaults=yes" start-time=startup interval=5m перед ризикованою зміною, та /system scheduler remove revert після успішного тестування.
export дає величезний файл з замовчуваннями
- Симптом: /export генерує тисячі рядків, важко знайти реальні зміни.
- Причина: без прапорців виводяться всі параметри включно з default значеннями.
- Рішення: /export terse hide-sensitive — тільки ненульові/non-default + маскує паролі. Для diff між бекапами — обидва робити в terse форматі.
Binary backup не завантажується на інший роутер
- Симптом: /system backup load повертає "incompatible backup" або застосувався, але інтерфейсів не видно.
- Причина: binary backup прив'язаний до конкретної моделі та версії RouterOS. hAP ac³ backup не піде на RB4011.
- Рішення: використовувати .rsc export/import для перенесення між моделями: /export file=cfg → скачати → на іншому роутері /import file-name=cfg.rsc. Інтерфейси можуть мати інші назви — перейменувати /interface set [find default-name=ether1] name=ether1-WAN перед import.
Firewall правило не спрацьовує — counter нулі
- Симптом: /ip firewall filter print stats показує 0 пакетів на очікуваному правилі.
- Причина: вище по списку є правило accept або drop яке перехоплює пакет; або chain неправильний (input vs forward).
- Рішення: print where action=drop — перевірити що drop стоїть ОСТАННІМ; print detail — побачити chain кожного правила. Для транзитного трафіку (LAN → WAN) — ланцюг forward, не input. Для трафіку ДО роутера — input.
Пов'язані статті¶
- Основи RouterOS — перед використанням шпаргалки
- MikroTik Firewall — детально про chain та NAT
- DHCP/DNS на MikroTik — розширена конфігурація
- MikroTik Troubleshooting — діагностика
- MikroTik + WireGuard — покроковий setup
- BGP на MikroTik — динамічна маршрутизація
- Backup та restore — перед кожною зміною
- routeros, mikrotik, bgp — термінологія
Шлях: reference/mikrotik-cli-cheatsheet.md