7.1.5. Comandi di gestione¶
7.1.5.1. entables¶
7.1.5.1.1. 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
7.1.5.1.2. 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 ............
7.1.5.1.3. 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 Formato file dump.
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".
7.1.5.1.4. Gestione chain¶
7.1.5.1.4.1. Creare/togliere chain¶
Creare:
entables -N/--new-chain <nome>
Cancellare:
entables -X/--delete-chain <nome>
Note
non e' possibile cancellare la chain DEFAULT.
7.1.5.1.4.2. Rinominare una chain¶
Comando:
entables -E/--rename-chain <nome> <nuovo nome>
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.
7.1.5.1.4.3. Policy di default¶
entables -P/--policy-chain <target> [ <target options> ]
Esempio:
entables -P DEFAULT -j CONTINUE
Si veda anche Sintassi definizioen di un target.
7.1.5.1.5. Gestione regole¶
Per modificare le regole di entables da riga di comando e' possibile usare il comando:
{{SANET_INSTALL_DIR}}/bin/entables [opzioni] [-m <match> [optioni match]] [-j <target> [opzioni target] ] [ --stop-if-match ]
7.1.5.1.6. Gestione chain¶
7.1.5.1.6.1. Aggiungere nuove regole ad una chain¶
Inserire una regola in una posizione precisata:
entables -I/--insert-rule <chain name> <position> [ MATCH ] -j <target name> [ TARGET OPTION ] [ --stop-if-match , --on-call-only ]
Aggiungere una regola in coda alle regole gia' definite:
entables -A/--append-rule <chain name> <position> [ MATCH ] -j <target name> [ 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).
7.1.5.1.6.2. Cancellare una regola¶
Comando:
entables -D/--delete-rule <chain> <pos>
Cancellare tutte le regole:
entables -F/--flush-chain <chain>
7.1.5.1.6.3. Disabilitare regole¶
Comandi:
entables -x/--disable-rule <chain> <pos> entables -a/--activate-rule <chain> <pos>
7.1.5.1.6.4. Sintassi definizione di un match¶
Per indicare un match e' necessario usare la seguente sintassi:
-m <match> --<match>_<opzione> <valore>
Esempio:
entables -A DEFAULT -m attr --attr_path "ciccio" ....
7.1.5.1.6.5. Sintassi definizioen di un target¶
Per indicare un match e' necessario usare la seguente sintassi:
-j <target> [ --<target>_<opzione> <valore> ]
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
7.1.5.1.7. Gestione dei template¶
7.1.5.1.7.2. Mostrare un template¶
Lanciare:
entables --show-template <nome>
Esempio:
entables --show-template message1
7.1.5.1.7.3. Creare/Modificare un template¶
Lanciare:
entables --edit-template <nome>
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
7.1.5.1.7.4. Creare/Modificare un template da standard input¶
Lanciare:
entables --load-template <nome>
Se il template non e' definito, viene creato automaticamente.
Esempio:
cat <<EOF | entables --load-template message1
questo e' un template
di prova
EOF
7.1.5.1.7.6. Esempio¶
Creiamo un template contenente testo e dove utilizziamo i tag per espandere i dati dell'allarme:
entables --edit-template message1
Usare questo come testo del template:
Questo e' un allarme generato da un template
L'allarme proviene dal nodo nodo ${nodename} del tenant ${tenantname} con stato ${laststatus} -> ${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}'
7.1.5.2. CLI¶
7.1.5.2.1. 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.
7.1.5.2.2. 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.
7.1.5.3. entables_ctl¶
Si rimanda a entables_ctl.