User Tools

Site Tools


informatique:fortinet:fortigate

Fortigate

Fortigate est la gamme de firewall++ de Fortinet ; ils font du routage, du firewalling, concentrateur VPN, VPN SSL, antivirus, IPS, etc… bref pas mal de fonctions qui s'implémentent au fil du temps.

Processeurs

Comparatif informel et non-contractuel des CPUs de certains modèles de Fortigate :

# MODEL		CORE/HT		MODEL NAME
3810A		2c		AMD / cpu family 15 / model 33 / model name 02/21 /
                                stepping 2 / 1795 MHz / 1024 KB cache
3000D		2x 10c/20t	Intel(R) Xeon(R) CPU E5-2650 v3 @ 2.30GHz
3040B		4c/8t		Intel(R) Xeon(R) CPU           E5540  @ 2.53GHz
1240B		4c		Intel(R) Xeon(R) CPU           E5504  @ 2.00GHz
1101E		6c/12t		Intel(R) Xeon(R) E-2186G CPU @ 3.80GHz
800C		4c		Intel(R) Core(TM) i5 CPU         750  @ 2.67GHz
800		1c		Mobile Genuine Intel(R) processor       1600MHz
600E		6c/12t		Intel(R) Core(TM) i7-8700 CPU @ 3.20GHz
600D		4c/8t		Intel(R) Core(TM) i7-3770 CPU @ 3.40GHz
600C		2c/4t		Intel(R) Core(TM) i3 CPU         540  @ 3.07GHz
310B		1c		Intel(R) Celeron(R) CPU          440  @ 2.00GHz
300A		1c		Intel(R) Celeron(R) CPU 2.00GHz
200		1c		Celeron (Coppermine) @300MHz
100F		8c		ARMv8 Processor rev 4 (v8l) @ 1400 MHZ
60		1c		VIA Samuel 2 @ 400 MHz

On peut récupérer les infos CPU avec la commande : diagnose hardware sysinfo cpu

Architecture interne

L'architecture interne (simplifiée) des Fortigate varie selon les modèles, et interconnecte les composants suivants :

  • CPU
  • CPx : Content Processor, permet d'offloader (décharger le processeur principal de) certaines tâches de sécurité (comme les signatures IPS ou la gestion protocolaire IKE/IPSec dans le cas de la génération 8 = CP8)
  • NPx : FortiASIC Network Processor, permet d'offloader certaines tâche réseau (principalement les trafics IPv4 et les trafics des tunnels VPN IPSec)
  • SPx : Security Processor permet d'offloader certaines tâches de sécurité notamment l'intégralité des fonctions d'IPS
  • ISF : Integrated Switch Fabric : permet d'interconnecter les NPs. L'ISF lève les restrictions qui font que, par exemple, un flux ne peut être accéléré que si les 2 ports d'entrée et de sortie du flux sont connectés physiquement sur le même NP6.
  • les ports physiques

Il existe souvent des restrictions de prise en charge de l'offloading (par exemple dans le cas de paquets fragmentés, jumbo frames ou autre..) ; dans ce cas lesdits trafics seront traités par le processeur central. Pour en avoir une liste plus exhaustive je vous recommande la consultation du document FortiOS Handbook - Hardware Acceleration trouvable ici : http://docs.fortinet.com/fortigate/admin-guides .

Comparaison indicative des NPx : les différences concernent 1) la capacité de traitement de la puce, 2) sa connectivité, et 3) les fonctions gérées par celle-ci.

  • NP1 : firewalling IPv4 et chiffrement des VPN IPSec ; capacité de traitement de 2 Gbps (2x 1 Gbps)
  • NP2 : idem ; capacité de traitement de 2 Gbps (1x 10 Gbps ou 4x 1Gbps)
  • NP4 : idem ; capacité de traitement de 20 Gbps (2x 10 Gbps)
  • NP6 : idem + IPv6 + CAPWAP + trafic Mcast ; capacité de traitement de 40 Gbps (4x 10 Gbps ou 3x 10 Gbps + 16x 1 Gbps)
  • NP7 (introduit avec la génération F, à partir du modèle 400F) : idem + GTP, accélération VxLAN, NAT ; capacité de 200 Gbps (2x 100)

Exemple d'architecture interne pour les Fortigate 800C (source) : Ce modèle est doté de 1x CP8 et 1x NP4 (gérant les ports via une ISF).

Exemple d'architecture interne pour les Fortigate 3000D (source) : Celui-ci est équipé de 4x CP8, (une CPU), 2x NP6 et une ISF. On notera que le premier NP6 gère les 8 premiers ports alors que le second les 8 derniers. Ainsi, on prendra soin de répartir les interfaces à fort trafic sur des ports reliés aux différents NP6, afin de ne pas les saturer.

