In questo articolo esaminiamo la gestione dei gateway in pfSense.

Gateway: la chiave di volta del routing

Un gateway di rete è un dispositivo che fornisce l’accesso da una rete a un’altra.

Il gateway più noto è il gateway predefinito (default gateway), utilizzato per accedere a Internet o a qualsiasi altra rete sconosciuta in generale.

In generale, i gateway hanno un indirizzo IP in ogni sottorete che vengono utilizzati per raggiungere. In caso contrario, avranno a loro volta un gateway predefinito.

Esiste un’eccezione notevole per le interfacce punto-punto, come quelle utilizzate con i protocolli PPP. Queste interfacce hanno spesso indirizzi IP di gateway in un’altra sottorete perché non sono utilizzate nello stesso modo.

Per un’introduzione più completa, si consiglia di consultare la pagina di Wikipedia Gateway (informatica)////METTRE WIKI EN ITALIEN ? VERIFIER CE WIKI ?? ////.

Vedremo come pfSense gestisce i suoi gateway e le opzioni di configurazione disponibili.

Gateway – IPv4 e IPv6

I principi del routing e del funzionamento dei gateway sono gli stessi per IPv4 e IPv6.
Tuttavia, non è possibile mescolare i due tipi di indirizzo IP nelle configurazioni. Ad esempio, una rete IPv4 deve avere un gateway con indirizzo IPv4; non è possibile creare un percorso utilizzando un gateway IPv6 per una rete IPv4.

Allo stesso modo, quando si lavora con i gruppi di gateway (la cui configurazione verrà esaminata più avanti in questo articolo), non è possibile mescolare gateway IPv4 e IPv6 all’interno dello stesso gruppo.

Gestione del gateway

I gateway sono gestiti dal menu System > Routing:

Da questo menu è possibile modificare un gateway esistente, aggiungere/eliminare un gateway, definire percorsi statici, creare gruppi di gateway e scegliere il gateway predefinito.

Alcuni gateway sono ottenuti automaticamente tramite DHCP; in questo caso, non è possibile eliminarli. Tuttavia, è possibile personalizzarli.

Nel resto dell’articolo esamineremo le possibili configurazioni dei gateway.

Creazione/modifica di un gateway

Per aggiungere un nuovo gateway, fare clic sul pulsante “+ Add” nella scheda “Gateways” (la scheda predefinita).
Per modificare un gateway, fare clic sull’icona della matita di modifica sulla riga del gateway.
Infine, è possibile duplicare un gateway facendo clic sull’icona di duplicazione associata. ////JE N AI PAS REUSSI A METTRE LE DESSIN CRAYON ET LAUTRE PETIT DESSIN /////

È possibile configurare i seguenti elementi:

  • Disabled: utilizzato per disabilitare un gateway.
  • Interface: l’interfaccia su cui è possibile raggiungere il gateway. In una configurazione tipica per l’accesso a Internet, questa è l’interfaccia “WAN”.
  • Address Family: IPv4 o IPv6.
  • Name: il nome che si desidera assegnare al gateway. Questo nome può contenere solo caratteri alfanumerici o trattini bassi, senza caratteri speciali o spazi.
  • Gateway: l’indirizzo IP del gateway; questo indirizzo IP deve trovarsi nella stessa sottorete di quello configurato sull’interfaccia scelta (WAN, nel nostro esempio). In caso contrario, è necessario selezionare la casella “Use non-local gateway” nelle opzioni avanzate.
  • Gateway Monitoring: selezionando questa casella si disattiva il monitoraggio del gateway. In questo modo, il gateway sarà considerato sempre raggiungibile. A meno che non si abbia una buona ragione, questa casella non dovrebbe essere selezionata.
  • Gateway Action: selezionare questa casella per assumere che il gateway sia sempre raggiungibile. Questa opzione può essere utile se si vuole monitorare lo stato del gateway, ma non si vuole che pfSense cambi automaticamente il routing se il gateway non è raggiungibile. A meno che non ci sia una buona ragione, questa casella dovrebbe rimanere deselezionata.
  • Monitor IP: l’indirizzo IP che verrà interrogato per determinare se il gateway è raggiungibile o irraggiungibile. Per impostazione predefinita, se questo campo viene lasciato vuoto, verrà interrogato l’indirizzo IP del gateway stesso. Può essere utile scegliere un altro indirizzo IP se il gateway non risponde ai PING o se si preferisce eseguire il ping di un indirizzo IP su Internet piuttosto che l’indirizzo IP del BOX dell’operatore, ad esempio.
  • Force state: spuntate questa casella per forzare lo stato del gateway a “irraggiungibile”, in modo che non venga utilizzato da pfSense. Questa può essere un’opzione utile se si verifica un bagot (instabilità) su un gateway; consente di disabilitarlo senza doverlo cancellare.
  • Description: un campo di descrizione.

