CLI Cisco / Juniper / MikroTik — одни задачи, три синтаксиса
Концепции сетей одинаковы у всех вендоров (VLAN, OSPF, BGP, ACL — это стандарты). Различается синтаксис и
философия CLI. Хороший инженер думает концепциями, а команды подсматривает. Этот модуль — твоя
референс-шпаргалка: одна и та же задача показана параллельно на трёх самых частых платформах.
Зачем тебе три вендора
Cisco IOS — индустриальный стандарт, язык собеседований и сертификаций (CCNA/CCNP).
Juniper Junos — операторы, крупные сети; элегантная модель «candidate config + commit».
MikroTik RouterOS — СНГ-рынок, провайдеры, малый бизнес; дёшево и повсюду.
Увидев незнакомый вендор, ты узнаёшь концепт и быстро находишь его команду.
1. Три философии конфигурирования
Cisco IOS
Команды применяются сразу, построчно. Режимы: user → privileged (enable) →
global config (conf t). Сохранение — отдельно (write memory). Ошибся — уже в проде.
Juniper Junos
Правишь candidate config, который не активен, пока не сделаешь commit. Можно
проверить (commit check), откатить (rollback), даже commit confirmed
с авто-откатом. Иерархическая структура, как дерево.
MikroTik RouterOS
Плоская команда-ориентированная модель: /interface, /ip address и т.д. Применяется
сразу. Есть и Winbox (GUI), и API. Логика своя, но осваивается быстро.
Главное отличие в одной фразе: Cisco/MikroTik меняют конфиг сразу, Junos — через commit с возможностью отката.
Модель Junos (candidate→commit→rollback) — концептуальный предок современного «infrastructure as code».
2. База: вход в режим, hostname, сохранение
Cisco IOS
Juniper Junos
MikroTik RouterOS
enable
conf t
hostname R1
# сохранить:
end
write memory
configure
set system host-name R1
commit
# проверить заранее:
commit check
/system identity
set name=R1
# сохраняется# автоматически
3. Настройка интерфейса и IP
Cisco IOS
Juniper Junos
MikroTik RouterOS
interface gi0/0
ip address 10.0.0.1 255.255.255.0
no shutdown
set interfaces ge-0/0/0 unit 0 \
family inet address 10.0.0.1/24
commit
Junos и MikroTik принимают CIDR (/24) сразу. Cisco IOS исторически хочет
десятичную маску (255.255.255.0) — поэтому считать подсети в уме (модуль 4) особенно важно на Cisco.
4. Статический и default-маршрут
Cisco IOS
Juniper Junos
MikroTik RouterOS
ip route 10.0.99.0 255.255.255.0 10.0.12.2
# default:
ip route 0.0.0.0 0.0.0.0 203.0.113.1
set routing-options static route \
10.0.99.0/24 next-hop 10.0.12.2
set routing-options static route \
0.0.0.0/0 next-hop 203.0.113.1
commit
set vlans USERS vlan-id 10
set interfaces ge-0/0/1 unit 0 \
family ethernet-switching \
vlan members USERS
set interfaces ge-0/0/23 \
... interface-mode trunk
commit
set routing-options autonomous-system 65010
set protocols bgp group EXT type external
set protocols bgp group EXT peer-as 64500
set protocols bgp group EXT neighbor 203.0.113.1
commit
ip access-list extended WEB
permit tcp any host 10.0.0.10 eq 443
deny ip any any
interface gi0/0
ip access-group WEB in
set firewall family inet filter WEB \
term 1 from destination-address 10.0.0.10/32
set firewall ... term 1 from protocol tcp \
destination-port 443 then accept
set firewall ... term 2 then discard
set interfaces ge-0/0/0 unit 0 \
family inet filter input WEB
commit
NETCONF/RESTCONF + YANG — структурированная замена «парсинга show-команд глазами».
🌉 Вот зачем учить концепты, а не команды
Когда ты автоматизируешь сеть через Ansible/NAPALM, ты оперируешь концептами (BGP-сосед, VLAN, ACL), а
библиотека сама генерит синтаксис под вендора. Инженер, который мыслит концептами, переходит в NetDevOps легко.
Тот, кто зазубрил только команды Cisco, — застревает.
12. Вопросы с собеседования
❓ Чем модель конфигурирования Junos отличается от Cisco?
Junos правит candidate config, который активируется только по commit; есть commit check,
rollback, commit confirmed с авто-откатом. Cisco применяет команды сразу, построчно.
❓ Как безопасно менять конфиг на удалённом Cisco, чтобы не «отрезать себя»?
Использовать reload in 5 (плановая перезагрузка через 5 мин) перед рискованным изменением: если
потерял доступ — устройство перезагрузится в сохранённый конфиг. На Junos для этого есть commit confirmed.
❓ Почему важно «думать концептами, а не командами»?
Концепты (OSPF area, BGP-атрибуты, stateful ACL) одинаковы у всех вендоров и переносятся в автоматизацию.
Синтаксис различается и легко ищется. Это отличает инженера от «оператора по методичке».
13. Частые ошибки джунов
ошибка 1Забыл сохранить на Cisco/MikroTik. Поменял, всё работает, ушёл — после перезагрузки конфиг пропал
(write memory не сделан). На Junos этой ошибки нет — там commit и так пишет.
ошибка 2«Отрезал себя» на удалёнке. Закрыл ACL/firewall’ом свой же SSH. На Junos спасает commit confirmed,
на Cisco — reload in заранее.
ошибка 3Зубрит синтаксис одного вендора как «сети вообще». Попав на Juniper/MikroTik, теряется. Концепт →
потом синтаксис.
ошибка 4На Junos забывает commit. «Я же всё ввёл» — но это candidate, в проде ничего не изменилось.
Ключевое за этот урок
Концепции (VLAN/OSPF/BGP/ACL) — стандарты; различается синтаксис и философия CLI.