In una rete aziendale estesa è necessario limitare il dominio di brodcast, suddividendo così la rete in sezioni.
Queste parti di rete possono essere fisiche, usando switch di livello 3, ovvero a livello IP con instradamento fra le varie reti, oppure virtuale configurando le VLAN a livello 2, sempre su switch di un certo livello.
Anche per ragioni di sicurezza si possono adottare le VLAN e gestire l’instradamento a livello di firewall.
Sono sicuro che qualcuno di voi potrebbe obiettare, che esistono metodi per forzare la sicurezza e riportare la rete ad un solo dominio di brodcast, ma ho parlato di switch di un certo livello, che riescono a gestire questi attacchi. Il tema sarebbe vasto e non è l’obiettivo di questa pillola, che vuole mostrare come configurare la scheda di rete di un host linux per gestire due o più reti.
La seguente configurazione è valida dalla versione Etch (4) in poi, anche se io ho usato la configurazioni su Bullseye (11).
Convenzioni:
Per questo esempio adottiamo i seguenti dati:
- Nome scheda eth0
- ID VLAN 12
- useremo il DHCP per assegnare l’indirizzo all’host
- useremo lo stesso indirizzo MAC della scheda di base, che non da fastidio visto che comunque la richiesta verso il DHCP e gestita dallo switch sulla VLAN corretta
Prerequisito: Installare il pacchetto vlan
sudo apt install vlan
Col comando:
ip address show
verificare il nome dell’interfaccia che si vuol usare per aggiungere la rete virtuale, prendiamo come esempio eth0, attenzione che la nuova denominazione è diversa.
Creiamo un file, che abbia un nome evocativo, io adotto lo standard VLANnumero_vlan, ad esempio se volessi gestire la VLAN che ha ID 12, il file si chiamerà VLAN12
Questo file si deve creare nella cartella /etc/network/interface.d/ ed il contenuto sarà come segue:
# File di descrizione VLAN 12 auto eth0.12 iface eth0.12 dhcp inetd dhcp # hwaddress ether 02:00:c0:a8:01:05 # solo se si vuole impostare a mano il MAC della scheda virtuale, de-commentare la riga precedente
Inciso: La convenzione per gli indirizzi MAC privati è al seguente:
- x2-xx-xx-xx-xx-xx
- x6-xx-xx-xx-xx-xx
- xA-xx-xx-xx-xx-xx
- xE-xx-xx-xx-xx-xx
Consiglio di usare uno standard come questo:
- usare tre zeri per le prime due coppie, scegliendo uno dei numeri sopra elencati, esempio scegliendo il 2: 02:00:…
- trasformare in esadecimale l’indirizzo IP dell’host, esempio: 192.168.1.5 = C0:A8:01:05
il risultato composto sarà il MAC = 02:00:C0:A8:01:05
Salvate il file e attivate la nuova scheda:
ifup eth0.12
o meglio eseguite un reboot del sistema. Otterrete due schede simili alle seguenti:
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000 link/ether 0e:00:0a:01:02:03 brd ff:ff:ff:ff:ff:ff inet 10.1.2.3/24 brd 10.1.2.255 scope global dynamic noprefixroute eth0 valid_lft 3186sec preferred_lft 2736sec inet6 fe80:::0e00:0a01:0203/64 scope link valid_lft forever preferred_lft forever 3: eth0.12@eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000 link/ether 0e00:0a01:0203 brd ff:ff:ff:ff:ff:ff inet 192.168.12.6/24 brd 192.168.12.255 scope global dynamic eth0.12 valid_lft 2359sec preferred_lft 2359sec inet6 fe80:::0e00:0a01:0203/64 scope link valid_lft forever preferred_lft forever