Esempio del risultato ottenuto:

Se lo si desidera, è possibile personalizzare le opzioni avanzate del gateway facendo clic sul pulsante “Display Advanced”. I parametri avanzati che possono essere configurati sono i seguenti:

Weight
Il peso del gateway. Questo valore viene utilizzato nei gruppi di gateway per distribuire il traffico in modo non equo tra due gateway. Ad esempio, se abbiamo due accessi a Internet: WAN1 con 10 Mbps di larghezza di banda e WAN2 con 20 Mbps di larghezza di banda, possiamo configurare il gateway per WAN1 con un peso di 1 e il gateway per WAN2 con un peso di 2; in questo modo, per 3 traffici in uscita, 2 passeranno attraverso WAN2 e 1 attraverso WAN1 (distribuzione 1/3 – 2/3). Il peso può variare da 1 a 30.

Data Payload
Per impostazione predefinita, il ping inviato al gateway ha una dimensione del payload pari a 0 (nessun dato è contenuto nella richiesta ICMP). In circostanze molto rare, questo può causare problemi (il router intermedio rifiuta i pacchetti con un payload di 0); in questo caso, impostando il payload a 1 si dovrebbe correggere il problema.

Latency thresholds
Si usa per configurare le soglie di avviso per la latenza del gateway.
I valori sono espressi in millisecondi.
La prima soglia definisce la soglia di allarme: quando viene raggiunta, viene generato un allarme, ma il gateway è ancora considerato raggiungibile. Il valore predefinito è 200 ms.
La seconda soglia definisce la soglia di tolleranza massima: quando viene raggiunta, il gateway viene considerato irraggiungibile. Il valore predefinito è 500 ms.

Packet Loss thresholds
Si usa per configurare le soglie di allarme per il tasso di perdita di pacchetti del gateway.
I valori sono espressi in percentuale (0 significa 0% di perdita di pacchetti, 100 significa 100% di perdita di pacchetti).
La prima soglia definisce la soglia di avviso: quando viene raggiunta, viene generato un avviso, ma il gateway è considerato ancora raggiungibile. Il valore predefinito è 10%.
La seconda soglia definisce la soglia di tolleranza massima: quando viene raggiunta, il gateway viene considerato irraggiungibile. Il valore predefinito è 20%.

Probe Interval
Il valore del campo “Probe Interval” determina la frequenza con cui viene inviata una richiesta di ping all’indirizzo IP del gateway (o all’indirizzo IP da monitorare, se è stato personalizzato), in millisecondi. Per impostazione predefinita, la richiesta di ping viene inviata due volte al secondo (500 ms).

Loss Interval
Il tempo dopo il quale i PING senza risposta vengono considerati persi. Il valore predefinito è 2000 ms (2 secondi).
Questo valore deve essere maggiore o uguale alla soglia di latenza massima tollerata.

Time Period
L’intervallo di tempo su cui viene calcolata la media dei risultati del ping. Il valore predefinito è 60000 ms (60 secondi, un minuto).
Se si inserisce un periodo più lungo, la latenza o la perdita di segnale saranno più lunghe per attivare un allarme; d’altra parte, è meno probabile che i risultati del ping presentino un comportamento irregolare.

