Configurazione e gestione#

Requisiti#

Prima di configurare HA, assicurarsi che siano soddisfatti i seguenti requisiti:

  • Due firewall con dispositivi di rete identici. Ogni dispositivo deve avere esattamente lo stesso nome e la stessa numerazione (ad esempio, eth0, eth1, eth2, eth3)

  • Entrambi i nodi devono essere collegati alla stessa LAN; collegare le interfacce LAN allo stesso dominio di broadcast (di solito allo stesso switch).

  • Indirizzi IP statici per tutte le interfacce LAN che ospiteranno un IP virtuale.

Configurazione e impostazione#

Il processo di configurazione HA prevede diversi passaggi. Se si desidera solo visualizzare i comandi, è possibile passare direttamente alla sezione Configuration example, ma si consiglia di leggere l’intera sezione per comprendere il processo e i requisiti.

Il processo di configurazione è il seguente:

  1. Installare la stessa versione di NethSecurity su due macchine identiche (fisiche o virtuali). Consultare Installazione per istruzioni dettagliate sull’installazione.

  2. Collegare correttamente i cavi di rete per garantire la ridondanza. Consultare la sezione Network cabling di seguito per le linee guida corrette sul cablaggio.

  3. Configurare l’interfaccia HA su entrambi i nodi con indirizzi IP statici. Creare una LAN sul nodo primario e su quello secondario che sarà necessaria per il cluster prima di procedere con la configurazione di HA. Consultare la sezione HA interface qui sotto per istruzioni dettagliate.

  4. Inizializzare il cluster utilizzando i comandi ns-ha-config per stabilire la base del cluster HA. Il processo di inizializzazione configura i servizi necessari e prepara entrambi i nodi per la sincronizzazione. Durante la prima configurazione, tutte le interfacce di rete che verranno utilizzate nel cluster HA devono avere il cavo collegato su entrambi i nodi, altrimenti il nodo potrebbe entrare in stato di errore e il cluster HA potrebbe non funzionare correttamente. Consultare la sezione Cluster initialization qui sotto per istruzioni dettagliate.

  5. Configurare l’interfaccia WAN nel nodo primario utilizzando la pagina Interfacce e dispositivi nell’interfaccia web. Le interfacce WAN verranno configurate automaticamente all’interno del cluster e sincronizzate con il nodo secondario. Consultare la sezione WAN Interfaces di seguito per ulteriori informazioni.

  6. Verificare la configurazione per assicurarsi che tutto sia impostato correttamente. Utilizzare i comandi ns-ha-config per controllare lo stato e la configurazione del cluster HA. Consultare la sezione Verificare la configurazione di seguito per istruzioni dettagliate.

  7. Configurare interfacce LAN aggiuntive (opzionale) per il cluster. Questo passaggio è opzionale e dipende dalla configurazione della rete. È possibile aggiungere qualsiasi interfaccia LAN aggiuntiva che richieda il supporto HA. Consultare la sezione Interfacce LAN aggiuntive di seguito per istruzioni dettagliate. Se è necessario configurare un hotspot, consultare la sezione Supporto hotspot di seguito per i requisiti specifici.

  8. Aggiungere IP virtuali extra (opzionale) al nodo primario sulle interfacce LAN rilevanti. Questo passaggio è opzionale e consente di aggiungere indirizzi IP aggiuntivi al nodo primario per i servizi che richiedono più IP. Consultare la sezione IP virtuali extra di seguito per istruzioni dettagliate.

I passaggi dettagliati per ciascuno di questi punti sono trattati nelle sezioni seguenti.

A volte può essere necessario rimuovere interfacce o alias dalla configurazione HA. Questo può essere fatto utilizzando il comando ns-ha-config. Consultare la sezione Remove interfaces and virtual IPs di seguito per istruzioni dettagliate.

Cablaggio di rete#

