A giudicare dal numero di domande che abbiamo ricevuto riguardo a SD-WAN, la tecnologia ha iniziato a radicarsi in modo significativo in Russia. I fornitori, ovviamente, non sono inerti e propongono le loro soluzioni, mentre alcuni audaci pionieri l'hanno già implementata nelle loro reti.
Lavoriamo con quasi tutti i fornitori e, in diversi anni nella nostra laboratorio, ho avuto modo di esplorare l'architettura di ogni grande sviluppatore di soluzioni a gestione software. In questo contesto, SD-WAN di Fortinet si distingue, poiché ha incorporato funzionalità di bilanciamento del traffico tra i canali di comunicazione nel software dei firewall. Questa soluzione è piuttosto democratica, quindi è solitamente presa in considerazione da aziende che non sono ancora pronte a grandi cambiamenti, ma vogliono utilizzare in modo più efficiente i loro canali di comunicazione.
In questo articolo voglio spiegare come configurare e lavorare con SD-WAN di Fortinet, a chi si adatta questa soluzione e quali insidie si possono incontrare.
I giocatori più notevoli nel mercato SD-WAN possono essere classificati in uno di due tipi:
1. Startup che hanno creato soluzioni SD-WAN da zero. Le più fortunate di queste ricevono un enorme impulso a svilupparsi quando vengono acquistate da grandi aziende – è la storia di Cisco/Viptela, VMWare/VeloCloud, Nuage/Nokia.
2. Grandi fornitori di rete che hanno creato soluzioni SD-WAN, sviluppando la programmabilità e la gestione dei loro tradizionali router – è la storia di Juniper, Huawei.
Fortinet è riuscita a trovare la propria strada. Nel software dei firewall è stata integrata una funzione che consente di unire le loro interfacce in canali virtuali e bilanciare il carico tra di essi utilizzando algoritmi complessi, rispetto alla classica instradamento. Questa funzione è stata chiamata SD-WAN. È corretto definire ciò che ha fatto Fortinet come SD-WAN? Nel mercato si sta lentamente formando una comprensione che Software-Defined significa separazione del Control Plane dal Data Plane, controller dedicati, orchestratori. Fortinet non ha nulla di tutto ciò. La gestione centralizzata è opzionale e proposta tramite il tradizionale strumento Fortimanager. Ma a mio avviso, non bisognerebbe cercare una verità astratta e sprecare tempo in discussioni sui termini. Nel mondo reale, ogni approccio ha i suoi vantaggi e svantaggi. La soluzione migliore è comprendere queste differenze e riuscire a scegliere le soluzioni che soddisfano le esigenze.
Cercherò di spiegare, con screenshot alla mano, come appare e cosa può fare SD-WAN di Fortinet.
Come è tutto strutturato
Supponiamo che tu abbia due filiali collegate tra loro tramite due canali di trasmissione dati. Questi canali di trasmissione dati si uniscono in un gruppo, simile a come le normali interfacce Ethernet si uniscono in un LACP-Port-Channel. I veterani ricorderanno PPP Multilink: è anche un'analogia appropriata. I canali possono essere porte fisiche, VLAN SVI e anche VPN o tunnel GRE.
VPN o GRE vengono generalmente utilizzati per collegare reti locali tra filiali attraverso Internet. Le porte fisiche vengono utilizzate quando ci sono connessioni L2 tra i siti, oppure quando ci si connette tramite MPLS/VPN dedicato, se siamo soddisfatti di una connessione senza Overlay e crittografia. Un altro scenario in cui si utilizzano porte fisiche all'interno del gruppo SD-WAN è il bilanciamento dell'uscita locale degli utenti su Internet.
Nel nostro stand ci sono quattro firewall e due tunnel VPN, operanti attraverso due "operatori di telecomunicazioni". Lo schema appare così:

