Domande sulla configurazione di rete
- Ho notato che le interfacce ethernet vengono chiamate ETH00, ETH01, ETH02, … mentre invece io ero abituato in altre distribuzioni Linux a nomi del tipo eth0, eth1, eth2, … Come mai vengono usati questi nomi invece di quelli classici?
Durante la fase di startup ZeroShell effettua il riconoscimento automatico dell’hardware e assegna ad ogni interfaccia di rete fisica individuata un nome logico del tipo ETHnn. Al primo boot l’assegnazione avviene sequenzialmente, mentre, successivamente l’attribuzione è basata sui MAC address. In caso di sostituzione fisica di una scheda di rete il sistema denominerà la nuova interfaccia con lo stesso nome di quella sostituita. Così facendo si crea una forma di astrazione dall’hardware fisico in modo che la configurazione degli indirizzi IP, delle VLAN, del firewall, della tabella di routing e di quant’altro dipenda dai nomi delle interfacce non debba cambiare se si sostituiscono o aggiungono schede di rete. - Vorrei che ZeroShell faccia da router ADSL per la mia LAN. Ma quali tipi di modem sono supportati?
Al momento ZeroShell supporta solo modem con connessione ethernet che supportino il protocollo PPPoE (point-to-point incapsulato in trame ethernet). La maggior parte dei modem esterni attuali oltre al connettore USB, hanno anche una porta ethernet. È ovvio che oltre alla compatibilità del modem è necessario che il proprio provider ADSL supporti il protocollo PPPoE: attualmente buona parte degli ISP lo fanno. - La mia LAN si connette a Internet con indirizzo IP variabile che cambia se la connessione viene chiusa e poi riaperta. Vorrei che il web server, il mail server e una macchina con il daemon SSH attivo che hanno sulla LAN indirizzi IP privati siano raggiungibili dall’esterno tramite Internet. Posso farlo utilizzando come router ZeroShell?
Puoi farlo utilizzando le funzioni di DNS dinamico e di server virtuale. Grazie al DNS dinamico puoi farti assegnare un hostname FQDN risolto su Internet e che venga aggiornato da ZeroShell quando l’IP cambia. In tale maniera potrai sempre raggiungere il router ZeroShell indipendentemente dal suo indirizzo che varia. Grazie poi alla funzionalità di virtual server ZeroShell potrà forwardare le richieste che gli arrivano su determinate porte TCP o UDP ai server reali presenti sulla LAN con indirizzi privati. Nel tuo caso dovrai istruire ZeroShell a forwardare le porte 80 e 443 TCP verso il webserver, la porta 25 TCP verso il mailserver e la porta 22 TCP verso il server che offre la secure shell. È ovvio che essendo gli indirizzi sulla LAN privati è necessario abilitare anche il NAT. Nota infine, che il virtual server di ZeroShell può lavorare anche in load balancing bilanciando le richieste su più server reali che offrono lo stesso servizio. - Ho bisogno di creare un bridge che comprenda l’interfaccia ethernet da cui sono connesso con l’interfaccia web. Purtroppo quando confermo la creazione del bridge perdo la connettività con ZeroShell. Da cosa dipende? si può ovviare a questo problema?
Poiché quando un’interfaccia entra a far parte di un bridge perde la configurazione IP e le VLAN 802.1q è inevitabile che da tale porta si perda la connettività. Il modo più semplice per risolvere il problema è quello di creare il bridge utilizzando la console invece dell’interfaccia grafica. Basta premere dalla console il tasto B e specificare quale interfaccia inserire nel bridge. Così facendo la configurazione IP e le VLAN migrano direttamente dall’interfaccia ethernet al bridge permettendo di riavere in pochi secondi la connettività (giusto il tempo che il bridge passi nello stato di forwarding). Le altre interfacce che devono appartenere al bridge le potrai a questo punto inserire tramite il browser web.
Virtual LAN (VLAN)
- Cosa sono le Virtual LAN o VLAN?
Spesso, soprattutto nelle reti locali con molti host, si ha l’esigenza di suddividere la rete ethernet in più segmenti su ognuno dei quali assegnare una distinta subnet IP, facendo in modo, che la comunicazione tra macchine appartenenti a segmenti diversi avvenga attraverso un router IP. Così facendo, non solo si riduce il traffico multicast e broadcast che tra l’altro avrebbe anche l’effetto negativo di impegnare le CPU di tutti gli host inutilmente, ma, si avrebbero anche effetti positivi sulla sicurezza. Infatti, se l’assegnazione degli host ad un dato segmento ethernet avviene in maniera logica, ovvero facendo appartenere ad una data rete, macchine correlate tra loro per una qualche caratteristica che le distingue, come per esempio possono essere tutti i PC dell’amministrazione, tutte le workstation del settore di ricerca, tutti i server o tutte le stampanti di rete di un’organizzazione, si potranno impostare sul router regole di firewalling in maniera da impedire connessioni illecite tra macchine appartenenti a settori diversi.
Un primo approccio per ottenere quanto detto, potrebbe essere quello di collegare tutti gli host che devono appartenere ad un settore ad uno switch, quelli di un altro settore ad un altro switch e così via. Gli n switch andrebbero poi collegati con n cavi di rete ad un router IP con almeno n interfacce di rete. Ciò richiederebbe un grosso sforzo iniziale per stimare il numero degli switch da acquistare e le loro dimensioni in termini di numero di porte e porterebbe quasi senz’altro a sovrastimare questi parametri causando sprechi. D’altra parte, questa soluzione appare troppo statica poiché complica le operazioni di spostamento di un host da un settore ad un altro quando ciò è richiesto.
A soluzione di questi problemi, gli switch di fascia medio alta, consentono di partizionare via software, secondo qualche criterio, le porte di cui dispongono. Tali insiemi di porte prendono il nome di Virtual LAN o più brevemente VLAN. Come è facile immaginare, la switch fabric potrà forwardare le trame ethernet tra porte appartenenti alla stessa VLAN, mentre impedirà ogni comunicazione tra Virtual LAN distinte. L’assegnazione di una porta dello switch ad una certa VLAN può avvenire secondo diversi criteri:- Port Based: l’amministratore configura le porte assegnandole ad una VLAN e spostandole in un’altra quando richiesto;
- MAC Based: l’appartenenza ad una Virtual LAN non è determinata a priori, ma saranno i singoli host, in base al loro MAC address che l’amministratore configurerà come appartenenti ad una VLAN. Rispetto alla precedente soluzione, le VLAN MAC Based hanno il vantaggio di garantire l’accesso sempre alla stessa Virtual LAN indipendentemente da dove ci si connette. Esigenza molto sentita questa soprattutto nel caso dei laptop;
- Authentication Based: l’appartenenza ad una VLAN viene determinata in base alle credenziali dell’utente che accede su di un host. Il protocollo più usato in questo caso, così come per l’autenticazione nelle reti Wi-Fi, è l’IEEE 802.1x (vedi la FAQ sul multi SSID negli access point wireless).
Si noti che le VLAN possono essere costituite anche usando una combinazione dei criteri precedenti.
- Nella terminologia riferita alle Virtual LAN si sente spesso parlare di trunk o trunking. Di cosa si tratta?
Qualora in un’organizzazione non è sufficiente un unico switch, ma la LAN si estende su di un insieme di questi, nasce la necessità di creare su di ognuno le stesse Virtual LAN e di metterle in comunicazione tra loro. Una prima soluzione potrebbe essere di utilizzare per ogni VLAN una porta da dedicare all’uplink. Ciò comporterebbe però uno spreco in termini di porte e di cavi: se le Virtual LAN comuni ai due switch sono n si dovranno utilizzare n cavi di uplink. Una soluzione migliore è quella di creare un trunk o trunking: in altre parole, su entrambi gli switch, si assegna una porta comune (porta trunk) a tutte le VLAN che si vogliono trasportare. Gli switch si impegneranno a taggare ogni singolo pacchetto uscente dal trunk con un VLAN ID e, per ogni pacchetto entrante dal trunking, a smistarlo sulla VLAN giusta basandosi sul VLAN ID. È ovvio, che i due switch, affinché comunichino correttamente attraverso il trunk, devono utilizzare lo stesso protocollo di trunking. Di tali protocolli, spesso proprietari, ne esistono diversi e ciò può comportare problemi di interoperabilità tra switch di marca diversa che facciano uso delle Virtual LAN. Tuttavia, si è andato diffondendo l’utilizzo del protocollo per trunking IEEE 802.1Q. Quest’ultimo, per ogni trama ethernet uscente dalla porta configurata come trunk, prevede l’aggiunta di 4 byte di cui soltanto 12 bit utilizzati per identificare la VLAN. Il VLAN ID è pertanto compreso tra 1 e 4094 tenuto conto che lo 0 e il 4095 sono valori riservati. - Nel protocollo di trunking 802.1Q cosa si intende per VLAN Nativa?La VLAN Nativa di uno switch è la VLAN i cui pacchetti transitano attraverso un trunk non taggati come fossero trame ethernet normali. Convenzionalmente, alla VLAN Nativa viene assegnato il VLANID 1.
- Zeroshell supporta le VLAN IEEE 802.1Q?
Sì, ZeroShell supporta il protocollo di trunk IEEE 802.1Q. Per ognuna delle interfacce di rete (schede di rete ethernet, bridge, VPN lan-to-lan e bond di VPN) è possibile aggiungere una o più VLAN specificando il VLANID compreso tra 1 e 4094. Praticamente, ciò che si ottiene è una sotto-interfaccia virtuale il cui nome è il nome dell’interfaccia principale concatenato al VLANID (separati da un punto). Per esempio, la VLAN 1250 applicata sulla ETH00 è rappresentata dall’interfaccia logica ETH00.1250. A tale VLAN, rappresentata come se fosse una normale interfaccia, si possono assegnare indirizzi IP, abilitare il routing e il NAT, applicare regole del firewall, assegnare servizi come per esempio il DHCP, il DNS o il Captive Portal. - Ho configurato una VLAN su di una porta ethernet di ZeroShell, ma i pacchetti troppo grandi non raggiungono la destinazione. Da cosa dipende?
Purtroppo, per una piccola parte delle schede di rete Ethernet e FastEthernet non esiste il supporto per il trunking 802.1Q all’interno del kernel Linux. Il protocollo 802.1Q prevede una dimensione massima delle trame ethernet di 1522 byte (1518 normali + 4 per il tag) mentre questi driver non compatibili con le VLAN fanno il drop dei pacchetti maggiori di 1518 byte ritenendoli erroneamente malformati. Si consiglia pertanto, dopo aver configurato delle VLAN sulla propria rete, di testarne la funzionalità usando il ping con pacchetti grandi.
Comments are closed.