.. _entables-command-line: ################################################################################################################################################ Comandi di gestione ################################################################################################################################################ entables ======================================================================== .. _entables-config-time: Data di modifica della configurazione ------------------------------------------------------------------------ Per verificare l'ultima volta in cui e' stata modificata la configurazione di entables (da SHELL o interfaccia WEB) e' sufficente dare il comando: :: entables --show-conf-time Il comando restiusce un timestamp in formato "floating point" con la data di ultima modifica (la parte decimale dopo il punto indica i millisecondi) :: 1702476526.9354596 Tenant di default ------------------------------------------------------------------------ Di default, il comand *entables* modifica la configurazione di entables per il tenant *primario*. Per specificare su quale tenant si vuole operare bisogna indicarlo espressamente con l'opzione *--tenant*: :: entables --tenant tenant2 ............ Dump/Restore della configurazione ------------------------------------------------------------------------ Salvare la configurazione di entables globale (tutti i tenant) su file: :: entables --dump > entables_configuration.conf Caricare la configurazione da file: :: entables --restore < entables_configuration.conf .. important:: Il formato del file di dump e' testatuale e puo' essere generato anche a mano. Per i dettagi si rimanda a :ref:`entables-dump-file-format`. .. important:: Il caricamento e' *atomico* quindi un eventuale errore durante il caricamento annullera' tutta la configurazione caricata e ripristinera' completamente quella gia' presente. E' possibile verificare fare un check della configurazione prima senza importarla veramente con l'opzione *"--check-only"*. :: entables --restore --check-only < entables_configuration.conf Il comando verifica le seguenti condizioni: * e' sintatticamente corretta * se tutte le *chain* usate nei jump (*-j*) sono state definite. .. note:: Le opzioni *"--dump"* e *"--restore"* sono equivalenti alle corrispondenti *"--save"*/*"--load"*. .. _entables-config-chains: Gestione chain ------------------------------------------------------------------------ Creare/togliere chain ~~~~~~~~~~~~~~~~~~~~~ Creare: :: entables -N/--new-chain Cancellare: :: entables -X/--delete-chain .. note:: non e' possibile cancellare la chain *DEFAULT*. Rinominare una chain ~~~~~~~~~~~~~~~~~~~~ Comando: :: entables -E/--rename-chain .. note:: non e' possibile rinominare la chain *DEFAULT*. .. note:: Se si rinomina una chain NON vengono aggiornati i riferimenti a quella chain potenzialmente contenuti in regole di altre chain. Policy di default ~~~~~~~~~~~~~~~~~ :: entables -P/--policy-chain [ ] Esempio: :: entables -P DEFAULT -j CONTINUE Si veda anche :ref:`entables-target-sintax`. .. _entables-config-rules: Gestione regole ------------------------------------------------------------------------ Per modificare le regole di entables da riga di comando e' possibile usare il comando: :: {{SANET_INSTALL_DIR}}/bin/entables [opzioni] [-m [optioni match]] [-j [opzioni target] ] [ --stop-if-match ] Elenco delle regole ~~~~~~~~~~~~~~~~~~~ Lanciare: :: entables -L entables --list .. _entables-config-chain: Gestione chain ------------------------------------------------------------------------ Aggiungere nuove regole ad una chain ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Inserire una regola in una posizione precisata: :: entables -I/--insert-rule [ MATCH ] -j [ TARGET OPTION ] [ --stop-if-match , --on-call-only ] Aggiungere una regola in coda alle regole gia' definite: :: entables -A/--append-rule [ MATCH ] -j [ TARGET OPTION ] [ --stop-if-match , --on-call-only ] Il flag *--stop-if-match* viene valutato al termine di esecuzione della regola (dopo l'esecuzione del *target* della regola). Il flag *--on-call-only* viene controllato all'inizio della valutazione della regola (prima di valutare i *match* e prima di eseguire il *target*). Cancellare una regola ~~~~~~~~~~~~~~~~~~~~~~~ Comando: :: entables -D/--delete-rule Cancellare tutte le regole: :: entables -F/--flush-chain Disabilitare regole ~~~~~~~~~~~~~~~~~~~ Comandi: :: entables -x/--disable-rule entables -a/--activate-rule Sintassi definizione di un match ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Per indicare un match e' necessario usare la seguente sintassi: :: -m --_ Esempio: :: entables -A DEFAULT -m attr --attr_path "ciccio" .... .. _entables-target-sintax: Sintassi definizioen di un target ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Per indicare un match e' necessario usare la seguente sintassi: :: -j [ --_ ] Quando *target* e' il nome di una chain, il target non accetta opzioni. Esempio 1: :: entables -A DEFAULT -j DROP Esempio 2: Indicare il valore per il parametro *rcpt_to* del target *SMTP*: :: entables -A DEFAULT -j SMTP --smtp_rcpt_to foo@bar.it Gestione dei template ------------------------------------------------------------------------ Lista del template definiti ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lanciare: :: entables --list-template Mostrare un template ~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lanciare: :: entables --show-template Esempio: :: entables --show-template message1 Creare/Modificare un template ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lanciare: :: entables --edit-template Se il template non esiste verra' creato automaticamente. .. note:: Il comando lanciera' l'editor testuale configurato in base al vostro sistema (vedi la man page di "sensible-editor"). Esempio: :: entables --edit-template message1 Creare/Modificare un template da standard input ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Lanciare: :: entables --load-template Se il template non e' definito, viene creato automaticamente. Esempio: :: cat < ${status}. Il testo oridignale dell'allarme salvato nella configurazione di sanet (msg-downbody o msg-upbody) e' questo: <<<< INIZIO >>>>> ${mail_body} <<<< FINE >>>>> Aggiungiamo una regola per mandare una mail in base alla configurazione di sanet e che usa: * come corpo del messaggio il template "template1" * come parametri per il target SMTP stringhe di testo contenti anche valori espansi da tag di sistema (${mail_xheaders}, ${mail_subject}, ${nodename}). Questi sono i comandi: :: entables -F DEFAULT entables -P DEFAULT -j DROP entables -t notify -A DEFAULT -j SMTP --smtp_rcpt_to root --smtp_message '#template:message1' --smtp_xheaders '${mail_xheaders}' --smtp_subject '[nodo: ${nodename}] ${mail_subject}' CLI ======================================================================== Allarmi processati ------------------ E' possibile consulatere l'elenco degli allarmi processati da entables con il comando: :: show entables alarms .. note:: gli allarmi visualizzati sono quelli del tenant *corrente*. Allarmi in corso di elaborazione -------------------------------- Per consultare quali allarmi sono ancora in fase di processi (devono ancora finire di essere processati/sono fermi in attesa): :: show entables pending .. note:: gli allarmi visualizzati sono quelli del tenant *corrente*. Diagnostica interna del processo entables ----------------------------------------- Comando: :: show entables server info .. _entables-command-line-entables_ctl: entables_ctl ======================================================================== Si rimanda a :ref:`entables-entables_ctl`. .. Lo stato interndo di entable puo' essere consultato con il comando: :: sanet-manage entables_ctl