I tunnel VPN sono configurati in modalità interfaccia, in modo che assomiglino a connessioni Point-to-Point tra dispositivi con indirizzi IP su interfacce P2P, che possono essere pingate per verificare che la connessione attraverso un tunnel specifico funzioni. Per crittografare il traffico e inviarlo dall'altra parte, è sufficiente instradarlo nel tunnel. Un'alternativa è la selezione del traffico per la crittografia tramite elenchi di sottoreti, il che complica notevolmente l'amministratore man mano che la configurazione diventa più complessa. In una rete vasta, per costruire un VPN è possibile utilizzare la tecnologia ADVPN, equivalente a DMVPN di Cisco o DVPN di Huawei, per semplificare la configurazione.
Configurazione Site-to-Site VPN per due dispositivi con instradamento BGP da entrambe le parti
«Centro Dati» (DC)
«Filiale» (BRN)
config system interface
edit "WAN1"
set vdom "Internet"
set ip 1.1.1.1 255.255.255.252
set allowaccess ping
set role wan
set interface "DC-BRD"
set vlanid 111
next
edit "WAN2"
set vdom "Internet"
set ip 3.3.3.1 255.255.255.252
set allowaccess ping
set role lan
set interface "DC-BRD"
set vlanid 112
next
edit "BRN-Ph1-1"
set vdom "Internet"
set ip 192.168.254.1 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.2 255.255.255.255
set interface "WAN1"
next
edit "BRN-Ph1-2"
set vdom "Internet"
set ip 192.168.254.3 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.4 255.255.255.255
set interface "WAN2"
next
end
config vpn ipsec phase1-interface
edit "BRN-Ph1-1"
set interface "WAN1"
set local-gw 1.1.1.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 2.2.2.1
set psksecret ***
next
edit "BRN-Ph1-2"
set interface "WAN2"
set local-gw 3.3.3.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 4.4.4.1
set psksecret ***
next
end
config vpn ipsec phase2-interface
edit "BRN-Ph2-1"
set phase1name "BRN-Ph1-1"
set proposal aes256-sha256
set dhgrp 2
next
edit "BRN-Ph2-2"
set phase1name "BRN-Ph1-2"
set proposal aes256-sha256
set dhgrp 2
next
end
config router static
edit 1
set gateway 1.1.1.2
set device "WAN1"
next
edit 3
set gateway 3.3.3.2
set device "WAN2"
next
end
config router bgp
set as 65002
set router-id 10.1.7.1
set ebgp-multipath enable
config neighbor
edit "192.168.254.2"
set remote-as 65003
next
edit "192.168.254.4"
set remote-as 65003
next
end
config network
edit 1
set prefix 10.1.0.0 255.255.0.0
next
end
config system interface
edit "WAN1"
set vdom "Internet"
set ip 2.2.2.1 255.255.255.252
set allowaccess ping
set role wan
set interface "BRN-BRD"
set vlanid 111
next
edit "WAN2"
set vdom "Internet"
set ip 4.4.4.1 255.255.255.252
set allowaccess ping
set role wan
set interface "BRN-BRD"
set vlanid 114
next
edit "DC-Ph1-1"
set vdom "Internet"
set ip 192.168.254.2 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.1 255.255.255.255
set interface "WAN1"
next
edit "DC-Ph1-2"
set vdom "Internet"
set ip 192.168.254.4 255.255.255.255
set allowaccess ping
set type tunnel
set remote-ip 192.168.254.3 255.255.255.255
set interface "WAN2"
next
end
config vpn ipsec phase1-interface
edit "DC-Ph1-1"
set interface "WAN1"
set local-gw 2.2.2.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 1.1.1.1
set psksecret ***
next
edit "DC-Ph1-2"
set interface "WAN2"
set local-gw 4.4.4.1
set peertype any
set net-device disable
set proposal aes128-sha1
set dhgrp 2
set remote-gw 3.3.3.1
set psksecret ***
next
end
config vpn ipsec phase2-interface
edit "DC-Ph2-1"
set phase1name "DC-Ph1-1"
set proposal aes128-sha1
set dhgrp 2
next
edit "DC2-Ph2-2"
set phase1name "DC-Ph1-2"
set proposal aes128-sha1
set dhgrp 2
next
end
config router static
edit 1
set gateway 2.2.2.2
et device "WAN1"
next
edit 3
set gateway 4.4.4.2
set device "WAN2"
next
end
config router bgp
set as 65003
set router-id 10.200.7.1
set ebgp-multipath enable
config neighbor
edit "192.168.254.1"
set remote-as 65002
next
edit "192.168.254.3"
set remote-as 65002
next
end
config network
edit 1
set prefix 10.200.0.0 255.255.0.0
next
end
Fornisco la configurazione in formato testuale, perché, a mio avviso, è più comodo impostare il VPN in questo modo. Quasi tutte le impostazioni da entrambe le parti sono identiche e in formato testuale si possono fare con copia e incolla. Se si fa lo stesso nell'interfaccia web, è facile sbagliarsi: dimenticare un flag da qualche parte, inserire un valore errato.
Dopo aver aggiunto le interfacce nel bundle

