Буквально несколько дней назад компания Mikrotik анонсировала новостную рассылку №79 (за декабрь 2017). В рамках рассылки было упомянуто обновление RouterOS до версии 6.41.
Честно говоря, лично у меня были большие сомнения, что компания выпустит обновление в преддверии Нового года, т.к. лишняя спешка с такими вещами вовсе ни к чему. Некоторые предыдущие обновления яркий тому пример.
Компания таки решилась выпустить финальную версию обновления RouterOS 6.41. Что же такого интересного в этом обновлении и почему его многие ждут с нетерпением? Попробуем разобраться.
Ранее компания уже пыталась ввести часть изменений, в RC-версиях 6.40, но тогда из-за большого числа проблем и изменений, компании не удалось доработать ПО до стабильного состояния. По этой же причине был откат части функций и перенос в обновление 6.40.
Содержание
- Новый Br >RouterOS версии 6.41 содержит в себе новую реализацию моста (Bridge), которая уже поддерживает аппаратную разгрузку – hw-offload (hardware offload).
- Важные изменения в RouterOS v6.41
- Официальная документация по detect-internet
- Как использовать detect-internet?
- Прочие изменения
- Официальная документация по detect-internet
- Как использовать detect-internet?
- Описание
- Стандартные списки
- Добавление интерфейсов
- Использование в firewall filter
- Использование в firewall nat
- Использование в firewall mangle
- Использование в vpn profiles
- Использование в bridge
- Detect Internet
- Прочее
- Скрипты и cli
Новый Br >RouterOS версии 6.41 содержит в себе новую реализацию моста (Bridge), которая уже поддерживает аппаратную разгрузку – hw-offload (hardware offload).
При выполнении обновления будет выполнено преобразование всех интерфейсов с «master-port», при этом сама опция master-port упраздняется как таковая. Ниже на скриншоте пример того, как конвертируются интерфейсы.

Обратите внимание! В случае понижения версии или отката (downgrade), это не приведет к восстановлению прежней конфигурации с master-port, вместо этого вам потребуется восстановить конфигурацию вручную либо при помощи бэкапа.
Для сохранения копии старой конфигурации бриджа, можно воспользоваться командой:
После чего в консоль будет выведен список команд для восстановления конфигурации, не забудьте их сохранить. Можно и сразу сохранить в rsc-файл, например так:
После этого можно приступить к обновлению. Новый мост реализует обработку Layer2 и при соблюдении определенных условий будет автоматически включать hw-offload (если это возможно). Прочая конфигурация Switch не затрагивается и остается без изменений.
Для просмотра статуса портов достаточно воспользоваться командой:

Важные изменения в RouterOS v6.41
Пришло время ознакомиться с полным списком изменений, который включает очень много интересных изменений и не ограничивается одними только бриджами.
- Новые программные бриджи, совместимые с VLAN (документация);
- "master-port" конвертированы в новую конфигурацию с аппаратным offload (документация);
- Добавлена возможность проверки Интернета (/interface detect-internet) – detnet. Функция классифицирует интерфейсы по типу: Internet, WAN, LAN, unknown и no-link. Во время инициализации, все интерфейсы Layer2 получают статус LAN, для получения статуса WAN, интерфейс L2 должен получать параметры от стороннего DHCP-сервера и обеспечивать активный маршрут к 8.8.8.8 (Google DNS). Интерфейсы с туннелями Layer3 а также интерфейсы LTE-модемов во время инициализации автоматически получают статус WAN. Статус WAN может измениться обратно в LAN только при изменении статуса линка. LAN-интерфейсы блокируются как LAN на 1 час, далее изменение классификации возможно при изменении статуса линка (официальная документация).
- Реализация моста с hw-offload (введено начиная с v6.40rc36);
- Система нумерации версий RouterBOOT приведена в соответствие с нумерацией версий RouterOS;
- Для wAP 60G добавлена поддержка режима PtMP (Point to Multipoint). Пересмотрены режимы "master" и "slave", сейчас это "br >Начиная с обновления RouterOS 6.41 разработчики добавили функцию detect-internet, которая позволяет определять статус интерфейсов.
Для чего можно использовать данную функцию? Например, при создании конфигураций с Failover, т.е. когда у маршрутизатора Mikrotik имеется несколько подключений к сети интернет и при этом есть необходимость автоматического переключения между каналами в случае отказа.
На текущий момент функция доступна как из командной строки и при написании скриптов, так и через интерфейс Winbox. Вместе с этим, разработчики представили нам небольшую документацию. Попробуем разобраться, что к чему.
Официальная документация по detect-internet
Detect Internet (Обнаружение интернета) – инструмент, который классифицирует контролируемые интерфейсы по следующим типам:
Статус LAN (Local Area Network, локальная сеть) присваивается интерфейсам локальной сети, все интерфейсы Layer 2 изначально получают данный статус.
Интерфейсы с этим статусом блокируются на 1 час и в дальнейшем могут изменить свой статус только при изменении статуса соединения (link state).
Статус WAN (Wide Area Network, глобальная сеть) изначально присваивается всем туннелям Layer 3 и интерфейсам LTE-модемов.
Интерфейсы второго уровня (L2) также могут получить статус WAN, для этого необходимо выполнение двух условий:
- интерфейс имеет активный маршрут до IP 8.8.8.8 (сервис Google DNS);
- интерфейс может или уже получил сетевой адрес и параметры сети от DHCP-сервера (не применимо в том случае, если на интерфейсе DHCP-сервер работает Detect Internet).
Интерфейс со статусом «WAN» может вернуться в состояние «LAN» при изменении состояния (link state).
Статус Internet присваивается интерфейсам, ранее получившим статус WAN, при соблюдении дополнительного условия: WAN-интерфейс должен обеспечивать доступ к облаку Mikrotik (cloud.mikrotik.com), используя протокол UDP и порт 30000.
Обратите внимание, в отличие от WAN, статус Internet проверяется с интервалом в 1 минуту, если же облако будет недоступным более 3 минут, интерфейс утратит статус «Internet» и сменит его на «WAN».
Как использовать detect-internet?
Конфигурирование настроек производится в соответствующем подменю
Для того, чтобы просмотреть список доступных опций, выполните команду:
По-умолчанию, detect-internet имеет следующие настройки:
Более подробно рассмотрим каждый из них.
detect-interface-list – все интерфейсы в данном списке будут отслеживаться с помощью инструмента Detect Internet.
internet-interface-list – список, в который автоматически добавляются все интерфейсы со статусом Internet.
lan-interface-list и wan-interface-list – списки, в которые по аналогии автоматически добавляются интерфейсы со статусами LAN и WAN соответственно.
Из всего этого нас интересует первая опция. Для того, чтобы активировать инструмент Detect Internet, выполняем команду:
Данной командой мы активируем проверку статусов на всех интерфейсах маршрутизатора.
Чтобы проверить статус портов, воспользуемся командой:
Команда выводит таблицу интерфейсов со следующими параметрами:
- name – имя интерфейса;
- state – статус;
- state-change-time – дата и время последнего изменения статуса;
- cloud-rtt – пинг до облачного сервиса cloud.mikrotik.com;

