informatique:fortinet:start
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| informatique:fortinet:start [2024/08/01 15:36] – [Tips] OSPF MTU mismatch pteu | informatique:fortinet:start [2025/10/31 11:01] (current) – [Interfaces] MSS tuning pteu | ||
|---|---|---|---|
| Line 35: | Line 35: | ||
| | | ||
| [..] | [..] | ||
| + | </ | ||
| - | # et quand un processus plante, prend trop de CPU ou de mémoire, on peut le killer : | + | C' |
| - | diagnose sys kill 11 <PID> | + | <code bash> |
| + | # rechercher le/s numéro/ | ||
| + | diagnose sys process pidof httpsd | ||
| + | 3584 | ||
| + | 3585 | ||
| + | 3586 | ||
| + | 3587 | ||
| + | |||
| + | # peut les killer | ||
| + | diagnose sys kill <PID> | ||
| + | |||
| + | # ou tuer tous les processus nommés httpsd | ||
| + | fnsysctl killall httpsd | ||
| </ | </ | ||
| + | Par défaut le kill envoie un SIGTERM (15) qui ne laisse pas de trace dans le crash log '' | ||
| + | <code bash> | ||
| + | diagnose sys kill 11 <PID> | ||
| + | fnsysctl killall 11 httpsd | ||
| + | </ | ||
| =====Redémarrage===== | =====Redémarrage===== | ||
| Line 194: | Line 212: | ||
| Rappel: la MTU IP est de 1500 octets par défaut. Pour la vérifier entre 2 machines, il faut lancer un PING en interdisant la fragmentation (bit " | Rappel: la MTU IP est de 1500 octets par défaut. Pour la vérifier entre 2 machines, il faut lancer un PING en interdisant la fragmentation (bit " | ||
| </ | </ | ||
| + | |||
| + | ref: [[https:// | ||
| <code bash> | <code bash> | ||
| Line 549: | Line 569: | ||
| </ | </ | ||
| - | =====Sauvegarde===== | + | =====Enregistrement de la configuration===== |
| - | Il existe 3 modes de sauvegarde | + | Il existe 3 modes d' |
| * '' | * '' | ||
| - | * '' | + | * '' |
| - | * '' | + | * '' |
| <code bash> | <code bash> | ||
| config global | config global | ||
| | | ||
| - | set cfg-save revert | + | set cfg-save revert |
| - | set cfg-revert-timeout 300 | + | set cfg-revert-timeout 300 |
| end | end | ||
| </ | </ | ||
| - | <WRAP center round important | + | <WRAP center round important |
| - | il faut bien penser à désactiver le mode revert après la maintenance sinon il redémarrera à chaque modif (et ne la prendra pas en compte) ! | + | //Ça va sans dire, mais ça va mieux en le disant// : il faut bien désactiver le mode revert après la maintenance sinon le firewall |
| </ | </ | ||
| + | =====Sauvegarde de la configuration===== | ||
| + | |||
| + | Les fortis peuvent __sauvegarder__ leur configuration (l' | ||
| + | <code bash> | ||
| + | config global | ||
| + | config system global | ||
| + | set revision-backup-on-logout | ||
| + | set revision-image-auto-backup enable # sauvegarde lors d'une mise à jour | ||
| + | end | ||
| + | end | ||
| + | end | ||
| + | </ | ||
| + | On retrouvera toutes les versions dans la webUI en cliquant sur l’icône en haut à droite : < | ||
| ======Routage====== | ======Routage====== | ||
| Line 698: | Line 731: | ||
| # affiche les LSAs envoyés par ce Fortigate : | # affiche les LSAs envoyés par ce Fortigate : | ||
| get router info ospf database self-originate | get router info ospf database self-originate | ||
| + | |||
| + | diagnose sniffer packet any 'proto 89' 6 0 l | ||
| + | diagnose sniffer packet any 'host 224.0.0.5' | ||
| get router ospf | get router ospf | ||
| Line 845: | Line 881: | ||
| ====Tips==== | ====Tips==== | ||
| - | A partir d'une certaine version de fortiOS (v6 peut-être ?), l’algorithme de calcul des MTUs a changé et ne tombe plus sur les mêmes valeurs que les précédentes versions. De ce fait un upgrade ou l' | + | ===MTU mismatch=== |
| + | |||
| + | A partir d'une certaine version de fortiOS (v6 peut-être ?), l’algorithme de calcul des MTUs des tunnels IPSec a changé et ne tombe plus sur les mêmes valeurs que les précédentes versions. De ce fait un upgrade ou l' | ||
| <code bash> | <code bash> | ||
| config router ospf | config router ospf | ||
| Line 1193: | Line 1231: | ||
| set ha-mgmt-interface " | set ha-mgmt-interface " | ||
| set ha-mgmt-interface-gateway 10.0.7.254 | set ha-mgmt-interface-gateway 10.0.7.254 | ||
| - | set override disable | + | set override disable |
| set priority 150 | set priority 150 | ||
| set monitor " | set monitor " | ||
| Line 1199: | Line 1237: | ||
| </ | </ | ||
| - | Normalement l'IP de management du master devient l'IP virtuelle d' | + | Les critères de sélection du primaire, lors d'une élection d'un cluster configuré avec le paramètre '' |
| + | - l' | ||
| + | - l' | ||
| + | - l' | ||
| + | - l' | ||
| + | |||
| + | NB: lorsqu' | ||
| + | |||
| + | Normalement l'IP de management du master devient l'IP virtuelle d' | ||
| <code bash> | <code bash> | ||
| - | # se connecter sur le membre d'id=1 du HA à partir du master | + | # se connecter sur le membre d'id=1 du HA à partir du master |
| - | execute ha manage 1 | + | execute ha manage 1 < |
| </ | </ | ||
| Line 1227: | Line 1273: | ||
| </ | </ | ||
| - | ====Vérifications==== | + | ====Diagnostique==== |
| + | Rappel: pour obtenir un prompt sur le membre passif d'un cluster, il faut se connecter en SSH sur le membre actif, puis : | ||
| <code bash> | <code bash> | ||
| - | # activer/ | + | c g |
| + | execute ha manage <ID> < | ||
| + | # ex: execute ha manage 1 networkadmin | ||
| + | </code> | ||
| + | |||
| + | //à réaliser en mode global si les VDOMs sont activés.// | ||
| + | <code bash> | ||
| + | # état du HA (état de la configuration et status) | ||
| + | get system ha | ||
| + | get system ha status | ||
| + | |||
| + | # sensiblement identique à la commande précédente | ||
| + | diagnose sys ha status | ||
| + | </ | ||
| + | |||
| + | Si désynchro, détermination de la zone non synchro (également visible en GUI en plaçant le curseur sur "Not Synchronized" | ||
| + | <code bash> | ||
| + | # détermination du VDOM (ou global) non synchro | ||
| + | diagnose sys ha checksum cluster | ||
| + | |||
| + | # pour le VDOM non synchro (ex: global), détermination de la portion de conf non synchro | ||
| + | diagnose sys ha checksum show global | ||
| + | [...] | ||
| + | firewall.internet-service-name: | ||
| + | rule.fmwp: 00000000000000000000000000000000 | ||
| + | </ | ||
| + | à comparer avec la conf du membre désynchro; dans mon cas j'ai 2 portions de conf désynchro. | ||
| + | |||
| + | Plus rapidement, si comme dans l' | ||
| + | <code bash> | ||
| + | config system console | ||
| + | set output standard | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | On peut resynchroniser la conf en saisissant manuellement les commandes manquantes sur le bon member ; si cela ne se fait pas tout seul (attendre quelques minutes quand même...), on relance le process de synchro : | ||
| + | < | ||
| + | # désactiver/ | ||
| execute ha synchro stop | execute ha synchro stop | ||
| execute ha synchro start | execute ha synchro start | ||
| - | # reset l'âge des membres d'un cluster (pour palier certains vieux bug..) | + | diagnose sys ha checksum recalculate |
| - | diagnose sys ha reset-uptime | + | |
| </ | </ | ||
| - | Diagnostique | + | Si toujours KO, remonter le cluster from scratch pour resynchroniser le backup sur le primaire (pas de coupure normalement, |
| + | |||
| + | |||
| + | ====Diag avancé / prise de trace==== | ||
| <code bash> | <code bash> | ||
| - | # état du HA | + | # sur le primaire |
| - | get system | + | execute |
| - | # informations détaillées | + | diag debug reset |
| - | get system | + | diag debug enable |
| + | diag debug console timestamp enable | ||
| + | diag debug application hasync -1 | ||
| + | diag debug application hatalk -1 | ||
| + | execute | ||
| - | # cmdes avancées (tshoot) | + | # sur le backup |
| - | diagnose sys ha status | + | diag debug reset |
| + | diag debug enable | ||
| + | execute | ||
| + | diag debug console timestamp enable | ||
| + | diag debug application hasync -1 | ||
| + | diag debug application hatalk -1 | ||
| + | execute ha synchronize start | ||
| + | </ | ||
| + | A la fin du process (10m), désactiver le debug : | ||
| + | <code bash> | ||
| + | diag debug disable | ||
| + | diag debug reset | ||
| + | </ | ||
| + | |||
| + | <code bash> | ||
| + | # diag avancé | ||
| diagnose sys ha dump 1 | diagnose sys ha dump 1 | ||
| diagnose sys ha dump 2 | diagnose sys ha dump 2 | ||
| Line 1255: | Line 1360: | ||
| diagnose sys ha showcsum 2 | diagnose sys ha showcsum 2 | ||
| diagnose sys ha showcsum 3 | diagnose sys ha showcsum 3 | ||
| + | |||
| + | # relancer le HA " | ||
| + | fnsysctl killall hasync | ||
| + | fnsysctl killall hatalk | ||
| </ | </ | ||
| + | Liens : | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| + | * [[https:// | ||
| ======Log / Syslog====== | ======Log / Syslog====== | ||
| Line 1377: | Line 1490: | ||
| * [[https:// | * [[https:// | ||
| + | |||
| + | =====Tips===== | ||
| + | |||
| + | ====Supprimer des logs==== | ||
| + | |||
| + | Il n'est pas possible de supprimer une ligne de log individuelle, | ||
| + | |||
| + | Dans l' | ||
| + | <code bash> | ||
| + | c v | ||
| + | edit root | ||
| + | |||
| + | # lister les catégories possibles | ||
| + | execute log filter category | ||
| + | Available categories: | ||
| + | 0: traffic | ||
| + | 1: event | ||
| + | 2: utm-virus | ||
| + | 3: utm-webfilter | ||
| + | 4: utm-ips | ||
| + | 5: utm-emailfilter | ||
| + | 7: utm-anomaly | ||
| + | 8: utm-voip | ||
| + | 9: utm-dlp | ||
| + | 10: utm-app-ctrl | ||
| + | 12: utm-waf | ||
| + | 15: utm-dns | ||
| + | 16: utm-ssh | ||
| + | 17: utm-ssl | ||
| + | 19: utm-file-filter | ||
| + | 20: utm-icap | ||
| + | 22: utm-sctp-filter | ||
| + | 23: forti-switch | ||
| + | 24: utm-virtual-patch | ||
| + | 25: utm-casb | ||
| + | |||
| + | execute log filter category 1 | ||
| + | |||
| + | execute log delete | ||
| + | This will delete memory event log | ||
| + | Do you want to continue? (y/n)y | ||
| + | </ | ||
| + | |||
| ======Mail d' | ======Mail d' | ||
| Line 1385: | Line 1541: | ||
| Pour tester l' | Pour tester l' | ||
| + | |||
| + | ======VxLAN (over IPSec)====== | ||
| + | |||
| + | Le VxLAN est une encapsulation réseau permettant d' | ||
| + | |||
| + | Mis en place d'un VxLAN overIPSec: | ||
| + | |||
| + | Soit le topologie suivante : 2 fortigates, interconnectés via un tunnel IPSec vpn-to-FTG1/ | ||
| + | <code bash> | ||
| + | vlan5 --- FGT1_port1 | ||
| + | | ||
| + | 10.1.1.1/ | ||
| + | </ | ||
| + | On veut interconnecter les VLANs 5 de FGT1 et 6 de FGT2 via notre VxLAN. On va configurer des VTEPs (VXLAN tunnel endpoint) et un // | ||
| + | |||
| + | Sur FGT1: | ||
| + | <code bash> | ||
| + | # VDOM intranet: déclaration du VxLAN | ||
| + | config system vxlan | ||
| + | edit " | ||
| + | set interface " | ||
| + | set vni 5 | ||
| + | set remote-ip " | ||
| + | next | ||
| + | end | ||
| + | # global | ||
| + | config system interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | unset ip | ||
| + | set alias " | ||
| + | set role lan | ||
| + | set interface " | ||
| + | set vlanid 5 | ||
| + | next | ||
| + | end | ||
| + | # pour être ajoutés au sw-itf, le vlan5 ne doit pas avoir d'IP ni appartenir à une zone | ||
| + | config system switch-interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | set member " | ||
| + | next | ||
| + | end | ||
| + | config system interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | unset ip # la passerelle 192.168.5.254/ | ||
| + | set type switch | ||
| + | next | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | Sur FGT2: | ||
| + | <code bash> | ||
| + | # VDOM intranet: déclaration du VxLAN | ||
| + | config system vxlan | ||
| + | edit " | ||
| + | set interface " | ||
| + | set vni 5 # le vni doit nécessairement être le même | ||
| + | set remote-ip " | ||
| + | next | ||
| + | end | ||
| + | # global | ||
| + | config system interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | unset ip | ||
| + | set alias " | ||
| + | set role lan | ||
| + | set interface " | ||
| + | set vlanid 6 | ||
| + | next | ||
| + | end | ||
| + | # pour être ajoutés au sw-itf, le vlan5 ne doit pas avoir d'IP ni appartenir à une zone | ||
| + | config system switch-interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | set member " | ||
| + | next | ||
| + | end | ||
| + | config system interface | ||
| + | edit " | ||
| + | set vdom " | ||
| + | set ip 192.168.5.254/ | ||
| + | set type switch | ||
| + | next | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | Sources: | ||
| + | * https:// | ||
| ======Services réseau====== | ======Services réseau====== | ||
| Line 1713: | Line 1960: | ||
| diagnose debug app hatalk 255 | diagnose debug app hatalk 255 | ||
| + | |||
| + | # Afficher les paquets fragmentés seulement (MF=1 ou avec un offset de fragmentation, | ||
| + | diagnose sniffer packet any ' | ||
| # Afficher les paquets ICMP de type 3 code 4 | # Afficher les paquets ICMP de type 3 code 4 | ||
| - | # (fragmentation nécessaire mais impossible à cause du drapeau (flag) DF) | + | # (fragmentation nécessaire |
| diagnose sniffer packet any ' | diagnose sniffer packet any ' | ||
| # alternative : | # alternative : | ||
| diagnose sniffer packet any ' | diagnose sniffer packet any ' | ||
| </ | </ | ||
| - | |||
| =====Packet capture===== | =====Packet capture===== | ||
| Line 1737: | Line 1986: | ||
| =====iperf===== | =====iperf===== | ||
| - | Les fortigates | + | Les Fortigates |
| <code bash> | <code bash> | ||
| conf global | conf global | ||
| Line 1750: | Line 1999: | ||
| diagnose traffictest run | diagnose traffictest run | ||
| </ | </ | ||
| - | Malheureusement il n'est pas possible de l' | ||
| La plupart des options classiques d' | La plupart des options classiques d' | ||
| + | |||
| + | Depuis les versions 7.0 et 7.2, on peut configurer un Fortigate également en mode serveur : | ||
| + | <code bash> | ||
| + | # activer la fonction en mode global | ||
| + | config system global | ||
| + | set speedtest-server enable | ||
| + | end | ||
| + | # sur l' | ||
| + | config system interface | ||
| + | edit wan1 | ||
| + | append allowaccess speed-test | ||
| + | next | ||
| + | end | ||
| + | </ | ||
| + | |||
| + | Par sécurité il n'est pas recommandé de laisser activé le mode serveur au-delà des tests de qualif/ | ||
| + | |||
| Line 2043: | Line 2308: | ||
| =====Reset factory===== | =====Reset factory===== | ||
| + | Pour effectuer un restauration d' | ||
| <code bash> | <code bash> | ||
| execute factoryreset | execute factoryreset | ||
| Line 2213: | Line 2479: | ||
| =====Auto filesystem check===== | =====Auto filesystem check===== | ||
| - | Après une coupure électrique les Fortigate affichent un message d' | + | Après une coupure électrique les Fortigate affichent un message d' |
| <code bash> | <code bash> | ||
| config system global | config system global | ||
| Line 2220: | Line 2486: | ||
| </ | </ | ||
| - | C'est toutefois | + | Ce n'est toutefois |
| =====SSH sortant impossible===== | =====SSH sortant impossible===== | ||
| Line 2247: | Line 2513: | ||
| </ | </ | ||
| + | |||
| + | =====Désactiver les upgrades automatiques===== | ||
| + | |||
| + | Depuis la version 7.4.5 et si on les mets à jour (donc pas les //fresh install//) depuis des versions majeures antérieures (7.0, 7.2), les Fortigates se mettent à jour de leur propre chef s'ils détectent une nouvelle version de FortiOS disponible. Comme tout ce qui est forcé, masqué et impactant c'est assez malvenu ; mais on peut tout de même le désactiver : | ||
| + | <code bash> | ||
| + | # pour vérifier l' | ||
| + | diagnose test application forticldd 13 | ||
| + | Scheduled push image upgrade: no | ||
| + | Scheduled Config Restore: no | ||
| + | Scheduled Script Restore: no | ||
| + | Automatic image upgrade: Enabled. | ||
| + | New image information may be fetched. | ||
| + | Next new image info fetch scheduled at (local time) Tue Oct 7 01:34:49 2025 | ||
| + | New image installation may be cancelled by the user. | ||
| + | Last new image info fetch executed at (local time) Mon Oct 6 03:36:21 2025 | ||
| + | |||
| + | # Pour la désactiver : | ||
| + | c g | ||
| + | config sys fortiguard | ||
| + | set auto-firmware-upgrade disable | ||
| + | end | ||
| + | Any pending automatic patch-level firmware upgrade has been removed. | ||
| + | </ | ||
| + | |||
| + | src: [[https:// | ||
| ======Liens utiles====== | ======Liens utiles====== | ||
| * [[http:// | * [[http:// | ||
informatique/fortinet/start.1722526591.txt.gz · Last modified: 2024/08/01 15:36 by pteu