Comme indiqué dans la source, on peut vérifier la connectivité interne d'un Fortigate 3000D avec une des 2 commandes suivantes (exemple ici avec un 3000D) :

diagnose npu np6 port-list
# ou get hardware npu np6 port-list
Chip   XAUI Ports            Max   Cross-chip
                             Speed offloading
------ ---- -------          ----- ----------
np6_0  0    port1            10G   Yes
       0    port6            10G   Yes
       1    port2            10G   Yes
       1    port5            10G   Yes
       2    port3            10G   Yes
       2    port8            10G   Yes
       3    port4            10G   Yes
       3    port7            10G   Yes
------ ---- -------          ----- ----------
np6_1  0    port10           10G   Yes
       0    port13           10G   Yes
       1    port9            10G   Yes
       1    port14           10G   Yes
       2    port12           10G   Yes
       2    port15           10G   Yes
       3    port11           10G   Yes
       3    port16           10G   Yes
------ ---- -------          ----- ----------

On voit donc les 2 NP6 (np6_0 et np6_1) ainsi que leur connectivité avec les ports réels.

La colonne XAUI indique les connexions internes des NPs ; les liens utilisés peuvent être QSGMII (4x 1G), XAUI (10G). Sur ce 3000D par exemple, chaque NP6 est interconnecté par 4 liens internes XAUI (à 10Gbps), pour atteindre la capacité max de traitement d'un NP6 qui est de 40 Gbps. On voit que les ports 1 et 6 sont connectés au np6_0 via le même lien XAUI 0 ; or ces ports ont une capacité de 10Gbps chacun, ils ne pourront donc pas être pleinement accélérés s'ils sont saturés.

Pour créer un agrégat :

  • si le forti n'a pas d'ISF, il faut utiliser des ports connectés en interne sur le même NP6 ; de fait, l’agrégat ne pourra pas dépasser 40Gbps de débit accéléré, puisqu’il sera limité par le NP6.
  • si le forti possède une ISF qui interconnecte plusieurs NP6, on peut utiliser des ports connectés en interne sur les différents NPs, afin de répartir la charge et augmenter la capacité ; le débit accéléré max sera donc de N x 40Gbps (N = nombre de NP6)

Ces paramètres doivent être pris en compte pour choisir quels ports utiliser pour interconnecter le Fortigate à votre réseau.

Versions de FortiOS

Correspondance constatée entre les numéros de version et les numéros de build (ces derniers peuvent changer en fonction des modèles) :

# VER BUILD			RELEASE				DATE
5.4.1 Build 1064
5.2.7 Build 0718
5.2.6 Build 0711
5.2.5 Build 0701
5.2.3 Build 0670 ou 0350
5.0.6 Build 0271    		Latest 5.0 Patch Release 	Released 24 January 2014
5.0.5 Build 0252    		Latest 5.0 Patch Release 	Released 31 October 2013
5.0.4 Build 0228    		Latest 5.0 Patch Release 	Released 9 August 2013
5.0.3 Build 0208    		Latest 5.0 Patch Release 	Released 3 June 2013
v4.00 Build 0672 MR3 Patch 15   Latest MR3 Patch Release 	Released 4 September 2013
v4.00 Build 0665 MR3 Patch 14	Latest MR3 Patch Release	Released 17 May 2013
v4.00 Build 0656 MR3 Patch 12	Latest MR3 Patch Release	Released 13 Feb 2013
v4.00 Build 0646 MR3 Patch 11	Latest MR3 Patch Release	Released 22 Nov 2012
v4.00 Build 0639 MR3 Patch 10	Latest MR3 Patch Release	Released 10 Sep 2012
v4.00 Build 0637 MR3 Patch 9	Latest MR3 Patch Release	Released 21 Aug 2012
v4.00 Build 0632 MR3 Patch 8	Latest MR3 Patch Release	Released 06 Jul 2012
v4.00 Build 0535 MR3 Patch 7	Latest MR3 Patch Release	Released 11 May 2012
v4.00 Build 0521 MR3 Patch 6	Latest MR3 Patch Release	Released 15 Mar 2012
v4.00 Build 0513 MR3 Patch 5	Latest MR3 Patch Release	Released 01 Feb 2012
v4.00 Build 0511 MR3 Patch 4	Latest MR3 Patch Release	Released 12 Jan 2012
[..]
v4.00 Build 0441 MR3			Latest MR3 Patch Release	Released 19 Mar 2011
informatique/fortinet/fortigate.txt · Last modified: 2023/09/26 10:39 by pteu