tutte le route e le politiche di sicurezza possono fare riferimento a esso, e non alle interfacce in esso contenute. Al minimo, è necessario consentire il traffico dalle reti interne verso SD-WAN. Quando si creano regole per esse, è possibile applicare misure di sicurezza come IPS, antivirus e decodifica HTTPS.

Per il bundle si configurano le regole SD-WAN. Queste regole definiscono l'algoritmo di bilanciamento per un traffico specifico. Sono simili alle politiche di routing nel Policy-Based Routing, solo che come risultato di un traffico che rientra nella politica non viene impostato il next-hop o l'interfaccia di uscita consueta, bensì le interfacce aggiunte al bundle SD-WAN più l'algoritmo di bilanciamento del traffico tra queste interfacce.
Il traffico può essere selezionato dal flusso generale in base alle informazioni L3-L4, alle applicazioni riconosciute, ai servizi internet (URL e IP), così come agli utenti riconosciuti di workstation e laptop. Dopo di che, per il traffico selezionato, è possibile assegnare uno dei seguenti algoritmi di bilanciamento:

Nell'elenco delle preferenze delle interfacce vengono selezionate quelle interfacce già aggiunte nel bundle che gestiranno questo tipo di traffico. Aggiungendo non tutte le interfacce, è possibile limitare quali canali utilizzerà, ad esempio, la posta elettronica, se non si desidera sovraccaricare i canali costosi con SLA elevato. Con FortiOS 6.4.1 è stata introdotta la possibilità di raggruppare le interfacce aggiunte nel bundle SD-WAN in zone, creando, ad esempio, una zona per la connessione a siti remoti e un'altra per l'accesso internet locale utilizzando NAT. Sì, anche il traffico che va verso l'internet pubblico può essere bilanciato.
Sugli algoritmi di bilanciamento
Per quanto riguarda il modo in cui Fortigate (il firewall di Fortinet) riesce a suddividere il traffico tra i canali, ci sono due opzioni interessanti, non molto diffuse nel mercato:
Lowest Cost (SLA) Tra tutte le interfacce attualmente conformi agli SLA, viene scelta quella con il costo (weight) più basso, impostato manualmente dall'amministratore; questa modalità è adatta per il traffico "volumetrico", come il backup e il trasferimento di file.
Migliore Qualità (SLA) Questo algoritmo, oltre alle comuni latenze, jitter e perdite di pacchetti, può utilizzare anche il carico attuale del canale per valutare la qualità; questa modalità è adatta per il traffico "sensibile", come la telefonia VoIP e le videoconferenze.
Per questi algoritmi è necessaria la configurazione di un misuratore delle prestazioni della connessione — Performance SLA. Questo misuratore controlla periodicamente (check interval) le informazioni sul rispetto degli SLA: perdite (packet loss), latenza (latency) e jitter nel canale, e può "escludere" quelli che non soddisfano i valori soglia di qualità — perdendo troppi pacchetti o presentando latenze eccessive. Inoltre, il misuratore tiene traccia dello stato del canale e può rimuoverlo temporaneamente dal bundle in caso di ripetute perdite di risposte (failures before inactive). Quando viene ripristinato, dopo che sono state ricevute alcune risposte consecutive (restore link after), il misuratore reinserirà automaticamente il canale nel bundle e i dati inizieranno nuovamente a essere trasmessi.
Ecco come appare la configurazione del "misuratore":

Nell'interfaccia web, come protocollo per i test sono disponibili ICMP-Echo-request, HTTP-GET e DNS request. Nella riga di comando le opzioni sono leggermente più numerose: sono disponibili le opzioni TCP-echo e UDP-echo, così come un protocollo specializzato per la misurazione della qualità — TWAMP.

I risultati delle misurazioni possono essere visualizzati anche nell'interfaccia web:

E nella riga di comando:

Risolvere i problemi
Se hai creato una regola, ma il funzionamento non è come previsto, controlla il valore Hit Count nella lista delle Regole SD-WAN. Questo ti mostrerà se il traffico rientra effettivamente in quella regola:

Nella pagina di configurazione del misuratore stesso puoi vedere la variazione dei parametri del canale nel tempo. La soglia del parametro è indicata con una linea tratteggiata.

