Introduzione
In questo articolo vi mostrerò come sia possibile configurare un
dispositivo che esegue RouterOS affinché si comporti come un
normalissimo switch layer 2 e cioè, per intenderci, come alcuni di
quegli switch “stupidi” (unmanaged, non gestiti) che comprate
al supermercato quando avete bisogno di collegare più apparati all’interno
della stessa LAN. Parliamo in questo caso di collegamento con cavo
Ethernet, tralasciando per ora i client wireless.
L’effetto che vogliamo ottenere è paragonabile a quello di avere un nuovo
switch Cisco Catalyst L2 (ad esempio un classico 2960) senza alcuna
configurazione aggiuntiva, quindi
senza VLAN (fatta eccezione per la VLAN_1) che Cisco tratta come VLAN
nativa (non taggata). Quindi, sempre per ora, non ci preoccupiamo di VLAN
e di tagging dot1Q.
catalyst#show interfaces status
Port Name Status Vlan Duplex Speed Type
Fa0/1 notconnect 1 auto auto 10/100BaseTX
Fa0/2 notconnect 1 auto auto 10/100BaseTX
Fa0/3 notconnect 1 auto auto 10/100BaseTX
Fa0/4 notconnect 1 auto auto 10/100BaseTX
Fa0/5 notconnect 1 auto auto 10/100BaseTX
Fa0/6 notconnect 1 auto auto 10/100BaseTX
Fa0/7 notconnect 1 auto auto 10/100BaseTX
Fa0/8 notconnect 1 auto auto 10/100BaseTX
Fa0/9 notconnect 1 auto auto 10/100BaseTX
Fa0/10 notconnect 1 auto auto 10/100BaseTX
Fa0/11 notconnect 1 auto auto 10/100BaseTX
Fa0/12 notconnect 1 auto auto 10/100BaseTX
Fa0/13 notconnect 1 auto auto 10/100BaseTX
Fa0/14 notconnect 1 auto auto 10/100BaseTX
Fa0/15 notconnect 1 auto auto 10/100BaseTX
...
...
Prerequisiti
In questo articolo si assume che il vostro dispositivo RouterOS sia stato resettato e che non contenga nessun tipo di configurazione predefinita, come illustrato in un articolo precedente.
Stato delle interfacce
Nella situazione corrente, con il dispositivo privo di qualsivoglia configurazione, ciascuna delle sue interfacce è utilizzabile singolarmente come interfaccia layer-3, un po’ come avviene su un normale router Cisco, come ad esempio un classico Cisco 1841.
C1841#show ip interface brief
Interface IP-Address OK? Method Status Protocol
FastEthernet0/0 unassigned YES unset administratively down down
FastEthernet0/1 unassigned YES unset administratively down down
La differenza tra il Cisco e il dispositivo RouterOS è che, per default, il primo ha le interfacce spente/disabilitate mentre il secondo ce le ha accese.
[admin@MikroTik] > /interface print
Flags: D - dynamic, X - disabled, R - running, S - slave
# NAME TYPE ACTUAL-MTU L2MTU MAX-L2MTU
0 ether1 ether 1500 1598 2028
1 R ether2 ether 1500 1598 2028
2 ether3 ether 1500 1598 2028
3 ether4 ether 1500 1598 2028
4 pwr-line1 ether 1500 1598 2028
5 X wlan1 wlan 1500 1600 2290
L’interfaccia ether2 è quella alla quale è attualmente connesso il mio PC per poter gestire il dispositivo, ed infatti è in stato running (R).
Bridging
Affinché il dispositivo si comporti da switch, dobbiamo “raggruppare” tutte le interfacce fisiche (o solo alcune, se non ci servono tutte) in un unico broadcast domain. Questo si fa definendo una interfaccia logica di tipo bridge, e stabilendo quali interfacce fisiche devono farne parte.
[admin@MikroTik] > /interface bridge add name="bridge-test" protocol-mode=rstp priority=8000 fast-forward=yes comment="Bridge di esempio"
Abbiamo così creato un bridge, al quale abbiamo dato il nome di “bridge-test”; su questo bridge abbiamo anche abilitato il protocollo RSTP (Rapid Spanning Tree Protocol), assegnando una bridge-priority di 8000H (vale a dire 32768), il valore di default di molti switch commerciali. Del protocollo STP parleremo probabilmente in un articolo dedicato.
Ora dobbiamo però decidere quali interfacce fisiche dovranno fare parte del bridge appena definito.
[admin@MikroTik] /interface bridge port>
[admin@MikroTik] /interface bridge port> add interface=ether1 bridge=bridge-test
[admin@MikroTik] /interface bridge port> add interface=ether2 bridge=bridge-test
[admin@MikroTik] /interface bridge port> add interface=ether3 bridge=bridge-test
[admin@MikroTik] /interface bridge port> add interface=ether4 bridge=bridge-test
A questo punto le interfacce ethernet da 1 a 4 sono parte dello stesso bridge, e il nostro dispositivo RouterOS funzionerà come uno switch, permettendo ai client connessi alle diverse interfacce di “vedersi” a layer-2.
[admin@MikroTik] /interface bridge port> print
Flags: X - disabled, I - inactive, D - dynamic, H - hw-offload
# INTERFACE BRIDGE HW PVID PRIORITY PATH-COST INTERNAL-PATH-COST HORIZON
0 I H ether1 bridge-test yes 1 0x80 10 10 none
1 H ether2 bridge-test yes 1 0x80 10 10 none
2 I H ether3 bridge-test yes 1 0x80 10 10 none
3 I H ether4 bridge-test yes 1 0x80 10 10 none
L’hardware offload è una caratteristica introdotta solo nelle versioni più recenti di RouterOS e consente di ottenere prestazioni migliori rispetto all’implementazione software tradizionale.
Indirizzo IP
Ora che abbiamo un’interfaccia logica alla quale appartengono le diverse
interfacce ethernet del dispositivo, possiamo anche associare un indirizzo
IP a questa interfaccia logica affinché il dispositivo sia raggiungibile
semplicemente connettendo una qualunque delle interfacce che compongono il
bridge. Questa operazione corrisponde, grossomodo, alla configurazione della
SVI (Switch Virtual Interface) sulla VLAN nativa di uno switch Cisco.
[admin@MikroTik] > /ip address add address=10.64.1.201/24 interface=bridge-test comment="Indirizzo management routerboard"
Ora il nostro dispositivo è raggiungibile e gestibile anche a layer-3, ad esempio via telnet, ssh, Webfig o con la stessa WinBox indicando l’indirizzo IP invece del MAC address. Attenzione però al fatto che, in questo momento, non è stata fatta nessuna operazione di messa in sicurezza del dispositivo; in particolare il dispositivo accetta connessioni da chiunque, su tutti i protocolli disponibili, e non ha ancora una password di accesso impostata:
nmap -p22,23,80 10.64.1.201
Starting Nmap 7.60 ( https://nmap.org ) at 2020-05-29 17:04 CEST
Nmap scan report for 10.64.1.201
Host is up (0.00023s latency).
PORT STATE SERVICE
22/tcp open ssh
23/tcp open telnet
80/tcp open http
telnet 10.64.1.201
Trying 10.64.1.201...
Connected to 10.64.1.201.
Escape character is '^]'.
Login: admin
Password:
MMM MMM KKK TTTTTTTTTTT KKK
MMMM MMMM KKK TTTTTTTTTTT KKK
MMM MMMM MMM III KKK KKK RRRRRR OOOOOO TTT III KKK KKK
MMM MM MMM III KKKKK RRR RRR OOO OOO TTT III KKKKK
MMM MMM III KKK KKK RRRRRR OOO OOO TTT III KKK KKK
MMM MMM III KKK KKK RRR RRR OOOOOO TTT III KKK KKK
MikroTik RouterOS 6.46.6 (c) 1999-2020 http://www.mikrotik.com/
[?] Gives the list of available commands
command [?] Gives help on the command and list of arguments
[Tab] Completes the command/word. If the input is ambiguous,
a second [Tab] gives possible options
/ Move up to base level
.. Move up one level
/command Use command at the base level
[admin@MikroTik] >
L’hardening del dispositivo sarà oggetto di un articolo dedicato. Per il momento godetevi il vostro nuovo switch 4 porte 🙂