La durata scelta deve essere maggiore del doppio della somma di Intervallo sonda e Intervallo perdita, altrimenti i risultati restituiti potrebbero essere incoerenti.

Alert interval
L’intervallo di tempo, in millisecondi, tra due controlli della presenza di un avviso. Il valore predefinito è 1000 ms (1 secondo).
Questo valore deve essere maggiore o uguale al valore dell’Intervallo sonda, poiché non è possibile che si attivi un avviso tra due misurazioni separate (è la nuova misurazione che può potenzialmente attivare un avviso se le soglie configurate sono state raggiunte).

Use non-local gateway
Selezionando questa opzione è possibile effettuare una configurazione non standard in cui l’indirizzo IP del gateway non si trova nella stessa sottorete di quello configurato sull’interfaccia pfSense. È ancora molto raro dover attivare questa opzione; tuttavia, con la scarsità di IPv4, sembra che alcuni operatori ricorrano a questo trucco per risparmiare sul numero di indirizzi IP pubblici consumati per ogni client.

Creazione di un gruppo gateway

Un gruppo di gateway è una soluzione efficace per implementare la ridondanza (un gateway primario, uno secondario) o il bilanciamento del carico (due gateway primari).

La configurazione di un gruppo di gateway è utile, ad esempio, in un ambiente multi-WAN.

Un gruppo di gateway può essere creato o modificato dalla scheda “Gateway Groups” nel menu System > Routing.

È possibile configurare i seguenti elementi:

Group Name
Il nome del gruppo di gateway. Questo nome può contenere solo caratteri alfanumerici o trattini bassi, senza caratteri speciali o spazi.
La lunghezza massima è di 32 caratteri.

Gateway Priority
Questo elenco contiene tutti i gateway disponibili. Per ogni gateway è necessario definire due elementi di configurazione:

Tier: l’ordine di priorità del gateway; esistono cinque livelli di priorità, da Tier 1 (priorità massima) a Tier 5 (priorità minima). Se due gateway sono configurati con due livelli di priorità diversi, verrà utilizzato solo il gateway con il livello di priorità più alto.

Per essere chiari, ciò significa che verranno utilizzati esclusivamente i gateway con priorità di livello 1; se non sono disponibili gateway di livello 1, verranno utilizzati esclusivamente i gateway con priorità di livello 2 e così via.

Se due gateway sono configurati con lo stesso livello di priorità, il traffico sarà distribuito tra questi due gateway in base al rispettivo peso (configurabile nelle opzioni del gateway – campo “Weight” nelle opzioni avanzate).

Infine, è possibile selezionare “Never” per escludere il gateway in questione dal gruppo.

Virtual IP: l’indirizzo IP da utilizzare. Per impostazione predefinita, si tratta dell’indirizzo IP di pfSense sull’interfaccia in questione, ma potrebbe anche essere un indirizzo IP virtuale, ad esempio.

Trigger Level
Questo campo viene utilizzato per definire la condizione in base alla quale un gateway deve essere escluso dal gruppo. Sono possibili 4 valori:

Member Down: esclude il gateway solo se è considerato irraggiungibile.

Packet Loss: esclude il gateway se il tasso di perdita dei pacchetti raggiunge il valore della soglia di allarme del gateway (10% per impostazione predefinita).

High Latency: esclude il gateway se la latenza raggiunge il valore della soglia di allarme Latenza del gateway (200 ms per impostazione predefinita).

Packet Loss or High Latency: esclude il gateway se la latenza o la perdita di pacchetti raggiunge la soglia di allarme del gateway.

Description
Un campo di descrizione.

Esempio di configurazione :

Nella schermata precedente, la configurazione è la seguente: verrà utilizzato solo il gateway “WAN_Gateway_1” (è l’unico nel Tier 1); se diventa irraggiungibile, verranno utilizzati entrambi i gateway “WAN_Gateway_2” e “WAN_Gateway_3” per il bilanciamento del carico (entrambi sono nel Tier 2).
Non appena il gateway “WAN_Gateway_1” sarà di nuovo raggiungibile, il traffico verrà commutato esclusivamente su di esso.