Nell'interfaccia web puoi vedere come il traffico è distribuito in base al volume dei dati trasmessi/ricevuti e al numero di sessioni:

Oltre a tutto ciò, c'è la possibilità di tracciare il passaggio dei pacchetti con la massima dettaglio. Lavorando in una rete reale, nella configurazione del dispositivo si accumulano molte politiche di routing, firewall e distribuzione del traffico attraverso le porte SD-WAN. Tutto questo interagisce in modo complesso tra loro e, sebbene il fornitore fornisca diagrammi dettagliati degli algoritmi di elaborazione dei pacchetti, è molto importante avere la possibilità di non costruire e verificare teorie, ma vedere realmente dove va a finire il traffico.
Ad esempio, il seguente insieme di comandi
diagnosi debug flusso filtro saddr 10.200.64.15
diagnosi debug flusso filtro daddr 10.1.7.2
diagnosi debug flusso mostra nome-funzione
diagnosi debug abilitare
diagnosi debug traccia 2
Permetterà di tracciare due pacchetti con indirizzo sorgente 10.200.64.15 e indirizzo destinatario 10.1.7.2.
Eseguiamo il ping a 10.7.1.2 da 10.200.64.15 due volte e osserviamo l'output sulla console.
Primo pacchetto:

Secondo pacchetto:

Ecco il primo pacchetto ricevuto dal firewall:
id=20085 trace_id=475 func=print_pkt_detail line=5605 msg="vd-Internet:0 ricevuto un pacchetto(proto=1, 10.200.64.15:42->10.1.7.2:2048) da DMZ-Office. type=8, code=0, id=42, seq=0."
VDOM – Internet, Proto=1 (ICMP), DMZ-Office – nome dell'interfaccia L3. Type=8 – Echo.
Per lui è stata creata una nuova sessione:
msg="allocate a new session-0006a627"
E si è scoperta una corrispondenza nelle impostazioni delle politiche di routing
msg="Match policy routing id=2136539137: to 10.1.7.2 via ifindex-110"
Si scopre che il pacchetto deve essere inviato in uno dei tunnel VPN:
"find a route: flag=04000000 gw-192.168.254.1 via DC-Ph1-1"
Nelle politiche di firewall si trova una regola di autorizzazione:
msg="Allowed by Policy-3:"
Il pacchetto viene cifrato e inviato nel tunnel VPN:
func=ipsecdev_hard_start_xmit line=789 msg="entrare nell'interfaccia IPsec-DC-Ph1-1"
func=_ipsecdev_hard_start_xmit line=666 msg="Tunnel IPsec-DC-Ph1-1"
func=esp_output4 line=905 msg="Crittografia/autenticazione IPsec"
Il pacchetto cifrato viene inviato all'indirizzo del gateway per questa interfaccia WAN:
msg="send to 2.2.2.2 via intf-WAN1"
Per il secondo pacchetto tutto avviene in modo analogo, ma viene inviato in un altro tunnel VPN e passa attraverso un'altra porta del firewall:
func=ipsecdev_hard_start_xmit line=789 msg="entra nell'interfaccia IPsec-DC-Ph1-2"
func=_ipsecdev_hard_start_xmit line=666 msg="Tunnel IPsec-DC-Ph1-2"
func=esp_output4 line=905 msg="Crittografia/autenticazione IPsec"
func=ipsec_output_finish line=622 msg="invia a 4.4.4.2 tramite intf-WAN2"
Vantaggi della soluzione
Funzionalità affidabili e interfaccia conveniente. Il set di funzioni presente in FortiOS prima dell'introduzione di SD-WAN è stato completamente mantenuto. Quindi abbiamo a disposizione non un software sviluppato da zero, ma un sistema maturo di un fornitore di firewall affidabile. Con un set tradizionale di funzionalità di rete e un'interfaccia web facile e intuitiva. Quanti fornitori di SD-WAN offrono, diciamo, la funzionalità di Remote-Access VPN sui dispositivi finali?
Sicurezza di livello 80. FortiGate è tra le migliori soluzioni per firewall. Su internet ci sono molti materiali sulla configurazione e amministrazione dei firewall, e sul mercato del lavoro ci sono diversi specialisti di sicurezza che hanno già preso confidenza con le soluzioni del fornitore.
Prezzo nullo per le funzionalità SD-WAN. Costruire una rete SD-WAN su FortiGate costa tanto quanto costruirne una normale WAN, poiché non sono necessarie licenze aggiuntive per implementare le funzionalità SD-WAN.
Basso costo d'ingresso. Fortigate ha una buona gamma di dispositivi per diverse prestazioni. I modelli più piccoli e economici sono perfetti per allestire un ufficio o un punto vendita, ad esempio, per 3-5 dipendenti. Molti fornitori non hanno modelli così poco performanti e accessibili.
Elevate prestazioni. Ridurre le funzionalità SD-WAN a bilanciamento del traffico ha permesso all'azienda di rilasciare un ASIC SD-WAN specializzato, grazie al quale il funzionamento della SD-WAN non riduce le prestazioni del firewall in generale.
Possibilità di gestire completamente l'ufficio con l'hardware Fortinet. Questo include un paio di firewall, switch e punti di accesso Wi-Fi. È facile e conveniente gestire un tale ufficio: gli switch e i punti di accesso si registrano sui firewall e sono gestiti da essi. Ecco come può apparire, ad esempio, la porta di uno switch dall'interfaccia del firewall che gestisce questo switch:

Assenza di controller come unico punto di guasto. Su questo enfatizza lo stesso fornitore, ma si può considerare un vantaggio solo in parte, poiché per quei fornitori che hanno i controller, garantire la loro alta disponibilità non costa molto, di solito il prezzo è quello di una piccola quantità di risorse computazionali in un ambiente di virtualizzazione.
Cosa tenere d'occhio
Assenza di separazione tra Control Plane e Data Plane. Questo significa che la rete deve essere configurata manualmente o utilizzando strumenti di gestione tradizionali già esistenti — FortiManager. Per i fornitori che hanno questo tipo di separazione, la rete si compone da sola. L'amministratore potrebbe dover solo correggere la sua topologia, vietare qualcosa dove necessario, nient'altro. Tuttavia, il punto di forza di FortiManager è che può gestire non solo i firewall, ma anche gli switch e i punti di accesso Wi-Fi, ovvero praticamente l'intera rete.
Crescita condizionata della gestibilità. Poiché l'automazione della configurazione di rete utilizza strumenti tradizionali, la gestibilità della rete con l'introduzione di SD-WAN aumenta solo leggermente. D'altra parte, la nuova funzionalità diventa disponibile più rapidamente, poiché il fornitore inizialmente la rilascia solo per il sistema operativo dei firewall (cosa che consente immediatamente di utilizzarla), e solo successivamente integra gli interfaccia necessarie nel sistema di gestione.
Parte della funzionalità potrebbe essere accessibile tramite la riga di comando, ma non disponibile attraverso l'interfaccia web. Non è così spaventoso accedere ogni tanto alla riga di comando per configurare qualcosa, quanto è spaventoso non vedere nell'interfaccia web che qualcosa è già stato configurato da qualcun altro tramite la riga di comando. Ma questo di solito riguarda le funzionalità più recenti e gradualmente, con gli aggiornamenti di FortiOS, le capacità dell'interfaccia web vengono migliorate.
A chi è adatto
A chi non ha molte filiali. Implementare una soluzione SD-WAN con componenti centrali complessi in una rete di 8-10 filiali potrebbe non valere la spesa – sarà necessario investire denaro nelle licenze per i dispositivi SD-WAN e nelle risorse del sistema di virtualizzazione per l'installazione dei componenti centrali. Le risorse computazionali disponibili in una piccola azienda sono generalmente scarse. Nel caso di Fortinet, è semplicemente necessario acquistare i firewall.
A chi ha molte piccole filiali. Per molti fornitori, il prezzo minimo per soluzione per filiale è piuttosto alto e potrebbe risultare poco interessante dal punto di vista commerciale per il cliente finale. Fortinet offre dispositivi piccoli a un prezzo molto attraente.
A chi non è pronto a fare un grande passo. Implementare SD-WAN con controller, routing proprietario, un nuovo approccio alla pianificazione e al lavoro di gestione della rete potrebbe rappresentare un passo troppo significativo per alcuni clienti. Sì, tale implementazione alla fine aiuterà ad ottimizzare l'uso delle bande e il lavoro degli amministratori, ma inizialmente sarà necessario imparare molte cose nuove. Chi non è yet pronto a cambiare paradigma, ma desidera sfruttare al meglio le proprie bande, potrebbe trovare interessante la soluzione di Fortinet.
Fonte: habr.com
