Come aggiungere una FortiGate VM in GNS3

GNS3 è uno strumento particolarmente comodo per costruire laboratori di networking senza dover necessariamente utilizzare apparati fisici. Nel caso di Fortinet è possibile eseguire anche una FortiGate VM, collegandola a router, switch, client e altri firewall virtuali per provare configurazioni, routing e scenari di laboratorio.

Fortinet ha pubblicato un Technical Tip che descrive la procedura per aggiungere una FortiGate VM a GNS3 e indica come ambito FortiOS 6.0, 6.2, 6.4, 7.0, 7.2, 7.4 e 7.6.

La parte importante da capire è che servono due elementi distinti:

  • l’immagine FortiGate VM per KVM, scaricata dal portale Fortinet;
  • il template dell’appliance FortiGate utilizzato da GNS3.

Una volta associati i due elementi, FortiGate diventa un normale nodo utilizzabile all’interno delle topologie GNS3.

Prerequisiti

Prima di iniziare è necessario avere:

  • GNS3 installato;
  • preferibilmente la GNS3 VM configurata e funzionante;
  • un account Fortinet/FortiCare;
  • accesso al download delle immagini FortiGate VM;
  • l’appliance FortiGate disponibile nel Marketplace GNS3;
  • virtualizzazione hardware abilitata sulla macchina che esegue GNS3.

Fortinet suggerisce l’utilizzo della GNS3 VM per questo tipo di appliance. Anche GNS3 utilizza normalmente i template del Marketplace per installare macchine virtuali di produttori esterni e la GNS3 VM permette di eseguire le VM QEMU/KVM nell’ambiente dedicato.

Scaricare l’immagine FortiGate VM

Il primo elemento necessario è il firmware FortiGate VM.

Dal portale di supporto Fortinet bisogna accedere alla sezione dedicata alle VM Images, selezionare la release FortiOS che si vuole utilizzare e scegliere come piattaforma:

1
KVM

GNS3 utilizzerà infatti l’immagine destinata alla virtualizzazione KVM.

Il nome esatto dei menu del portale Fortinet può cambiare nel tempo, ma nel Technical Tip il percorso viene indicato come:

1
Support -> VM Images

Da qui si seleziona la versione FortiOS desiderata e si scarica l’immagine KVM.

È preferibile conservare il file originale senza modificarlo finché non viene richiesto esplicitamente durante l’importazione dell’appliance.

Scaricare il template FortiGate da GNS3

Il secondo elemento è l’appliance FortiGate presente nel Marketplace GNS3.

La pagina dedicata è:

FortiGate Appliance - GNS3 Marketplace

Qui è utile fare una distinzione tra template appliance e immagine FortiOS.

La documentazione GNS3 identifica i template appliance con estensione .gns3a; questi descrivono come GNS3 deve creare ed eseguire la macchina virtuale. L’immagine FortiOS vera e propria rimane invece quella scaricata dal portale Fortinet.

Questa distinzione è importante perché la formulazione del Technical Tip Fortinet in questo passaggio può risultare poco chiara: operativamente il Marketplace GNS3 fornisce la definizione dell’appliance, mentre il firmware FortiGate deve essere ottenuto legittimamente da Fortinet.

Importare FortiGate in GNS3

A questo punto è possibile aprire GNS3.

Prima di procedere conviene verificare che la GNS3 VM sia connessa e operativa.

Nel wizard delle appliance selezionare:

1
Browse all appliances

quindi creare o importare un nuovo template e scegliere l’installazione dell’appliance sul server GNS3.

Nella lista dei dispositivi cercare:

1
FortiGate

e procedere con l’installazione.

GNS3 mostrerà le versioni FortiOS già conosciute dal template.

Fortinet segnala che le versioni FortiOS più recenti potrebbero non essere ancora presenti nell’elenco perché il repository delle appliance GNS3 deve essere aggiornato.

Questo non significa necessariamente che la release non possa essere utilizzata.

Utilizzare una versione FortiOS non presente nell’elenco

Se la versione scaricata dal portale Fortinet non compare tra quelle proposte dal template, nel wizard è possibile utilizzare:

1
Create a new version

e creare una nuova voce corrispondente alla release FortiOS che si vuole importare.

Successivamente bisogna associare al template l’immagine KVM scaricata dal portale Fortinet.

Il Technical Tip mostra proprio questo scenario: una release FortiOS più recente rispetto a quelle già presenti nel repository GNS3 viene aggiunta manualmente creando una nuova versione.

Questo passaggio è particolarmente utile quando si vuole costruire un laboratorio utilizzando una specifica versione FortiOS senza dover aspettare che il template ufficiale GNS3 venga aggiornato.

Creare la prima topologia

Terminata l’importazione, FortiGate comparirà nell’elenco dei dispositivi disponibili in GNS3.

È quindi possibile creare un nuovo progetto:

1
File -> New Blank Project

e trascinare FortiGate all’interno della topologia.

Per un primo test è sufficiente collegare port1 a una rete dalla quale sia possibile raggiungere la VM.