Un cablaggio di rete adeguato è essenziale per garantire un’elevata disponibilità e un failover senza interruzioni tra il firewall primario e quello secondario.

  1. Raccomandazioni generali:

    • Per ogni zona di rete (LAN, WAN, DMZ, ecc.), utilizzare uno switch dedicato o una VLAN per collegare le interfacce di entrambi i firewall.

    • Evitare di collegare i firewall direttamente tra loro; utilizzare sempre uno switch o un segmento di rete intermedio.

    • Etichettare tutti i cavi e gli switch per maggiore chiarezza e facilitare la risoluzione dei problemi.

  2. Connessioni LAN:

    • Collegare le interfacce LAN sia del nodo primario che di quello secondario allo stesso segmento di rete.

    • Idealmente, utilizzare due switch separati per la ridondanza. Collegare la porta LAN di ciascun firewall a entrambi gli switch (se supportato), oppure almeno assicurarsi che ciascun firewall sia collegato a uno switch diverso. In questo modo si evita un singolo punto di guasto nel caso in cui uno switch si guasti.

    • Se si utilizzano due switch separati per la ridondanza, è necessario che siano correttamente interconnessi e che supportino lo Spanning Tree Protocol (STP) per prevenire loop di rete. Gli switch non gestiti senza supporto STP possono causare broadcast storm quando sono interconnessi.

    • Se è disponibile solo uno switch, utilizzare la segmentazione VLAN per separare logicamente ciascuna zona di rete e minimizzare i domini di broadcast.

    • Ripetere questo processo per ogni interfaccia di rete configurata per HA (ad esempio, LAN, GUEST, DMZ). Ogni interfaccia deve essere collegata al relativo segmento di rete, preferibilmente tramite switch ridondanti.

  3. Connessioni WAN:

    • Collegare le interfacce WAN di entrambi i nodi all’ISP o al router upstream.

    • Per la massima ridondanza, utilizzare lo stesso approccio adottato per le connessioni LAN.

    • Se è disponibile solo uno switch/router WAN, entrambi i firewall dovrebbero collegarsi ad esso, ma questo introduce un singolo punto di guasto.

    • Se il proprio ISP fornisce un router con funzionalità HA (ad esempio, VRRP o HSRP), è possibile collegare direttamente le porte WAN di entrambi i firewall ai router ridondanti dell’ISP.

    • In alternativa, è possibile configurare MultiWAN direttamente in NethSecurity per gestire più uplink WAN e il failover.

Questa configurazione garantisce che, in caso di guasto di un singolo firewall o switch, la connettività di rete venga mantenuta tramite il nodo secondario e lo switch rimanente.

Il diagramma seguente illustra la configurazione di rete ridondante consigliata; gli switch sono omessi per chiarezza.

Diagramma di rete High Availability che mostra il cablaggio corretto

Gestione delle interfacce#

Le interfacce possono essere classificate come segue:

  1. Interfaccia HA:

Questa è l’interfaccia utilizzata per la comunicazione VRRP. Deve essere configurata sia sul nodo primario che su quello secondario, quindi deve essere aggiunta alla configurazione HA durante l’inizializzazione. Questa interfaccia richiede tre indirizzi IP distinti: uno sul nodo primario, uno sul nodo secondario e un VIP (Virtual IP) che si sposta tra le unità quando i loro ruoli cambiano (Master/Backup). HA interface

Nota

Questa interfaccia può avere qualsiasi nome; tuttavia, la prassi consigliata è di chiamare l’interfaccia HA lan. In un ambiente HA, solo l’interfaccia HA può essere chiamata lan, tutte le altre interfacce devono utilizzare un nome diverso.

  1. Interfacce LAN aggiuntive:

Qualsiasi interfaccia che non sia una WAN, come un’altra LAN, una rete guest o una DMZ. Anche queste vengono gestite utilizzando la logica a tre indirizzi (IP primario, IP secondario e VIP), devono essere configurate sia sul nodo primario che su quello secondario, quindi devono essere aggiunte alla configurazione HA dopo l’inizializzazione. Un guasto su una di queste interfacce attiva un failover tra le unità. Vengono configurate aggiungendole come interfacce LAN. Interfacce LAN aggiuntive.

Si ricorda che tutte le interfacce aggiuntive devono utilizzare un nome diverso da lan.

  1. Interfacce WAN:

Queste interfacce vengono gestite come casi speciali. I problemi di connettività WAN sono generalmente più probabili rispetto a un guasto fisico di uno switch, di un cavo o di una scheda di rete. Attivare un failover HA quando una singola WAN va giù di solito non apporterebbe alcun reale beneficio: il firewall secondario sarebbe interessato dallo stesso problema di connettività a monte, mentre il failover stesso potrebbe introdurre interruzioni non necessarie.

Per questo motivo, i guasti WAN non provocano il passaggio dal firewall primario a quello secondario. La disponibilità della WAN dovrebbe essere gestita da MultiWAN, che è progettato per gestire la perdita di connettività, il failover dei collegamenti e l’instradamento del traffico su più uplink. Questo previene anche conflitti tra i meccanismi di HA e la gestione MultiWAN, specialmente in installazioni complesse o di alto valore. Le interfacce WAN devono essere configurate solo sul nodo primario; vengono replicate automaticamente sul nodo secondario. Ulteriori dettagli sono forniti nella sezione dedicata di seguito.

Interfaccia HA#

Il cluster HA richiede indirizzi IP statici per tutte le interfacce LAN che ospiteranno un IP virtuale. Seguire questi passaggi:

  • Accendere il nodo secondario, accedere all’interfaccia web e configurare un’interfaccia fisica con un indirizzo IP LAN statico (ad esempio, 192.168.100.239).

  • Accendere il nodo primario, accedere all’interfaccia web e configurare un’interfaccia fisica con un indirizzo IP LAN statico (ad esempio, 192.168.100.238).

