In questo articolo vedremo come configurare le VLAN con pfSense. Esamineremo la terminologia associata (trunk port, tagged / untagged port, etc.), quindi faremo un esempio concreto di configurazione VLAN.
I vantaggi delle VLAN
L’uso delle VLAN offre una serie di vantaggi che non approfondiremo in questa sede. Per una buona comprensione delle VLAN, vi consigliamo di leggere l’articolo VLAN – Réseaux virtuels su commentcamarche.net.
I principali utilizzi delle VLAN sono:
- separazione logica delle reti voce e dati
- separazione logica dei servizi aziendali
- creazione di una rete ospite diversa dalla rete locale
Come funzionano le VLAN
Quando si crea una VLAN, si definiscono due elementi:
- la subnet associata (ad esempio 192.168.1.0/24)
- l’ID VLAN (da 1 a 4094)
I terminali di una VLAN possono comunicare solo con altri terminali della stessa VLAN. Se desiderano comunicare con terminali di un’altra VLAN, i pacchetti passano attraverso pfSense. Questo ci permette di configurare regole di filtraggio a grana fine da una VLAN all’altra in pfSense.
Va notato che l’instradamento da una VLAN all’altra può essere effettuato anche a livello di switch impostando delle ACL (che non verranno trattate in questo articolo).
Le VLAN devono essere dichiarate e configurate da un lato su pfSense e dall’altro sugli switch (che ovviamente devono essere switch che supportano le VLAN).
La configurazione degli switch è la parte più complicata. Non tutti i produttori utilizzano la stessa terminologia.
Terminologia
Quando vogliamo configurare le VLAN sul nostro switch, abbiamo due opzioni di configurazione:
- tagged port (= porta trunk a Cisco)
- untagged port (= porta di accesso a Cisco)
Tagged port
Una porta dello switch configurata come “tagged” significa che l’apparecchiatura collegata dietro di essa è in grado di elaborare i tag 802.1q e che è configurata per elaborarli. In altre parole, è necessario indicare nella configurazione dell’apparecchiatura che deve etichettare i pacchetti di rete con la VLAN a cui appartiene.
Untagged port
Una porta di switch configurata come “untagged” significa che la nozione di VLAN è totalmente trasparente per le apparecchiature collegate dietro di essa. In altre parole, ignora la VLAN associata. È lo switch che utilizza l’id VLAN associato per la sua elaborazione interna per distribuire i pacchetti alle sue porte. I pacchetti non vengono etichettati con 802.1q all’ingresso e all’uscita delle porte dello switch configurate come “untagged”.
Uno switch può avere solo una VLAN configurata come “untagged” (access) su una determinata porta. Sulla stessa porta possono esserci diverse VLAN configurate come “tagged” (trunk).
Caso di studio: separare le VLAN voce dalle VLAN dati
Un esempio classico di utilizzo delle VLAN è quello di separare la rete VoIP dalla rete dati.
Prendiamo come esempio la seguente rete locale:
- pfSense funge da router/firewall e da server DHCP per tutte le VLAN.
- I computer (e tutte le altre apparecchiature, tranne i telefoni) hanno un indirizzo IP nell’intervallo 192.168.1.0/24 – VLAN 10 (questa sarà la nostra VLAN di default – configurata come untagged)
- I telefoni hanno un indirizzo IP nell’intervallo 192.18.2.0/24 – VLAN 20 (VLAN dedicata alla telefonia – configurata come tagged).
- Lo switch della rete centrale supporta le VLAN
- Tutti i computer sono collegati dietro un telefono. Ciò significa che su ogni porta dello switch sono generalmente collegati due dispositivi: un telefono (nella VLAN 20) e un computer (VLAN 10) collegato dietro di esso.
Il diagramma di rete è il seguente:

Configurazione di pfSense
Sul pfSense, configureremo due VLAN:
- VLAN “LAN Data”
- VLAN “LAN VoIP”
Per iniziare, accedere al menu “Interface” > “(assign)”:

Passiamo quindi alla scheda “VLANs” e facciamo clic sull’icona “+” in basso a destra.
Le voci di configurazione sono le seguenti:
- Interfaccia madre: l’interfaccia fisica a cui la VLAN sarà collegata
- Tag VLAN: l’ID della VLAN (il valore deve essere compreso tra 1 e 4094)
- Priorità VLAN: la priorità da applicare alla VLAN (il valore deve essere compreso tra 0 e 7)
- Descrizione: campo opzionale di descrizione della VLAN
Exemple de résultat obtenu :