Configurazione di una rotta statica

I percorsi statici vengono utilizzati quando gli host o le reti possono essere raggiunti da un router diverso dal gateway predefinito.
Il firewall sa quali reti gli sono direttamente collegate e raggiunge tutte le altre reti come indicato nella tabella di routing, ossia tramite il gateway predefinito o un percorso statico.
Nelle reti in cui un router interno collega altre sottoreti interne, è necessario definire un percorso statico affinché queste reti siano accessibili.

Per aggiungere una nuova rotta, accedere alla scheda “Static Routes” nel menu System > Routing.

Gli elementi configurabili sono i seguenti:

Destination network
L’indirizzo IP o la rete di destinazione.
Può essere un indirizzo IPv4, un prefisso IPv6 o un alias.
Si sconsiglia vivamente di utilizzare un alias perché la tabella di routing non viene aggiornata quando viene aggiornato un alias. Questa soluzione è quindi assolutamente sconsigliata.

Gateway
Il gateway attraverso il quale è possibile raggiungere la rete.

Disabled
Disattiva un percorso senza eliminarlo.

Description
Un campo di descrizione.

Sia che abbiate creato o modificato un gateway, un gruppo di gateway o una rotta statica, ricordatevi di fare clic sul pulsante “Apply Changes” affinché le configurazioni vengano prese in considerazione.

Scelta del gateway predefinito

Il gateway predefinito viene selezionato dalla scheda Gateways del menu System > Routing (in fondo alla pagina).

È possibile definire un gateway predefinito per IPv4 e un altro per IPv6.
Per impostazione predefinita, IPv6 avrà la precedenza su IPv4.

Se si preferisce che IPv4 abbia la precedenza su IPv6, selezionare la casella “Prefer IPv4 over IPv6” nella scheda Networking del menu System > Advanced.

Per selezionare il gateway predefinito, verranno proposti i seguenti valori:

  • Automatic: scelta predefinita; pfSense utilizzerà il primo gateway disponibile nell’elenco dei gateway configurati, procedendo dall’alto verso il basso.
  • Scegliere un gateway: questo gateway sarà sistematicamente utilizzato come gateway predefinito da pfSense.
  • Scegliere un gruppo di gateway: pfSense utilizzerà i gateway del gruppo nell’ordine di priorità in cui sono stati definiti; per funzionare correttamente, deve esserci un solo gateway per priorità (non è possibile fare il load-balance sul gateway predefinito).
  • None: non verrà definito alcun gateway predefinito per questo tipo di indirizzo (IPv4 o IPv6).

Ordine di priorità delle regole di routing

L’ordine di priorità per l’instradamento è il seguente:

  1. Regola di filtro: se nelle opzioni di configurazione delle regole avanzate è stato selezionato un gateway in una regola di filtro (menu Firewall > Rules), il traffico verrà instradato verso questo gateway, indipendentemente dallo stato della tabella di routing di pfSense.
  2. Rete collegata a un’interfaccia: se una sottorete è nota a pfSense perché configurata su una delle sue interfacce, pfSense instraderà il traffico direttamente senza utilizzare un gateway.
  3. Percorso statico: se la destinazione del traffico corrisponde a un percorso statico configurato, pfSense seguirà questo percorso statico.
  4. Gateway predefinito: infine, se la destinazione non è nota a pfSense, instraderà il traffico verso il suo gateway predefinito.

Infine, se avete dubbi sul routing che pfSense seguirà o sullo stato della tabella di routing, potete consultare il nostro articolo dedicato: [pfSense] Comprendere e analizzare le regole di routing. /// LIEN ///

Ecco fatto, abbiamo trattato tutto quello che c’è da sapere sulla gestione dei gateway di rete con pfSense!

Per saperne di più