Questi indirizzi IP statici vengono utilizzati per accedere direttamente ai nodi, anche se il cluster HA è disabilitato. Considerarli come indirizzi IP di gestione.

Inizializzazione del cluster#

Il processo di configurazione imposta keepalived per il failover, rsync su SSH per la sincronizzazione della configurazione e conntrackd per sincronizzare la tabella di connection tracking. Tutti questi dati passano attraverso l’interfaccia HA, che viene configurata durante la fase di inizializzazione. Utilizzare lo script ns-ha-config per semplificare il processo.

Prima di procedere con la configurazione effettiva, è importante assicurarsi che entrambi i nodi siano configurati correttamente e soddisfino i requisiti necessari.

Accedere alla console o connettersi tramite SSH al nodo primario ed eseguire i seguenti comandi.

Verificare i requisiti#

Per il nodo primario:

ns-ha-config check-primary-node <lan_interface>

Questo controlla:

  • L’interfaccia HA esiste ed ha un IP statico.

  • Se il server DHCP è in esecuzione:

    • L’opzione DHCP 3: router è impostata (dovrebbe essere l’IP virtuale).

    • L’opzione DHCP 6: DNS server è impostata.

Per il nodo secondario:

ns-ha-config check-backup-node <backup_node_ip> <lan_interface>

Questo controlla:

  • L’interfaccia HA esiste ed ha un IP statico.

  • Il nodo secondario è raggiungibile tramite SSH sulla porta 22 con l’utente root.

Lo script richiederà la password di root per il nodo secondario. È anche possibile passare la password tramite pipe:

echo "password" | ns-ha-config check-backup-node <backup_node_ip> <lan_interface>

Assicurarsi che il nodo secondario sia raggiungibile tramite SSH dal nodo primario sulla porta standard 22.

Inizializzare i nodi#

Inizializzare il nodo primario:

ns-ha-config init-primary-node <primary_node_ip> <backup_node_ip> <virtual_ip_cidr> <lan_interface>

Dove primary_node_ip è l’indirizzo IP statico del nodo primario già configurato per l’interfaccia HA, e backup_node_ip è l’indirizzo IP LAN statico del nodo secondario. Il virtual_ip è l’indirizzo IP virtuale per l’interfaccia HA a cui tutti gli host LAN devono puntare; deve essere specificato in notazione CIDR.

Questo script:

  • Inizializzare keepalived con l’IP virtuale per l’interfaccia LAN.

  • Configurare conntrackd.

  • Generare una password casuale e una chiave pubblica per la sincronizzazione.

  • Configurare dropbear (server SSH) per ascoltare sulla porta 65022 e consentire solo l’autenticazione tramite chiave per la sincronizzazione.

Inizializzare il nodo secondario, eseguire sempre il comando sul nodo primario:

ns-ha-config init-backup-node <lan_interface>

Lo script richiederà la password di root del nodo secondario. È anche possibile passare la password tramite pipe:

echo '<password>' | ns-ha-config init-backup-node <lan_interface>

A questo punto, i nodi sono configurati per comunicare tramite LAN e l’indirizzo IP virtuale della LAN effettuerà il failover.

Interfacce WAN#

Il sistema non richiede alcuna configurazione speciale per le interfacce WAN. È sufficiente configurarle all’interno della pagina Interfacce e dispositivi sul nodo primario e saranno gestite automaticamente dagli script HA.

Gli alias WAN possono essere aggiunti dalla stessa pagina di configurazione della rete e verranno sincronizzati automaticamente con il nodo secondario.

Le interfacce WAN vengono attivate sul nodo primario e mantenute inattive sul nodo secondario. Si noti che l’interfaccia web sul nodo secondario potrebbe non essere coerente: potrebbe mostrare l’interfaccia come «attiva» anche se è inattiva. Questa è una limitazione nota e verrà risolta in una versione futura.

Verificare la configurazione#

Il cluster è ora pronto per essere utilizzato. È possibile verificare lo stato del cluster e accertarsi che la configurazione sia corretta.

Verificare la configurazione attuale:

ns-ha-config show-config

Verificare lo stato del cluster HA. La prima sincronizzazione può richiedere fino a 5 minuti.

ns-ha-config status

Lo stato iniziale potrebbe mostrare Last Sync Status: SSH Connection Failed. Dopo la sincronizzazione, dovrebbe mostrare Last Sync Status: Up to Date.

Interfacce LAN aggiuntive#

