Маршрутизаторы Mikrotik. Управление свичом.
Master-port
Первый случай — нам нужен простой «тупой» свич. Один из портов назначается master, остальные — slave. Настройка происходит примерно
так:
[admin@MikroTik] > interface ethernet print
Flags: X - disabled, R - running, S - slave
# NAME MTU MAC-ADDRESS ARP MASTER-PORT SWITCH
0 sfp1 1500 D4:CA:6D:32:0C:44 enabled none switch1
1 R ether1 1500 50:E5:49:56:BF:01 enabled none switch1
2 ether2 1500 D4:CA:6D:32:0C:46 enabled none switch1
3 ether3 1500 D4:CA:6D:32:0C:47 enabled none switch1
4 ether4 1500 D4:CA:6D:32:0C:48 enabled none switch1
5 ether5 1500 D4:CA:6D:32:0C:49 enabled none switch1
6 ether6 1500 D4:CA:6D:32:0C:4A enabled none switch2
7 ether7 1500 D4:CA:6D:32:0C:4B enabled none switch2
8 ether8 1500 D4:CA:6D:32:0C:4C enabled none switch2
9 ether9 1500 D4:CA:6D:32:0C:4D enabled none switch2
10 ether10 1500 D4:CA:6D:32:0C:4E enabled none switch2
[admin@MikroTik] > interface ethernet set 3 master-port=ether2
[admin@MikroTik] > interface ethernet set 4 master-port=ether2
[admin@MikroTik] > interface ethernet set 5 master-port=ether2
[admin@MikroTik] > interface ethernet print
Flags: X - disabled, R - running, S - slave
# NAME MTU MAC-ADDRESS ARP MASTER-PORT SWITCH
0 sfp1 1500 D4:CA:6D:32:0C:44 enabled none switch1
1 R ether1 1500 50:E5:49:56:BF:01 enabled none switch1
2 ether2 1500 D4:CA:6D:32:0C:46 enabled none switch1
3 S ether3 1500 D4:CA:6D:32:0C:47 enabled ether2 switch1
4 S ether4 1500 D4:CA:6D:32:0C:48 enabled ether2 switch1
5 S ether5 1500 D4:CA:6D:32:0C:49 enabled ether2 switch1
6 ether6 1500 D4:CA:6D:32:0C:4A enabled none switch2
7 ether7 1500 D4:CA:6D:32:0C:4B enabled none switch2
8 ether8 1500 D4:CA:6D:32:0C:4C enabled none switch2
9 ether9 1500 D4:CA:6D:32:0C:4D enabled none switch2
10 ether10 1500 D4:CA:6D:32:0C:4E enabled none switch2
Master-port можно назначать только в рамках одной switch group.
[admin@MikroTik] > interface ethernet set 6 master-port=ether2
master-port must be in same switch group
Две switch-group объединяются уже через bridge. В таком bridge будет только два master-port, ну может еще wifi, если такой есть.
Но bridge — это все-таки программное средство. В этом случае трафик между двумя switch-group будет проходить через процессор.
VLAN
Свич у нас еще и управляемый, поэтому можно рулить вланами как на обычном «умном» свиче без потери производительности.
Сначала настраиваем порты (порт ether5 транковый, порты ether2..ether4 — акцессные, нумерация интерфейсов с нуля):
/interface ethernet switch port
set 1 vlan-header=always-strip vlan-mode=secure
set 2 vlan-header=always-strip vlan-mode=secure
set 3 vlan-header=always-strip vlan-mode=secure
set 4 vlan-header=add-if-missing vlan-mode=secure
vlan-header=always-strip ставится на порту доступа. Он убирает vlan-tag со всех пришедших на порт кадров.
add-if-missing ставится на транковый порт, и добавляет vlan-tag на все фреймы без такового.
Потом настраиваем вланы:
/interface ethernet switch vlan
add ports=ether5 switch=switch1 vlan-id=200
add ports=ether5 switch=switch1 vlan-id=300
add ports=ether5 switch=switch1 vlan-id=400
add ports=ether2,ether3,ether4 switch=switch1 vlan-id=0
На транковом порту настраиваем три влана, на акцессных портах vlan-tag отсутствует.
Теперь настраиваем правила форвардинга.
/interface ethernet switch rule
add new-dst-ports=ether2 ports=ether5 switch=switch1 vlan-header=present vlan-id=200
add new-dst-ports=ether3 ports=ether5 switch=switch1 vlan-header=present vlan-id=300
add new-dst-ports=ether4 ports=ether5 switch=switch1 vlan-header=present vlan-id=400
add new-dst-ports=ether5 new-vlan-id=200 ports=ether2 switch=switch1 vlan-header=not-present
add new-dst-ports=ether5 new-vlan-id=300 ports=ether3 switch=switch1 vlan-header=not-present
add new-dst-ports=ether5 new-vlan-id=400 ports=ether4 switch=switch1 vlan-header=not-present
Трафик с акцессных портов перенаправляем в соответствующий влан транкового порта.
Трафик с вланов транкового порта направляем в соответствущий акцессный порт.
На этом все. Получается немного заморочно, но Mikrotik — это все-таки роутер. Делать из него управляемый коммутатор — не лучшая идея, но все же иногда по-другому не получится.
UPD: С возможностью чипов коммутации Mikrotik можно ознакомиться, например, здесь. Также подробно о вланах написано в оригинальной статье вики Mikrotik.
Настройка MikroTik CRS212-1G-10S-1S+ IN
Сегодня для примера буду настраивать MikroTik CRS212-1G-10S-1S+ IN в качестве коммутатора, версия прошивки RouterOS 6.20.
И так, подключимся к нему консольным кабелем на скорости 115200.
Изначально логин admin без пароля.
Сотрем стандартную конфигурацию:
system reset-configuration
Во время загрузки когда устройство будет спрашивать нажмем кнопку «r» чтобы подтвердить что мы хотим стереть стандартный конфиг.
Добавим нового пользователя и отключим пользователя admin:
use add name=имя password=пароль group=full
user disable admin
Посмотрим какие есть интерфейсы, у меня первый порт будет аплинком так как 10 гигабитного линка под рукой не было:
interface print
Создадим коммутатор из всех портов:
interface ethernet set [ find default-name=sfp2 ] master-port=sfp1
interface ethernet set [ find default-name=sfp3 ] master-port=sfp1
interface ethernet set [ find default-name=sfp4 ] master-port=sfp1
interface ethernet set [ find default-name=sfp5 ] master-port=sfp1
interface ethernet set [ find default-name=sfp6 ] master-port=sfp1
interface ethernet set [ find default-name=sfp7 ] master-port=sfp1
interface ethernet set [ find default-name=sfp8 ] master-port=sfp1
interface ethernet set [ find default-name=sfp9 ] master-port=sfp1
interface ethernet set [ find default-name=sfp10 ] master-port=sfp1
interface ethernet set [ find default-name=sfpplus1 ] master-port=sfp1
interface ethernet set [ find default-name=ether1 ] master-port=sfp1
Создам два VLAN которые будуту транслироваться дальше на управляемые коммутаторы (первый для управления оборудованием, второй для клиентов):
interface vlan add interface=sfp1 l2mtu=1584 name=vlan207-sfp1 vlan-id=207
interface vlan add interface=sfp1 l2mtu=1584 name=vlan226-sfp1 vlan-id=226
Назначу VLAN интерфейсу на первом порту IP-адрес:
ip address add address=10.0.0.2/24 interface=vlan207-sfp1 network=10.0.0.0
Отключу neighbor discovery, так как оно мне не требуется:
ip neighbor discovery set sfp1 discover=no
ip neighbor discovery set sfp2 discover=no
ip neighbor discovery set sfp3 discover=no
ip neighbor discovery set sfp4 discover=no
ip neighbor discovery set sfp5 discover=no
ip neighbor discovery set sfp6 discover=no
ip neighbor discovery set sfp7 discover=no
ip neighbor discovery set sfp8 discover=no
ip neighbor discovery set sfp9 discover=no
ip neighbor discovery set sfp10 discover=no
ip neighbor discovery set sfpplus1 discover=no
ip neighbor discovery set ether1 discover=no
ip neighbor discovery set vlan207-sfp1 discover=no
ip neighbor discovery set vlan226-sfp1 discover=no
Настрою SNMP для мониторинга устройства и доступ к нету только с одного адреса:
snmp set enabled=yes trap-community=public
snmp community set [ find default=yes ] addresses=10.0.0.1/32
Фильтрация входящего широковещательного флуда, на примере лимит 200 пакетов в секунду для порта sfp2 (для остальных портов аналогично, только меняем название порта):
interface ethernet switch ingress-port-policer add port=sfp2 rate=200 meter-unit=packet packet-types=broadcast
Все, MikroTik CRS212-1G-10S-1S+ IN работает как коммутатор, на всех портах тегированый трафик проходит через него по двум VLAN.