Ce site a été conçu sur la plateforme de création de sites internet
.com
. Créez votre site aujourd'hui.
Commencez

FORUM | French Network Engineer

  • Forum

  • Membres

  • Contact

  • Plus...

    Use tab to navigate through the menu items.
    Pour visualiser cela, rendez-vous sur votre site en ligne.
    • Catégories
    • Tous les posts
    • Mes posts
    frenchnetworkengineer
    06 mai 2021
      ·  Modifié :  26 févr.

    FortiManager - Script TCL

    dans Fortinet

    Ci-dessous un exemple de script TCL que vous pouvez exécuter depuis votre FortiManager, mais avant il faut activer l'utilisation de script TCL sur votre FortiManager.


    Procédure réalisée sur une VM FORTIMANAGER en 6.4.3


     

    • Activation des scripts TCL sur votre FortiManager (en SSH) :


    config system admin setting
    set show_tcl_script enable
    end

     

    Création du script TCL :


    1. Aller sur "Device Manager",

    2. Cliquer sur "Scripts",

    3. Cliquer sur "Create New".

    4. Indiquer un nom pour votre script,

    5. Sélectionner "TCL Script",

    6. Sélectionner "Remote FortiGate Directly (via CLI)".

    7. Taper votre Script.





     

    • Voici un exemple de script TCL pour :

    • Modification de l’ip d’une interface,

    • Modification d’une plage DHCP,

    • Suppression d’une route + création d’une route.


    #DEBUT du script
    
    #LIGNE ESSENTIELLE
    #! 
    
    #DEBUT modification de l'ip de l'interface
    
    # Exécution de la commande « config vdom »
    set vdom [exec "config vdom\n" "# " 15]
    puts $vdom
    # Exécution de la commande « edit @VDOM »
    set editserv [exec "edit @VDOM\n" "# " 15]
    puts $editserv
    # Exécution de la commande « config system interface »
    set cfgsysint [exec "config system interface\n" "# " 15]
    puts $cfgsysint
    # Exécution de la commande « edit XXX »
    set edit@ID [exec "edit @ID \n" "# " 15]
    puts $edit@ID
    # Modification de l’adresse ip de l’interface
    set setip [exec "set ip @IP @MASK\n" "# " 15]
    puts $setip
    # Exécution de la commande « next »
    set next [exec "next\n" "# " 15]
    puts $next
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    
    #FIN modification de l'ip de l'interface
    
    #DEBUT modification DHCP de l'interface
    
    # Exécution de la commande « config system dhcp server »
    set cfgsysdhcp [exec "config system dhcp server\n" "# " 15]
    puts $cfgsysdhcp
    # Recherche d’une configuration DHCP avec la valeur @NAME
    set dhcp [exec "show | grep -f '@NAME'\n" "# " 15] 
    #puts $dhcp #Dé-commenter pour un débug afin d’afficher la valeur
    # SLIP du résultat sous forme de tableau
    set SplitEdit [split $dhcp \n] 
    #puts $SplitEdit #Dé-commenter pour un débug afin d’afficher la valeur
    # Récupération de la 3éme valeur du tableau – le comptage commence à 0
    set numedit [lindex $SplitEdit 2]
    #puts $numedit #Dé-commenter pour un débug afin d’afficher la valeur
    # Exécution de la commande « edit X » - valeur récupérer ci-dessus
    set editdhcp [exec "$numedit\n" "# " 15]
    puts $editdhcp
    # Modification de l’ip de la gateway
    set setgw [exec "set default-gateway @GATEWAY\n" "# " 15]
    puts $setgw
    # Modification du masque de sous réseau
    set setmask [exec "set netmask @MASK\n" "# " 15]
    puts $setmask
    # Exécution de la commande « config ip-range »
    set cfgiprange [exec "config ip-range\n" "# " 15]
    puts $cfgiprange
    # Exécution de la commande « edit 1 »
    set editiprange [exec "edit 1\n" "# " 15]
    puts $editiprange
    # Modification du début de la plage dhcp
    set setstart [exec "set start-ip @START_IP\n" "# " 15]
    puts $setstart
    # Modification de la fin de plage dhcp
    set setend [exec "set end-ip @END_IP \n" "# " 15]
    puts $setend
    # Exécution de la commande « next »
    set next [exec "next\n" "# " 15]
    puts $next
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    
    #FIN modification DHCP de l'interface
    
    #DEBUT modification routage
    
    # Exécution de la commande « config vdom »
    set vdom [exec "config vdom\n" "# " 15]
    puts $vdom
    # Exécution de la commande « edit @VDOM »
    set editroot [exec "edit @VDOM\n" "# " 15]
    puts $editroot
    # Exécution de la commande « config router static »
    set cfgrtstatic [exec "config router static\n" "# " 15]
    puts $cfgrtstatic
    # Recherche de la route qui à la valeur @ROUTE
    set route [exec "show | grep -f '@ROUTE'\n" "# " 15] 
    #puts $route #Dé-commenter pour un débug afin d’afficher la valeur
    # SLIP du résultat sous forme de tableau
    set Splitroute [split $route \n] 
    #puts $Splitroute #Dé-commenter pour un débug afin d’afficher la valeur
    # Récupération de la 3éme valeur du tableau – le comptage commence à 0
    set routeedit [lindex $Splitroute 2]
    #puts $routeedit #Dé-commenter pour un débug afin d’afficher la valeur
    # SLIP du résultat $routeedit sous forme de tableau
    set splitedit [split $routeedit]
    #puts $ splitedit #Dé-commenter pour un débug afin d’afficher la valeur
    # Récupération de la 6éme valeur du tableau – le comptage commence à 0
    set nedit [lindex $splitedit 5]
    #puts $nedit #Dé-commenter pour un débug afin d’afficher la valeur
    # Exécution de la commande « delete X » - valeur récupérer ci-dessus
    set dlroute [exec "delete $nedit\n" "# " 15]
    puts $dlroute
    # Exécution de la commande « edit 0 »
    set editroute [exec "edit 0\n" "# " 15]
    puts $editroute
    # Création de la route pour la destination @IP_DST @MASK_DST
    set setdst [exec "set dst @IP_DST @MASK_DST\n" "# " 15]
    puts $setdst
    # Création de la route avec la gateway @IP_GATEWAY
    set setrtgw [exec "set gateway @IP_GATEWAY\n" "# " 15]
    puts $setrtgw
    # Création de la route avec le device @DEVICE
    set setdevice [exec "set device @DEVICE\n" "# " 15]
    puts $setdevice
    # Exécution de la commande « next »
    set next [exec "next\n" "# " 15]
    puts $next
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    # Exécution de la commande « end »
    set end [exec "end\n" "# " 15]
    puts $end
    
    #FIN modification routage
    
    # Exécution de la commande « quit »
    set quit [exec "quit\n" "# " 15]
    puts $quit
    
    #FIN du script
    
    

     

    Pour plus d'informations : https://docs.fortinet.com/document/fortimanager/6.2.0/administration-guide/914165/tcl-scripts

    1 commentaire
    0
    1 commentaire

    french.network.engineer@gmail.com

    • YouTube