Надеемся, Mikrotik будет дорабатывать данную функцию и в скором времени, возможно, мы получим удобный инструмент, частично заменяющий скрипты.
Было бы не плохо увидеть полноценную реализацию функционала в Winbox: возможность задания интервала проверки, своих IP для проверки (а не только Google DNS и Mikrotik Cloud), а также обработчик событий (выполнение скриптов, отправка уведомлений и так далее).
P.S. Выше приведена инструкция по работе с интрументом через командную строку, при желании, можете воспользоваться интерфейсом Winbox.

Прочие изменения
arp — fixed invalid static ARP entries after reboot on interfaces without IP address;
bgp — added 32-bit private ASN support;
bridge — added comment support for VLANs;
bridge — added support for "/interface list" as a bridge port;
bridge — automatically turn off "fast-forward" feature if both bridge ports have "H" flag;
bridge — changed "Host" and "MDB" table column order;
bridge — disable "hw-offload" when "horizon" or "external-fdb" is set;
bridge — fixed "fast-forward" counters;
bridge — fixed ARP setting (introduced in v6.40rc36);
bridge — fixed connectivity issues when there are multiple VLAN interfaces on bridge;
bridge — fixed hw-offloaded IGMP Snooping service getting stopped;
bridge — fixed multicast forwarding (introduced in v6.40rc36);
bridge — implemented dynamic entries for active MST port overrides;
bridge — implemented software based "igmp-snooping";
bridge — removed "frame-types" and "ingress-filtering" for bridge interfaces (introduced in v6.40rc36);
bridge — show bridge interface local addresses in the host table;
btest — improved reliability on Bandwidth Test when device`s RAM is almost full;
capsman — added "vlan-mode=no-tag" option;
capsman — added possibility to downgrade CAP with Upgrade command from CAPsMAN;
capsman — return complete CA chain when issuing new certificate;
capsman — use "adaptive-noise-immunity" value from CAP local configuration;
certificate — added option to store CRL in RAM (CLI only);
certificate — fixed SCEP "get" request URL encoding;
certificate — improved CRL update after system startup;
certificate — show "Expired" flag when initial CRL fetch fails;
certificate — show invalid flag when local CRL file does not exist;
chr — added KVM memory balloon support;
chr — added suspend support;
console — do not stop "/certificate sign" process if console times out in 1 minute;
console — removed "/setup";
crs317 — fixed reliability on FAN controller;
crs326 — fixed packet processing speed on switch chip if individual port link speed differs;
crs326 — improved transmit performance from SFP+ to Ethernet ports;
crs3xx — added ingress/egress rate input limits;
crs3xx — hide unused switch "vlan-mode", "vlan-header-mode" and "default-vlan-id" options;
crs3xx — switch VLAN configuration integrated within bridge VLAN configuration with hw-offload;
dhcp — fixed DHCP services failing after reboot when DHCP option was used;
dhcp — fixed unresponsive DHCP service caused by inability to read not set RAW options;
dhcp — require DHCP option name to be unique;
dhcp-client — limit and enforce DHCP client "default-route-distance" minimal value to 1;
dhcp-server — added "option-set" argument (CLI only);
dhcp-server — added basic RADIUS accounting;
dhcpv4-client — add dynamic DHCP client for mobile clients which require it;
dhcpv4-client — allow to use DUID for client as identity string as the option 61;
dhcpv4-server — added "NETWORK_GATEWAY" option variable;
dhcpv4-server — strip trailing "
