Questa è una breve guida per una semplice configurazione di pfSense (testata con la versione 2.8.1) in modalità failover con due WAN.
- Configurare le due interfacce WAN con relativi gateway (chiamiamole qui WAN_MAIN/WAN_BACKUP e WAN_MAIN_GW/WAN_BACKUP_GW)
- In System > Routing > Gateway Groups, creare un gruppo (qui chiamato FAILOVER_IPv4_GROUP)
- In Gateway Priority:
- Assegnare "Tier 1" a WAN_MAIN_GW
- Assegnare "Tier 2" a WAN_BACKUP_GW
- Impostare "Keep failover state" a "Use global behaviour"
- Scegliete in Trigger level se impostare il failover quando la connessione è assente, o se aumentano latenza e/o packet loss.
- Salvate il gateway group
- In System > Routing > Gateway, impostare FAILOVER_IPv4_GROUP come Default gateway IPv4.
- In System > Routing > Gateway, per connessioni con cap o a consumo, può essere necessario cambiare l'intervallo di monitoraggio del gateway di backup - di default viene inviato un pacchetto ICMP ogni mezzo secondo.
Si può fare anche la stessa configurazione per IPv6, se entrambe le WAN lo supportano, ma in questo caso cambia il prefisso, e perché il failover funzioni, è necessario impostare anche una Network Prefix Translation per evitare il renumbering della rete interna.
Questa configurazione è già sufficiente perché il failover funzioni, ma ci sono alcune cose a cui fare attenzione:
Gli "stati" che pfSense crea per ogni connesssione sono "sticky", nel senso che sono associati all'interfaccia sulla quale la connessione è stata creata. Se la connessione cade, gli stati sono eliminati e quando le applicazioni si riconnettono, gli stati sono creati sulla WAN di backup. Quando però una WAN di priorità più alta ritorna attiva, pfSense di default ha un approccio conservativo e non elimina gli stati attivi. Quindi le connessione atttive sull'interfaccia di backup rimangono lì finché non sono chiuse. Può essere un problema per connessioni di lunga durata su WAN di backup con cap o a consumo, o se la differenza di velocità fra le due connessioni è ampia.
Le regole di firewall e di NAT sono per interfaccia (tranne le regole floating)
Se si vuole ritornare al più presto sulla WAN principale, al prezzo che anche in questo caso le connessioni saranno interrotte e dovranno essere ripristinate:
- In System > Advanced > Miscellaneous > Gateway Monitoring, impostare "State Killing on Gateway Recovery" a "Kill all states for lower priority gateways"
Per le regole di firewall, è necessario duplicare, se necessario, le regole dalla WAN_MAIN alla WAN_BACKUP (es. aperture per il VoIP). Basta usare il pulsante per la copia e cambiare l'interfaccia.
Per l'outbound NAT pfSense creerà automaticamente le regole anche per l'interfaccia di backup, se però usate le modalità "Hybrid Outbound NAT" o "Manual Outbound NAT" è necessario aggiungere anche le regole per l'interfaccia di backup.
Anche le regole di port forwarding devono essere aggiunte per l'interfaccia di backup.
Questa è una configurazione base che permette di avere un semplice failover/failback fra due interfacce WAN. pfSense permette anche configurazioni più complesse.
Si possono ad esempio scrivere regole di firewall per impedire un certo tipo di traffico quando la connessione di backup è attiva, ad esempio bloccare download sostanziosi o lo streaming video, così da risparmiare banda.
Si può ottenere creando una regola "allow" per il gateway principale seguita da una regola "deny" per il gateway secondario (i gateway si impostano nella sezione "Advanced"). Qundi in System > Advanced > Miscellaneous > Gateway Monitoring attivare "Skip rules when gateway is down".
In questo modo le regole "allow" saranno eliminate automaticamente e rimarranno le regole "deny"