Una topologia minima può essere concettualmente composta da:

1
2
3
4
5
6
7
8
PC / Host
|
|
FortiGate
port1
|
|
NAT / rete GNS3

Il Technical Tip Fortinet utilizza, come esempio, una rete NAT appartenente alla subnet:

1
192.168.82.0/24

assegnando alla port1 del FortiGate:

1
192.168.82.2/24

Si tratta solamente dell’indirizzamento utilizzato nell’esempio Fortinet: nel proprio laboratorio bisogna naturalmente utilizzare la subnet effettivamente collegata all’interfaccia.

Configurare port1

Dopo aver avviato FortiGate, aprire la console del dispositivo da GNS3.

Per poter raggiungere l’interfaccia web è necessario assegnare un indirizzo IP alla porta collegata alla rete di management e consentire l’accesso HTTPS.

Riprendendo l’indirizzamento utilizzato nell’esempio Fortinet, una configurazione potrebbe essere:

1
2
3
4
5
6
7
config system interface
edit "port1"
set mode static
set ip 192.168.82.2 255.255.255.0
set allowaccess ping https ssh
next
end

Il comando configura port1 con l’indirizzo 192.168.82.2/24 e abilita sulla stessa interfaccia:

  • ping, utile per i test di raggiungibilità;
  • https, necessario per accedere alla GUI;
  • ssh, utile per amministrare FortiGate da terminale.

ssh non è indispensabile per il solo accesso web e può essere omesso se non serve nel laboratorio.

È possibile verificare la configurazione con:

1
show system interface port1

oppure controllare lo stato delle interfacce con:

1
get system interface physical

Una volta verificata la connettività, l’interfaccia grafica sarà raggiungibile utilizzando nel browser l’indirizzo configurato sulla port1, come previsto anche dalla procedura Fortinet.

Nel nostro esempio:

1
https://192.168.82.2

FortiGate VM e licenza di valutazione

L’avvio della macchina virtuale e l’importazione in GNS3 non vanno confusi con la licenza FortiOS.

Fortinet mette a disposizione una modalità di valutazione per FortiGate VM e il Technical Tip richiama esplicitamente la Permanent Evaluation License. Per utilizzarla è necessario un account Fortinet/FortiCare. La licenza di valutazione è pensata per ambienti di test e presenta limitazioni rispetto a una licenza FortiGate VM completa.

Per un HomeLab è quindi importante verificare separatamente:

  1. quale immagine FortiOS si può scaricare;
  2. quale modalità di licensing è disponibile per quella versione;
  3. quali limitazioni introduce la licenza di valutazione.

Questo evita di costruire un laboratorio dando per scontato che tutte le funzionalità disponibili su un FortiGate licenziato siano utilizzabili nello stesso modo sulla VM di evaluation.

Se FortiGate non parte

Durante l’importazione ci sono alcuni punti che conviene controllare prima di modificare il template.

La versione FortiOS non compare

Non è necessariamente un problema.

Se l’immagine è più recente rispetto alla versione conosciuta dal template GNS3, utilizzare:

1
Create a new version

e associare manualmente l’immagine KVM.

La VM non si avvia correttamente

Controllare innanzitutto che la GNS3 VM sia attiva e che KVM sia disponibile.

GNS3 segnala esplicitamente che, quando il supporto KVM non è disponibile all’interno della GNS3 VM, bisogna verificare che la virtualizzazione hardware sia abilitata nel BIOS/UEFI e correttamente esposta all’ambiente virtuale.

Prima di cercare problemi nell’immagine FortiGate conviene quindi verificare l’infrastruttura GNS3.

La GUI non è raggiungibile

Controllare dalla console FortiGate:

  • che l’interfaccia corretta abbia un indirizzo IP;
  • che l’interfaccia sia operativamente attiva;
  • che il PC abbia connettività verso quella subnet;
  • che sull’interfaccia sia consentito https.

Ad esempio:

1
show system interface port1

e verificare la presenza di:

1
set allowaccess ping https

In un laboratorio è spesso utile partire verificando prima il ping e solo successivamente l’accesso HTTPS.

Una base utile per i laboratori Fortinet

Una volta creato correttamente il template, non è necessario ripetere tutta la procedura per ogni progetto.

La FortiGate VM rimane infatti disponibile tra i dispositivi GNS3 e può essere utilizzata per costruire topologie molto più articolate.

Ad esempio:

1
2
3
4
5
6
7
8
9
LAN-A
|
FGT-A
|
Router
|
FGT-B
|
LAN-B

oppure laboratori con più sedi nei quali testare:

  • routing statico;
  • OSPF;
  • BGP;
  • VLAN;
  • policy firewall;
  • NAT;
  • VPN IPsec;
  • SD-WAN;
  • configurazioni multi-FortiGate.

La parte più importante è quindi preparare correttamente una prima appliance FortiGate funzionante. Da quel momento GNS3 può diventare un ambiente molto comodo per riprodurre configurazioni e scenari di rete senza dover necessariamente disporre di più firewall fisici.

Riferimenti