Миграция с Cisco на MikroTik — сравнение
Миграция с Cisco на MikroTik — сравнение команд и концепций
Переход с Cisco на MikroTik — распространённый сценарий для компаний, которые ищут мощное сетевое оборудование без многотысячных лицензий. MikroTik предлагает сопоставимую функциональность за 5-10 раз меньшую стоимость при полностью бесплатном лицензировании. Однако CLI, архитектура конфигурации и терминология существенно отличаются. В этом руководстве — подробное сравнение команд, концепций и пошаговый план миграции для сетевых инженеров с опытом Cisco.
Описание
Зачем мигрировать с Cisco на MikroTik
Экономические причины:
| Параметр | Cisco | MikroTik |
|---|---|---|
| Маршрутизатор для офиса 50 чел. | ISR 1100 (~$1500-3000) | RB5009 (~$200) |
| Коммутатор 24 порта L2 | Catalyst 1300 (~$500-800) | CRS326 (~$200) |
| Wi-Fi AP | Catalyst 9120AX (~$1000) | cAP ax (~$100) |
| Лицензия ОС | Smart License (ежегодная) | Бесплатно навсегда |
| Поддержка | SmartNet (~$500-2000/год) | Не требуется (community) |
| Контроллер Wi-Fi | Cisco DNA Center ($$) | CAPsMAN v2 (встроен) |
Технические причины:
- MikroTik RouterOS — единая ОС для маршрутизаторов, коммутаторов и точек доступа
- WireGuard VPN — встроенный, не требует дополнительных лицензий
- Контейнеры — запуск Docker-приложений прямо на роутере
- Мощный scripting — автоматизация любых задач
- REST API — интеграция с внешними системами
- CHR — Cloud Hosted Router для виртуализации (бесплатная лицензия для 1 Mbps)
Ключевые архитектурные различия
| Концепция | Cisco IOS/IOS-XE | MikroTik RouterOS |
|---|---|---|
| Режимы CLI | User EXEC → Privileged → Config | Единый режим, всё через / |
| Конфигурация | Running-config / Startup-config | Единая конфигурация, изменения мгновенно |
| Сохранение | write memory / copy run start | Автоматически (не нужно сохранять) |
| GUI | ASDM (ASA), DNA Center | WinBox (нативный GUI) |
| Интерфейсы | GigabitEthernet0/0 | ether1 |
| VLAN | interface Vlan 10 (SVI) | /interface/vlan или Bridge VLAN Filtering |
| ACL | Access Control Lists (numbered/named) | /ip/firewall/filter (chains) |
| NAT | ip nat inside/outside | /ip/firewall/nat (srcnat/dstnat) |
| Routing | router ospf 1 | /routing/ospf/instance |
Настройка
Таблица сравнения команд (20+ команд)
Базовые команды
| Задача | Cisco IOS | MikroTik RouterOS |
|---|---|---|
| Показать конфигурацию | show running-config | /export |
| Сохранить конфигурацию | write memory | Не нужно (автосохранение) |
| Войти в конфигурацию | configure terminal | Не нужно (единый режим) |
| Выйти из конфигурации | end / exit | Не применимо |
| Имя устройства | hostname Router1 | /system/identity/set name=Router1 |
| Перезагрузка | reload | /system/reboot |
| Версия ОС | show version | /system/resource/print |
| Интерфейсы | show ip interface brief | /ip/address/print |
| Таблица маршрутов | show ip route | /ip/route/print |
| ARP-таблица | show arp | /ip/arp/print |
| MAC-таблица | show mac address-table | /interface/bridge/host/print |
| Пинг | ping 10.0.0.1 | /ping 10.0.0.1 |
| Traceroute | traceroute 10.0.0.1 | /tool/traceroute address=10.0.0.1 |
| Логи | show logging | /log/print |
| Пользователи | username admin privilege 15 | /user/add name=admin group=full |
Настройка интерфейсов
Cisco:
codeinterface GigabitEthernet0/0 ip address 192.168.1.1 255.255.255.0 no shutdown description "LAN Interface"
MikroTik:
[admin@MikroTik] >/ip/address/add address=192.168.1.1/24 interface=ether1 /interface/set ether1 comment="LAN Interface" # Интерфейсы по умолчанию включены # Для отключения: /interface/set ether1 disabled=yes
Статическая маршрутизация
Cisco:
codeip route 10.0.0.0 255.255.255.0 192.168.1.254 ip route 0.0.0.0 0.0.0.0 203.0.113.1
MikroTik:
[admin@MikroTik] >/ip/route/add dst-address=10.0.0.0/24 gateway=192.168.1.254 /ip/route/add dst-address=0.0.0.0/0 gateway=203.0.113.1
DHCP-сервер
Cisco:
codeip dhcp excluded-address 192.168.1.1 192.168.1.99 ip dhcp pool LAN network 192.168.1.0 255.255.255.0 default-router 192.168.1.1 dns-server 1.1.1.1 8.8.8.8 lease 0 8 0
MikroTik:
[admin@MikroTik] >/ip/pool/add name=pool-lan ranges=192.168.1.100-192.168.1.254 /ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \ address-pool=pool-lan lease-time=8h /ip/dhcp-server/network/add address=192.168.1.0/24 \ gateway=192.168.1.1 dns-server=1.1.1.1,8.8.8.8
VLAN
Cisco (Router-on-a-Stick):
codeinterface GigabitEthernet0/0.10 encapsulation dot1q 10 ip address 10.0.10.1 255.255.255.0 interface GigabitEthernet0/0.20 encapsulation dot1q 20 ip address 10.0.20.1 255.255.255.0
Cisco (коммутатор):
codevlan 10 name Management vlan 20 name Users interface GigabitEthernet0/1 switchport mode access switchport access vlan 20 interface GigabitEthernet0/24 switchport mode trunk switchport trunk allowed vlan 10,20
MikroTik (Router — VLAN на интерфейсе):
[admin@MikroTik] >/interface/vlan/add name=vlan10 vlan-id=10 interface=ether1 /interface/vlan/add name=vlan20 vlan-id=20 interface=ether1 /ip/address/add address=10.0.10.1/24 interface=vlan10 /ip/address/add address=10.0.20.1/24 interface=vlan20
MikroTik (коммутатор — Bridge VLAN Filtering):
[admin@MikroTik] >/interface/bridge/add name=bridge1 vlan-filtering=no # Access-порты (VLAN 20) /interface/bridge/port/add bridge=bridge1 interface=ether2 pvid=20 /interface/bridge/port/add bridge=bridge1 interface=ether3 pvid=20 # Trunk-порт /interface/bridge/port/add bridge=bridge1 interface=ether1 # VLAN-таблица /interface/bridge/vlan/add bridge=bridge1 tagged=ether1 \ untagged=ether2,ether3 vlan-ids=20 /interface/bridge/vlan/add bridge=bridge1 tagged=ether1 vlan-ids=10 # Включаем VLAN filtering /interface/bridge/set bridge1 vlan-filtering=yes
Ключевое различие: в Cisco VLAN — это глобальная сущность (vlan 10), а SVI (interface Vlan10) — это L3-интерфейс. В MikroTik VLAN на маршрутизаторе — это подинтерфейс (/interface/vlan), а на коммутаторе — Bridge VLAN Filtering (таблица тегированных/нетегированных портов).
Firewall: Cisco ACL vs MikroTik Chains
Это самое существенное концептуальное различие.
Cisco ACL — это списки правил, которые привязываются к интерфейсу (in/out):
codeaccess-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80 access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 443 access-list 101 deny ip 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255 access-list 101 permit ip any any interface GigabitEthernet0/0 ip access-group 101 in
MikroTik Firewall — использует цепочки (chains) с глобальной таблицей правил:
[admin@MikroTik] ># Правила применяются последовательно, без привязки к интерфейсу # (хотя можно фильтровать по in-interface / out-interface) /ip/firewall/filter/add chain=forward \ src-address=192.168.1.0/24 protocol=tcp dst-port=80,443 \ action=accept comment="Users: allow HTTP/HTTPS" /ip/firewall/filter/add chain=forward \ src-address=192.168.1.0/24 dst-address=10.0.0.0/8 \ action=drop comment="Users: deny internal networks" /ip/firewall/filter/add chain=forward \ src-address=192.168.1.0/24 action=accept \ comment="Users: allow everything else"
Основные цепочки MikroTik:
| Цепочка | Аналог Cisco | Описание |
|---|---|---|
input | Control Plane Policing (CoPP) | Трафик К роутеру (SSH, WinBox, DNS) |
forward | ACL on interface (in/out) | Трафик ЧЕРЕЗ роутер |
output | Не часто используется | Трафик ОТ роутера |
[admin@MikroTik] ># Типичный firewall для корпоративной сети # (аналог Cisco Zone-Based Firewall) # Input chain — защита самого роутера /ip/firewall/filter/add chain=input \ connection-state=established,related action=accept /ip/firewall/filter/add chain=input \ connection-state=invalid action=drop /ip/firewall/filter/add chain=input \ src-address=10.0.10.0/24 action=accept \ comment="Allow management subnet" /ip/firewall/filter/add chain=input \ protocol=icmp action=accept comment="Allow ICMP" /ip/firewall/filter/add chain=input \ action=drop comment="Drop all other input" # Forward chain — трафик между сетями /ip/firewall/filter/add chain=forward \ connection-state=established,related action=fasttrack-connection /ip/firewall/filter/add chain=forward \ connection-state=established,related action=accept /ip/firewall/filter/add chain=forward \ connection-state=invalid action=drop # ... далее правила для зон
NAT: Cisco vs MikroTik
Cisco:
codeinterface GigabitEthernet0/0 ip nat inside interface GigabitEthernet0/1 ip nat outside ip nat inside source list 1 interface GigabitEthernet0/1 overload access-list 1 permit 192.168.1.0 0.0.0.255 ! Static NAT (Port Forward) ip nat inside source static tcp 192.168.1.10 80 interface GigabitEthernet0/1 8080
MikroTik:
[admin@MikroTik] ># Source NAT (masquerade) — аналог ip nat inside source /ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade # Или с конкретным IP (аналог ip nat pool) /ip/firewall/nat/add chain=srcnat out-interface=ether1 \ src-address=192.168.1.0/24 action=src-nat to-addresses=203.0.113.2 # Port Forward (DNAT) — аналог ip nat inside source static /ip/firewall/nat/add chain=dstnat in-interface=ether1 \ protocol=tcp dst-port=8080 action=dst-nat \ to-addresses=192.168.1.10 to-ports=80
В MikroTik NAT — это часть firewall (/ip/firewall/nat), а не отдельная подсистема. Нет понятия «inside/outside» — вместо этого используются in-interface / out-interface и цепочки srcnat / dstnat.
Routing: OSPF
Cisco:
coderouter ospf 1 router-id 1.1.1.1 network 10.0.10.0 0.0.0.255 area 0 network 10.0.20.0 0.0.0.255 area 0 passive-interface GigabitEthernet0/0
MikroTik (RouterOS 7):
[admin@MikroTik] ># В RouterOS 7 OSPF полностью переработан /routing/ospf/instance/add name=ospf-main router-id=1.1.1.1 /routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0 # Interface-template вместо network statement /routing/ospf/interface-template/add area=backbone \ interfaces=ether2,ether3 networks=10.0.10.0/24,10.0.20.0/24 type=broadcast # Passive interface /routing/ospf/interface-template/add area=backbone \ interfaces=ether4 networks=10.0.30.0/24 passive
Ключевое различие: Cisco использует network statement для включения интерфейсов в OSPF. MikroTik RouterOS 7 использует interface-template с явным указанием интерфейсов и сетей.
Routing: BGP
Cisco:
coderouter bgp 65001 neighbor 203.0.113.1 remote-as 65002 address-family ipv4 unicast network 10.0.0.0 mask 255.255.0.0 neighbor 203.0.113.1 activate
MikroTik (RouterOS 7):
[admin@MikroTik] ># BGP в RouterOS 7 использует connection + template /routing/bgp/template/add name=upstream as=65001 \ address-families=ip /routing/bgp/connection/add name=isp1 \ remote.address=203.0.113.1 remote.as=65002 \ local.role=customer \ template=upstream \ routing-table=main # Анонс сети /routing/filter/rule/add chain=bgp-out \ rule="if (dst == 10.0.0.0/16) { accept }"
BGP в RouterOS 7 значительно отличается от Cisco — используются template и connection вместо плоской конфигурации router bgp.
VPN: IPsec
Cisco (Site-to-Site IPsec):
codecrypto ikev2 proposal AES-CBC encryption aes-cbc-256 integrity sha256 group 14 crypto ikev2 policy IKEv2-POLICY proposal AES-CBC crypto ikev2 keyring KEYRING peer REMOTE address 198.51.100.1 pre-shared-key SecretKey123 crypto ikev2 profile PROFILE match identity remote address 198.51.100.1 authentication local pre-share authentication remote pre-share keyring local KEYRING crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac crypto map CMAP 10 ipsec-isakmp set peer 198.51.100.1 set transform-set TS set ikev2-profile PROFILE match address VPN-TRAFFIC ip access-list extended VPN-TRAFFIC permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255 interface GigabitEthernet0/1 crypto map CMAP
MikroTik (Site-to-Site IPsec):
[admin@MikroTik] ># IPsec в MikroTik — значительно проще /ip/ipsec/profile/add name=ike2-profile hash-algorithm=sha256 \ enc-algorithm=aes-256 dh-group=modp2048 /ip/ipsec/proposal/add name=ipsec-proposal auth-algorithms=sha256 \ enc-algorithms=aes-256-cbc pfs-group=modp2048 /ip/ipsec/peer/add name=remote-peer address=198.51.100.1/32 \ profile=ike2-profile exchange-mode=ike2 /ip/ipsec/identity/add peer=remote-peer auth-method=pre-shared-key \ secret="SecretKey123" /ip/ipsec/policy/add src-address=192.168.1.0/24 \ dst-address=192.168.2.0/24 \ tunnel=yes sa-src-address=203.0.113.1 sa-dst-address=198.51.100.1 \ proposal=ipsec-proposal
Или лучше — WireGuard (отсутствует в Cisco):
[admin@MikroTik] ># WireGuard VPN — проще и быстрее IPsec /interface/wireguard/add name=wg-tunnel listen-port=13231 /ip/address/add address=10.255.255.1/30 interface=wg-tunnel /interface/wireguard/peers/add interface=wg-tunnel \ public-key="<PEER_PUBLIC_KEY>" \ allowed-address=10.255.255.2/32,192.168.2.0/24 \ endpoint-address=198.51.100.1 endpoint-port=13231 /ip/route/add dst-address=192.168.2.0/24 gateway=wg-tunnel
WireGuard — одно из главных преимуществ MikroTik перед Cisco. Он проще в настройке, быстрее IPsec и требует всего 5-6 строк конфигурации вместо 20+.
Преимущества и недостатки
MikroTik — преимущества:
- Стоимость: 5-10x дешевле Cisco при сопоставимой функциональности
- Лицензирование: полная функциональность бесплатно (нет Smart License)
- WireGuard: встроенный VPN, которого нет в Cisco
- Контейнеры: Docker на роутере (AdGuard, Pi-hole, мониторинг)
- Scripting: мощный язык автоматизации
- REST API: интеграция с любыми системами
- WinBox: удобный GUI (в Cisco нет аналога для CLI-роутеров)
- CHR: бесплатная виртуализация (RouterOS в облаке)
Cisco — преимущества:
- Enterprise-поддержка: TAC с SLA (для MikroTik — только community и форум)
- SD-WAN: Cisco Viptela/Meraki — полноценное SD-WAN решение
- DNA Center: централизованное управление всей сетью
- Безопасность: Cisco ISE, Firepower, Umbrella — экосистема ИБ
- Масштаб: Cisco Nexus для data center (40G/100G/400G)
- Сертификации: CCNA/CCNP востребованы на рынке
- Стабильность: IOS-XE — зрелая платформа с десятилетиями развития
Пошаговый план миграции
Этап 1: аудит текущей сети Cisco
[admin@MikroTik] ># На Cisco — экспортируем конфигурацию # show running-config # show ip route # show ip interface brief # show vlan brief # show access-lists # show ip nat translations # show crypto session
Создайте таблицу: интерфейс → IP → VLAN → ACL → NAT → описание.
Этап 2: планирование MikroTik-инфраструктуры
| Cisco-устройство | Замена MikroTik | Обоснование |
|---|---|---|
| ISR 4331 (WAN router) | RB5009UG+S+IN | Маршрутизация, VPN, firewall |
| Catalyst 3650 (core switch) | CRS326-24G-2S+RM | L2-коммутация, VLAN |
| Catalyst 9120AX (Wi-Fi AP) | cAP ax | Wi-Fi 6, CAPsMAN |
| WLC 9800 (Wi-Fi controller) | CAPsMAN v2 на RB5009 | Встроен в RouterOS |
| ASA 5508 (firewall) | RB5009 (firewall chains) | Встроен в RouterOS |
Этап 3: параллельное развёртывание
Не заменяйте Cisco на MikroTik за один день. Рекомендуемый подход:
- Настройте MikroTik-оборудование в отдельном VLAN / подсети
- Перенесите конфигурацию (firewall, NAT, DHCP, routing)
- Протестируйте на группе пользователей
- Постепенно переключайте подсети на MikroTik
- После полного перехода — деактивируйте Cisco
[admin@MikroTik] ># Пример: перенос базовой конфигурации с Cisco на MikroTik # 1. Identity /system/identity/set name="HQ-Router" # 2. WAN (бывший Cisco GigabitEthernet0/0) /ip/address/add address=203.0.113.2/30 interface=ether1 # 3. LAN (бывший Cisco GigabitEthernet0/1) /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/add address=192.168.1.1/24 interface=bridge-lan # 4. Default route /ip/route/add dst-address=0.0.0.0/0 gateway=203.0.113.1 # 5. NAT /ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade # 6. DNS /ip/dns/set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8 # 7. DHCP /ip/pool/add name=pool-lan ranges=192.168.1.100-192.168.1.254 /ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \ address-pool=pool-lan lease-time=8h /ip/dhcp-server/network/add address=192.168.1.0/24 \ gateway=192.168.1.1 dns-server=192.168.1.1 # 8. Базовый firewall (вместо ACL) /ip/firewall/filter/add chain=input connection-state=established,related \ action=accept /ip/firewall/filter/add chain=input connection-state=invalid action=drop /ip/firewall/filter/add chain=input in-interface=ether1 action=drop \ comment="Block all input from WAN" /ip/firewall/filter/add chain=forward connection-state=established,related \ action=fasttrack-connection /ip/firewall/filter/add chain=forward connection-state=established,related \ action=accept /ip/firewall/filter/add chain=forward connection-state=invalid action=drop /ip/firewall/filter/add chain=forward in-interface=ether1 \ connection-state=new action=drop \ comment="Block new connections from WAN"
Этап 4: тестирование и переключение
[admin@MikroTik] ># Проверяем маршрутизацию /ip/route/print where active=yes # Проверяем NAT /ip/firewall/nat/print stats # Проверяем firewall /ip/firewall/filter/print stats # Проверяем DHCP /ip/dhcp-server/lease/print # Тест скорости /tool/bandwidth-test address=203.0.113.1 protocol=tcp duration=10s # Тест DNS /ping 1.1.1.1 /tool/dns-test name=google.com
Проверка
После миграции убедитесь, что все сервисы работают:
[admin@MikroTik] ># Базовая связность /ping 8.8.8.8 count=5 /ping 1.1.1.1 count=5 # DNS /ip/dns/print /tool/dns-test name=google.com # Маршруты /ip/route/print where active=yes # NAT-трансляции /ip/firewall/connection/print where natted=yes # Firewall-статистика /ip/firewall/filter/print stats # Проверяем, что правила срабатывают # VPN (если настроен) /interface/wireguard/peers/print # last-handshake должен быть свежим # DHCP-клиенты /ip/dhcp-server/lease/print # Клиенты получают IP-адреса # Нагрузка /system/resource/print # CPU < 50%, free-memory > 30%
Типичные ошибки
Попытка скопировать ACL 1:1
Проблема: сетевой инженер пытается воспроизвести каждый ACL Cisco как firewall-правило MikroTik.
Решение: MikroTik firewall работает иначе. Вместо привязки ACL к интерфейсам используйте единую таблицу правил с in-interface / out-interface и address-list для группировки. Часто 50 правил Cisco можно заменить 10-15 правилами MikroTik.
Забыли про connection tracking
Проблема: настроили firewall без правил для established/related — трафик не ходит.
Решение: в MikroTik (как и в iptables/nftables) connection tracking — ключевой механизм. Первые правила в каждой цепочке:
[admin@MikroTik] >/ip/firewall/filter/add chain=forward \ connection-state=established,related action=accept /ip/firewall/filter/add chain=forward \ connection-state=invalid action=drop
Wildcard mask vs CIDR
Проблема: в Cisco ACL используется wildcard mask (0.0.0.255), а в MikroTik — CIDR (/24).
Решение: конвертация проста: wildcard 0.0.0.255 = /24, wildcard 0.0.3.255 = /22, wildcard 0.0.0.0 = /32. В MikroTik wildcard mask не используется нигде.
Конфигурация не сохраняется (привычка Cisco)
Проблема: после настройки выполняют несуществующий write memory.
Решение: в RouterOS конфигурация сохраняется мгновенно при каждом изменении. Нет running-config/startup-config. Бэкап делается через /export file=backup (текстовый) или /system/backup/save (бинарный).
Cisco SVI vs MikroTik VLAN
Проблема: создали VLAN на MikroTik как на Cisco, но inter-VLAN routing не работает.
Решение: в MikroTik для inter-VLAN routing нужно создать VLAN-интерфейсы на trunk-порте (или bridge) и назначить им IP-адреса. MikroTik не имеет понятия SVI — вместо этого используются VLAN sub-interfaces.
Нет enable/disable — привычка к режимам Cisco
Проблема: инженер ищет аналог enable и configure terminal.
Решение: в RouterOS нет режимов — все команды доступны сразу (с учётом прав пользователя). Группа full = полные права, read = только чтение, write = чтение и запись. Создавайте пользователей с минимально необходимыми правами.
Миграция с Cisco на MikroTik — не просто замена команд, а переход на другую парадигму управления сетью. MikroTik компенсирует отсутствие enterprise-поддержки низкой ценой, гибкостью и функциональностью. Главное — не пытайтесь превратить MikroTik в Cisco. Изучите RouterOS как отдельную платформу, и вы оцените её мощь и простоту.
interface GigabitEthernet0/0
ip address 192.168.1.1 255.255.255.0
no shutdown
description "LAN Interface"
/ip/address/add address=192.168.1.1/24 interface=ether1
/interface/set ether1 comment="LAN Interface"
# Интерфейсы по умолчанию включены
# Для отключения:
/interface/set ether1 disabled=yes
ip route 10.0.0.0 255.255.255.0 192.168.1.254
ip route 0.0.0.0 0.0.0.0 203.0.113.1
/ip/route/add dst-address=10.0.0.0/24 gateway=192.168.1.254
/ip/route/add dst-address=0.0.0.0/0 gateway=203.0.113.1
ip dhcp excluded-address 192.168.1.1 192.168.1.99
ip dhcp pool LAN
network 192.168.1.0 255.255.255.0
default-router 192.168.1.1
dns-server 1.1.1.1 8.8.8.8
lease 0 8 0
/ip/pool/add name=pool-lan ranges=192.168.1.100-192.168.1.254
/ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \
address-pool=pool-lan lease-time=8h
/ip/dhcp-server/network/add address=192.168.1.0/24 \
gateway=192.168.1.1 dns-server=1.1.1.1,8.8.8.8
interface GigabitEthernet0/0.10
encapsulation dot1q 10
ip address 10.0.10.1 255.255.255.0
interface GigabitEthernet0/0.20
encapsulation dot1q 20
ip address 10.0.20.1 255.255.255.0
vlan 10
name Management
vlan 20
name Users
interface GigabitEthernet0/1
switchport mode access
switchport access vlan 20
interface GigabitEthernet0/24
switchport mode trunk
switchport trunk allowed vlan 10,20
/interface/vlan/add name=vlan10 vlan-id=10 interface=ether1
/interface/vlan/add name=vlan20 vlan-id=20 interface=ether1
/ip/address/add address=10.0.10.1/24 interface=vlan10
/ip/address/add address=10.0.20.1/24 interface=vlan20
/interface/bridge/add name=bridge1 vlan-filtering=no
# Access-порты (VLAN 20)
/interface/bridge/port/add bridge=bridge1 interface=ether2 pvid=20
/interface/bridge/port/add bridge=bridge1 interface=ether3 pvid=20
# Trunk-порт
/interface/bridge/port/add bridge=bridge1 interface=ether1
# VLAN-таблица
/interface/bridge/vlan/add bridge=bridge1 tagged=ether1 \
untagged=ether2,ether3 vlan-ids=20
/interface/bridge/vlan/add bridge=bridge1 tagged=ether1 vlan-ids=10
# Включаем VLAN filtering
/interface/bridge/set bridge1 vlan-filtering=yes
access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 80
access-list 101 permit tcp 192.168.1.0 0.0.0.255 any eq 443
access-list 101 deny ip 192.168.1.0 0.0.0.255 10.0.0.0 0.255.255.255
access-list 101 permit ip any any
interface GigabitEthernet0/0
ip access-group 101 in
# Правила применяются последовательно, без привязки к интерфейсу
# (хотя можно фильтровать по in-interface / out-interface)
/ip/firewall/filter/add chain=forward \
src-address=192.168.1.0/24 protocol=tcp dst-port=80,443 \
action=accept comment="Users: allow HTTP/HTTPS"
/ip/firewall/filter/add chain=forward \
src-address=192.168.1.0/24 dst-address=10.0.0.0/8 \
action=drop comment="Users: deny internal networks"
/ip/firewall/filter/add chain=forward \
src-address=192.168.1.0/24 action=accept \
comment="Users: allow everything else"
# Типичный firewall для корпоративной сети
# (аналог Cisco Zone-Based Firewall)
# Input chain — защита самого роутера
/ip/firewall/filter/add chain=input \
connection-state=established,related action=accept
/ip/firewall/filter/add chain=input \
connection-state=invalid action=drop
/ip/firewall/filter/add chain=input \
src-address=10.0.10.0/24 action=accept \
comment="Allow management subnet"
/ip/firewall/filter/add chain=input \
protocol=icmp action=accept comment="Allow ICMP"
/ip/firewall/filter/add chain=input \
action=drop comment="Drop all other input"
# Forward chain — трафик между сетями
/ip/firewall/filter/add chain=forward \
connection-state=established,related action=fasttrack-connection
/ip/firewall/filter/add chain=forward \
connection-state=established,related action=accept
/ip/firewall/filter/add chain=forward \
connection-state=invalid action=drop
# ... далее правила для зон
interface GigabitEthernet0/0
ip nat inside
interface GigabitEthernet0/1
ip nat outside
ip nat inside source list 1 interface GigabitEthernet0/1 overload
access-list 1 permit 192.168.1.0 0.0.0.255
! Static NAT (Port Forward)
ip nat inside source static tcp 192.168.1.10 80 interface GigabitEthernet0/1 8080
# Source NAT (masquerade) — аналог ip nat inside source
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade
# Или с конкретным IP (аналог ip nat pool)
/ip/firewall/nat/add chain=srcnat out-interface=ether1 \
src-address=192.168.1.0/24 action=src-nat to-addresses=203.0.113.2
# Port Forward (DNAT) — аналог ip nat inside source static
/ip/firewall/nat/add chain=dstnat in-interface=ether1 \
protocol=tcp dst-port=8080 action=dst-nat \
to-addresses=192.168.1.10 to-ports=80
router ospf 1
router-id 1.1.1.1
network 10.0.10.0 0.0.0.255 area 0
network 10.0.20.0 0.0.0.255 area 0
passive-interface GigabitEthernet0/0
# В RouterOS 7 OSPF полностью переработан
/routing/ospf/instance/add name=ospf-main router-id=1.1.1.1
/routing/ospf/area/add name=backbone instance=ospf-main area-id=0.0.0.0
# Interface-template вместо network statement
/routing/ospf/interface-template/add area=backbone \
interfaces=ether2,ether3 networks=10.0.10.0/24,10.0.20.0/24 type=broadcast
# Passive interface
/routing/ospf/interface-template/add area=backbone \
interfaces=ether4 networks=10.0.30.0/24 passive
router bgp 65001
neighbor 203.0.113.1 remote-as 65002
address-family ipv4 unicast
network 10.0.0.0 mask 255.255.0.0
neighbor 203.0.113.1 activate
# BGP в RouterOS 7 использует connection + template
/routing/bgp/template/add name=upstream as=65001 \
address-families=ip
/routing/bgp/connection/add name=isp1 \
remote.address=203.0.113.1 remote.as=65002 \
local.role=customer \
template=upstream \
routing-table=main
# Анонс сети
/routing/filter/rule/add chain=bgp-out \
rule="if (dst == 10.0.0.0/16) { accept }"
crypto ikev2 proposal AES-CBC
encryption aes-cbc-256
integrity sha256
group 14
crypto ikev2 policy IKEv2-POLICY
proposal AES-CBC
crypto ikev2 keyring KEYRING
peer REMOTE
address 198.51.100.1
pre-shared-key SecretKey123
crypto ikev2 profile PROFILE
match identity remote address 198.51.100.1
authentication local pre-share
authentication remote pre-share
keyring local KEYRING
crypto ipsec transform-set TS esp-aes 256 esp-sha256-hmac
crypto map CMAP 10 ipsec-isakmp
set peer 198.51.100.1
set transform-set TS
set ikev2-profile PROFILE
match address VPN-TRAFFIC
ip access-list extended VPN-TRAFFIC
permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
interface GigabitEthernet0/1
crypto map CMAP
# IPsec в MikroTik — значительно проще
/ip/ipsec/profile/add name=ike2-profile hash-algorithm=sha256 \
enc-algorithm=aes-256 dh-group=modp2048
/ip/ipsec/proposal/add name=ipsec-proposal auth-algorithms=sha256 \
enc-algorithms=aes-256-cbc pfs-group=modp2048
/ip/ipsec/peer/add name=remote-peer address=198.51.100.1/32 \
profile=ike2-profile exchange-mode=ike2
/ip/ipsec/identity/add peer=remote-peer auth-method=pre-shared-key \
secret="SecretKey123"
/ip/ipsec/policy/add src-address=192.168.1.0/24 \
dst-address=192.168.2.0/24 \
tunnel=yes sa-src-address=203.0.113.1 sa-dst-address=198.51.100.1 \
proposal=ipsec-proposal
# WireGuard VPN — проще и быстрее IPsec
/interface/wireguard/add name=wg-tunnel listen-port=13231
/ip/address/add address=10.255.255.1/30 interface=wg-tunnel
/interface/wireguard/peers/add interface=wg-tunnel \
public-key="<PEER_PUBLIC_KEY>" \
allowed-address=10.255.255.2/32,192.168.2.0/24 \
endpoint-address=198.51.100.1 endpoint-port=13231
/ip/route/add dst-address=192.168.2.0/24 gateway=wg-tunnel
# На Cisco — экспортируем конфигурацию
# show running-config
# show ip route
# show ip interface brief
# show vlan brief
# show access-lists
# show ip nat translations
# show crypto session
# Пример: перенос базовой конфигурации с Cisco на MikroTik
# 1. Identity
/system/identity/set name="HQ-Router"
# 2. WAN (бывший Cisco GigabitEthernet0/0)
/ip/address/add address=203.0.113.2/30 interface=ether1
# 3. LAN (бывший Cisco GigabitEthernet0/1)
/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/add address=192.168.1.1/24 interface=bridge-lan
# 4. Default route
/ip/route/add dst-address=0.0.0.0/0 gateway=203.0.113.1
# 5. NAT
/ip/firewall/nat/add chain=srcnat out-interface=ether1 action=masquerade
# 6. DNS
/ip/dns/set allow-remote-requests=yes servers=1.1.1.1,8.8.8.8
# 7. DHCP
/ip/pool/add name=pool-lan ranges=192.168.1.100-192.168.1.254
/ip/dhcp-server/add name=dhcp-lan interface=bridge-lan \
address-pool=pool-lan lease-time=8h
/ip/dhcp-server/network/add address=192.168.1.0/24 \
gateway=192.168.1.1 dns-server=192.168.1.1
# 8. Базовый firewall (вместо ACL)
/ip/firewall/filter/add chain=input connection-state=established,related \
action=accept
/ip/firewall/filter/add chain=input connection-state=invalid action=drop
/ip/firewall/filter/add chain=input in-interface=ether1 action=drop \
comment="Block all input from WAN"
/ip/firewall/filter/add chain=forward connection-state=established,related \
action=fasttrack-connection
/ip/firewall/filter/add chain=forward connection-state=established,related \
action=accept
/ip/firewall/filter/add chain=forward connection-state=invalid action=drop
/ip/firewall/filter/add chain=forward in-interface=ether1 \
connection-state=new action=drop \
comment="Block new connections from WAN"
# Проверяем маршрутизацию
/ip/route/print where active=yes
# Проверяем NAT
/ip/firewall/nat/print stats
# Проверяем firewall
/ip/firewall/filter/print stats
# Проверяем DHCP
/ip/dhcp-server/lease/print
# Тест скорости
/tool/bandwidth-test address=203.0.113.1 protocol=tcp duration=10s
# Тест DNS
/ping 1.1.1.1
/tool/dns-test name=google.com
# Базовая связность
/ping 8.8.8.8 count=5
/ping 1.1.1.1 count=5
# DNS
/ip/dns/print
/tool/dns-test name=google.com
# Маршруты
/ip/route/print where active=yes
# NAT-трансляции
/ip/firewall/connection/print where natted=yes
# Firewall-статистика
/ip/firewall/filter/print stats
# Проверяем, что правила срабатывают
# VPN (если настроен)
/interface/wireguard/peers/print
# last-handshake должен быть свежим
# DHCP-клиенты
/ip/dhcp-server/lease/print
# Клиенты получают IP-адреса
# Нагрузка
/system/resource/print
# CPU < 50%, free-memory > 30%
/ip/firewall/filter/add chain=forward \
connection-state=established,related action=accept
/ip/firewall/filter/add chain=forward \
connection-state=invalid action=drop