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.5.1. Elenco delle regole

Lanciare:

entables -L
entables --list

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.1. Lista del template definiti

Lanciare:

entables --list-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.5. Cancellare un template

Lanciare:

entables --delete-template message1

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.2.3. Diagnostica interna del processo entables

Comando:

show entables server info

7.1.5.3. entables_ctl

Si rimanda a entables_ctl.