È possibile aggiungere ulteriori interfacce LAN al cluster HA dopo la configurazione iniziale. Prima di aggiungere un’interfaccia, assicurarsi che l’interfaccia sia configurata con un indirizzo IP statico sia sul nodo primario che su quello secondario, analogamente a quanto fatto per l’interfaccia HA durante la configurazione iniziale. Le interfacce possono essere ethernet, bridge, VLAN o bond, ma è necessario che il nodo secondario disponga della stessa interfaccia con lo stesso nome e con la stessa gerarchia dei dispositivi (ad esempio, se l’interfaccia è una VLAN, anche l’interfaccia padre deve essere presente sul nodo secondario).

È possibile utilizzare questo comando per aggiungere qualsiasi interfaccia non-WAN, come una seconda LAN, DMZ o un’interfaccia GUEST al cluster HA.

Aggiungere interfacce aggiuntive secondo necessità:

ns-ha-config add-lan-interface <primary_node_ip> <backup_node_ip> <virtual_ip_address>

Vengono eseguiti i seguenti controlli:

  • l’indirizzo IP virtuale deve essere in notazione CIDR (ad esempio, 192.168.100.1/24)

  • assicurarsi che un dispositivo con l’indirizzo IP statico specificato esista sul nodo

  • Se il server DHCP è in esecuzione, il seguente

    • L’opzione DHCP 3: router è impostata (dovrebbe essere l’IP virtuale).

    • L’opzione DHCP 6: DNS server è impostata.

Esempio:

ns-ha-config add-lan-interface 192.168.200.1 192.168.200.2 192.168.200.253/24

Supporto hotspot#

La funzionalità hotspot è supportata nei cluster HA, ma ci sono requisiti importanti:

  • Deve essere configurato solo sulle interfacce di rete fisiche; le interfacce VLAN non sono supportate.

  • Il nodo secondario deve avere esattamente gli stessi dispositivi di rete del nodo primario.

  • Per mantenere la funzionalità hotspot durante il failover, l’indirizzo MAC dell’interfaccia che esegue l’hotspot sul nodo primario viene automaticamente copiato sull’interfaccia corrispondente del nodo secondario quando si verifica uno switchover. Questo comportamento impedisce l’utilizzo di interfacce VLAN per l’hotspot.

Si noti che le sessioni attive sono memorizzate nella RAM e andranno perse durante uno switchover; i client dovranno autenticarsi nuovamente a meno che l’accesso automatico non sia abilitato.

IP virtuali extra#

Un IP Virtuale (VIP) è un indirizzo IP aggiuntivo assegnato a un’interfaccia di rete che verrà migrato al nodo secondario in caso di failover. È possibile aggiungere IP Virtuali al nodo primario sulle interfacce rilevanti.

Questo è utile per i servizi che richiedono più indirizzi IP sulla stessa interfaccia, come i server virtuali o il bilanciamento del carico.

Utilizzare il comando ns-ha-config per registrare l’IP virtuale nella configurazione del cluster HA.

Gli IP virtuali devono essere impostati esplicitamente sul nodo primario.

ns-ha-config add-vip <interface> <vip_ip_cidr>

Nota: l’IP virtuale apparirà come un indirizzo IP aggiuntivo sull’interfaccia di rete all’interno della pagina Interfacce e dispositivi dell’interfaccia web, ma non sarà elencato nella sezione degli alias.

Rimuovere interfacce e IP virtuali#

Rimuovere un’interfaccia dalla configurazione HA:

ns-ha-config remove-interface <interface>

Esempio:

ns-ha-config remove-interface guest

Questo rimuove l’interfaccia da keepalived, quindi verrà esclusa dalla configurazione HA. Inoltre, l’indirizzo IP virtuale associato all’interfaccia verrà spostato sull’interfaccia di rete del nodo primario.

Rimuovere un IP virtuale dalla configurazione HA:

ns-ha-config remove-vip <interface> <vip_ip_cidr>

Esempio:

ns-ha-config remove-vip lan2 192.168.122.66/24

Esempio di configurazione#

Supponendo:

  • IP LAN del nodo primario: 192.168.100.238

  • IP LAN nodo secondario: 192.168.100.239

  • LAN Virtual IP: 192.168.100.240/24

  • Nome interfaccia LAN: lan

  • Password di root del nodo secondario: backup_root_password

Eseguire i seguenti comandi sul nodo primario:

  1. Verificare i requisiti:

    # Check requirements first
    ns-ha-config check-primary-node lan
    echo "backup_root_password" | ns-ha-config check-backup-node 192.168.100.239 lan
    
  2. Configurare il cluster:

    # Initialize primary
    ns-ha-config init-primary-node 192.168.100.238 192.168.100.239 192.168.100.240/24 lan
    
    # Initialize secondary (run from primary node)
    echo "backup_root_password" | ns-ha-config init-backup-node lan