Настройка VLAN на операционной системе routerOS
Для наглядного примера я буду использовать маршрутизатор Mikrotik CCR1036-8G-2S+ и коммутатор CRS125-24G-1S.
Этот вариант на данный момент работает в нескольких гостиницах Москвы и Московской области.
Поставим условную задачу, чтобы на каждом коммутационном узле присутствовала сеть класса А (10.1.0.0/24) для работников фирмы и сеть класса С (192.168.1.0/24) для WiFi для посетителей.
Допустим, у нас имеется коммутационный узел A c маршрутизатором Mikrotik CCR1036-8G-2S+, коммутационный узел B с коммутатором CRS125-24G-1S. Коммутационные узлы А и В будут соединены каналом связи (Trunk) в нашем случае по витой паре (каналов связи (trunk) может быть несколько в зависимости от количества коммутационных узлов; также если имеется ВОЛС и оптический модуль SFP mikrotik, то можно trunk назначить и на SFP). Приведу ниже схему с использованием trunk по витой паре.
Приступим к настройке коммутационного узла A с маршрутизатором Mikrotik CCR1036-8G-2S+.
Назовем наш маршрутизатор «router-A».
system identity set name=router-A
Обозначим физические порты так, чтобы не возникало путаницы, каким сетям они принадлежат. Обозначим маркировкой lan физические порты, которые будут принадлежать сети (класса А) 10.1.0.0/24, маркировкой wifi физические порты, которые будут принадлежать сети (класса С) 192.168.1.0/24 и маркировкой trunk физические порты, которые будут использоваться под канал связи типа trunk.
interface ethernet set [ find default-name=ether1 ] name=ether1-wan interface ethernet set [ find default-name=ether2 ] name=ether2-lan interface ethernet set [ find default-name=ether3 ] name=ether3-lan interface ethernet set [ find default-name=ether4 ] name=ether4-lan interface ethernet set [ find default-name=ether5 ] name=ether5-wifi interface ethernet set [ find default-name=ether6 ] name=ether6-wifi interface ethernet set [ find default-name=ether8 ] name=ether8-trunk interface ethernet set [ find default-name=sfp-sfpplus1 ] disabled=yes interface ethernet set [ find default-name=sfp-sfpplus2 ] disabled=yes
Создадим виртуальные интерфейсы во вкладке bridge, для объединения LAN портов.
interface bridge add name=br1-lan interface bridge add name=br2-wifi interface bridge add name=br3-trunk
Создаем Vlan интерфейсы, с помощью которых будут транспортироваться сети 10.1.0.0/24 и 192.168.1.0/24 до коммутационного узла B по каналу связи типа trunk. VLAN id для сети 10.1.0.0/24 будет 11, а для сети 192.168.1.0/24 будет 22. С помощью этих id будет передаваться информация о принадлежности трафика к vlan1-lan и vlan2-wifi.
interface vlan add interface=br3-trunk name=vlan1-lan vlan-id=11 interface vlan add interface=br3-trunk name=vlan2-wifi vlan-id=22
Назначаем LAN порты маршрутизатора виртуальным интерфейсам (bridge) согласно вышеуказанной схеме
interface bridge port add bridge=br1-lan interface=ether2-lan interface bridge port add bridge=br1-lan interface=ether3-lan interface bridge port add bridge=br1-lan interface=ether4-lan interface bridge port add bridge=br2-wifi interface=ether5-wifi interface bridge port add bridge=br2-wifi interface=ether6-wifi interface bridge port add bridge=br3-trunk interface=ether8-trunk interface bridge port add bridge=br1-lan interface=vlan1-lan interface bridge port add bridge=br2-wifi interface=vlan2-wifi interface bridge port add bridge=br3-trunk interface=ether7
(Добавлю этот LAN порт для возможно будущего коммутационного узла С, на всякий пожарный)
Назначаем сети виртуальным интерфейсам
ip address add address=10.1.0.1/24 interface=br1-lan network=10.1.0.0 ip address add address=192.168.1.1/24 interface=br2-wifi network=192.168.1.0 ip address add address=62.64.2.0/0 interface=ether1-wan network=62.64.2.0
Провайдер предоставляет мне интернет по протоколу EOiP. Поэтому вы на эту команду не обращайте внимания, а настраивайте доступ в интернет по wan-порту согласно настройкам, предоставленным Вашим провайдером
Настроим Пул раздаваемых адресов сетям, настроим dhcp
ip pool add name=pool-wifi ranges=192.168.1.50-192.168.1.220 ip pool add name=pool-lan ranges=10.1.0.50-10.1.0.220
ip dhcp-server add address-pool=pool-lan disabled=no interface=br1-lan name=dhcp-lan ip dhcp-server add address-pool=pool-wifi disabled=no interface=br2-wifi name=dhcp-wifi
ip dhcp-server network add address=10.1.0.0/24 dns-server=8.8.8.8,8.8.4.4 domain=lan.local gateway=10.1.0.1 ip dhcp-server network add address=192.168.1.0/24 dns-server=8.8.8.8,8.8.4.4 domain=wifi.local gateway=192.168.1.1
Включим NAT, чтобы устройства, находящиеся в сетях 192.168.1.0/24 и 10.1.0.0/24, имели выход в интернет.
ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-wan src-address=10.1.0.0/24 ip firewall nat add action=masquerade chain=srcnat out-interface=ether1-wan src-address=192.168.1.0/24
Изолируем подсети, чтобы устройства из сети 192.168.1.0/24 не видели и не использовали устройства, находящиеся в сети 10.1.0.0/24. (Я предпочитаю таким способом осуществить изоляцию; есть еще способ изолировать подсети с помощью Route Rules, но я буду использовать правило Firewall)
ip firewall filter add action=drop chain=forward disabled=yes dst-address=192.168.1.0/24 in-interface=br1-lan
Данное правило можно включать и отключать в зависимости от вашей потребности в доступе к устройствам из сети 10.1.0.0/24 в 192.168.1.0/24 или наоборот.
Теперь настроим коммутационный узел B с коммутатором Mikrotik CRS125-24G-1S
Назовем наш коммутатор «switch-B»:
system identity set name=switch-B
Обозначим физические LAN порты. Объединим порты с 1 по 8 включительно в общий аппаратный коммутатор с мастер портом ether-1 и обозначим его master, остальные со 2 по 8 включительно обозначим slave. Аналогично сделаем и с портами с 9 по 16 включительно с мастер портом ether-9.
interface ethernet set [ find default-name=ether1 ] name=ether1-master-lan interface ethernet set [ find default-name=ether2 ] master-port=ether1-master-lan name=ether2-slave-lan interface ethernet set [ find default-name=ether3 ] master-port=ether1-master-lan name=ether3-slave-lan interface ethernet set [ find default-name=ether4 ] master-port=ether1-master-lan name=ether4-slave-lan interface ethernet set [ find default-name=ether5 ] master-port=ether1-master-lan name=ether5-slave-lan interface ethernet set [ find default-name=ether6 ] master-port=ether1-master-lan name=ether6-slave-lan interface ethernet set [ find default-name=ether7 ] master-port=ether1-master-lan name=ether7-slave-lan interface ethernet set [ find default-name=ether8 ] master-port=ether1-master-lan name=ether8-slave-lan interface ethernet set [ find default-name=ether9 ] name=ether9-master-wifi interface ethernet set [ find default-name=ether10 ] master-port=ether9-master-wifi name=ether10-slave-wifi interface ethernet set [ find default-name=ether11 ] master-port=ether9-master-wifi name=ether11-slave-wifi interface ethernet set [ find default-name=ether12 ] master-port=ether9-master-wifi name=ether12-slave-wifi interface ethernet set [ find default-name=ether13 ] master-port=ether9-master-wifi name=ether13-slave-wifi interface ethernet set [ find default-name=ether14 ] master-port=ether9-master-wifi name=ether14-slave-wifi interface ethernet set [ find default-name=ether15 ] master-port=ether9-master-wifi name=ether15-slave-wifi interface ethernet set [ find default-name=ether16 ] master-port=ether9-master-wifi name=ether16-slave-wifi interface ethernet set [ find default-name=ether24 ] name=ether24-trunk
Создаем Vlan интерфейсы на физическом 24 lan-порту, с помощью которых будут транспортироваться сети 10.1.0.0/24 и 192.168.1.0/24 от коммутационного узла А по каналу связи типа trunk. Не забываем указать тот vlan id, который мы указали в соответствии с начальной схемой.
interface vlan add interface=ether24-trunk name=vlan1-lan vlan-id=11 interface vlan add interface=ether24-trunk name=vlan2-wifi vlan-id=22
Создадим виртуальные интерфейсы во вкладке bridge для объединения LAN портов.
interface bridge add name=br-lan interface bridge add name=br-wifi
interface bridge port add bridge=br-lan interface=vlan1-lan interface bridge port add bridge=br-wifi interface=vlan2-wifi interface bridge port add bridge=br-lan interface=ether1-master-lan interface bridge port add bridge=br-wifi interface=ether9-master-wifi
Таким образом, мы имеем связь между коммутационными узлами А и В, соединенные витой парой, по которой проходят две разные сети 10.1.0.0/24 и 192.168.1.0/24 с помощью VLAN.