Una volta create le due VLAN, abbiamo due interfacce virtuali:

Per configurare le nostre VLANs, dobbiamo ora associare le interfacce virtuali alle interfacce logiche.
A tale scopo, tornare alla scheda “Interface assignments”, quindi fare clic sull’icona “+” in basso a destra per aggiungere una nuova interfaccia logica.
Per impostazione predefinita, l’interfaccia logica creata si chiama “OPT1” (o OPT2, OPT3, ecc.). Questa interfaccia logica viene associata all’interfaccia VLAN virtuale creata in precedenza:

Per modificare l’interfaccia logica creata (e rinominarla), fare clic sul suo nome. Gli elementi di configurazione sono i seguenti:
- Enable Interface: spuntare questa casella per abilitare l’interfaccia
- Description: nome dell’interfaccia
- IPv4 Configuration Type: la configurazione IPv4 di questa interfaccia. Nel nostro caso, abbiamo scelto “Static IPv4”
- IPv6 Configuration Type: la configurazione IPv6 di questa interfaccia. Nel nostro caso, abbiamo scelto “None”
- MAC controls: Per impostazione predefinita, viene utilizzato l’indirizzo MAC dell’interfaccia fisica. È possibile personalizzarlo qui
- MTU: l’MTU di questa interfaccia. 1500 byte per impostazione predefinita
- MSS: “Maximum Segment Size”, che deve essere inferiore all’MTU. Si lascia vuoto
- Speed and duplex: lasciamo la scelta predefinita
Infine, si applicano i parametri di configurazione IP (indirizzo IP dell’interfaccia e maschera di rete associata).
Esempio del risultato ottenuto:

In questa interfaccia si attiva il servizio DHCP. Per maggiori dettagli su come attivare il servizio DHCP, consultate il nostro articolo dedicato: [pfSense] Configurazione del server DHCP.
Infine, creiamo una regola del firewall sulla nostra nuova interfaccia logica (“VLAN_voce”) per consentire il traffico.
La configurazione sul lato pfSense è completa. Ora dobbiamo configurare lo switch.
Configurazione dello switch
La configurazione della VLAN sullo switch dipende dal produttore. Tuttavia, i passi da seguire sono sempre gli stessi:
- Dichiarazione delle VLAN sullo switch – sulla maggior parte degli switch, le VLAN devono essere dichiarate prima di poter essere configurate su qualsiasi porta (nel nostro caso, stiamo dichiarando 2 VLAN: vlan_data con ID 10 e vlan_voice con ID 20).
- Configurare la porta dello switch a cui è collegato il pfSense in modalità trunk (o tagged) sulle VLAN 10 e 20.
- Configurare le porte dello switch a cui saranno collegati i PC in modalità access (o untagged), nel nostro caso sulla VLAN 10.
- Configurare le porte dello switch a cui saranno collegati i telefoni in modalità trunk (o tagged) – nel nostro caso sulla VLAN 20
Esempio su uno switch Cisco :
Dichiarazione VLAN :
sw# vlan database
sw(vlan)# vlan 10 name "vlan_data"
sw(vlan)# vlan 20 name "vlan_voix"
sw(vlan)# exit
Configurazione della porta trunk :
sw# configure terminal
sw(config)# interface FastEthernet0/24
sw(config-if)# switchport mode trunk
Aggiunta di porte alla VLAN :
sw# configure terminal
sw(config)# interface FastEthernet0/12
sw(config-if)# switchport mode access
sw(config-if)# switchport access vlan 20
Le nostre VLAN sono configurate e pronte all’uso.
È possibile configurare una VLAN sulla porta LAN?
Risposta breve: sì.
Nelle versioni precedenti di pfSense (prima della versione 2.4.5), l’editore raccomandava vivamente di non configurare una VLAN su una porta di rete già associata a un’interfaccia logica.
Se non avete familiarità con i concetti di porta di rete, interfaccia fisica, interfaccia virtuale e interfaccia logica, leggete il nostro articolo [pfSense] Capire la gestione delle interfacce di rete.
Questa configurazione comportava il malfunzionamento di alcuni servizi (tra cui il captive portal).
Ora non è più così. È quindi possibile configurare le VLAN su una porta di rete già associata a un’interfaccia logica!
Per saperne di più