Old:Parametri a run-time per Netfilter: differenze tra le versioni

Da Guide@Debianizzati.Org.
Vai alla navigazione Vai alla ricerca
(→‎Premessa: piccole aggiunte)
(revisionata, inseriti i tag code)
Riga 1: Riga 1:
==Premessa==
==Premessa==
Di seguito riporto un elenco delle principali variabili del kernel relative a netfilter impostabili a run-time.
Di seguito riporto un elenco delle principali variabili del kernel relative a Netfilter impostabili a run-time.


Per ciascuna di esse è indicato:
Per ciascuna di esse è indicato:
* nome della variabile;
* nome della variabile;
* tipo (booleano, integer, ecc ...);
* tipo (booleano, integer, ecc);
* una breve descrizione.
* una breve descrizione.


Queste variabili possono essere impostate in vari modi. Ad esempio potremmo scrivere in un terminale (o inserire in uno script):
Queste variabili possono essere impostate in vari modi. Ad esempio potremmo scrivere in un terminale (o inserire in uno script):
 
<pre>
  # echo $VAL > /proc/sys/net/VARIABLE
  # echo $VAL > /proc/sys/net/VARIABLE
 
</pre>
dove $VAL è il valore booleano o intero che si vuole assegnare alla variabile ''VARIABLE''.
dove <code>$VAL</code> è il valore booleano o intero che si vuole assegnare alla variabile <code>VARIABLE</code>.


Per impostare alcuni variabili al boot possiamo editare <tt>/etc/sysctl.conf</tt> aggiungendo:
Per impostare alcuni variabili al boot possiamo editare <tt>/etc/sysctl.conf</tt> aggiungendo:
 
<pre>
  net/VARIABLE = val
  net/VARIABLE = val
 
</pre>
notare che è stato omesso <tt>/proc/sys</tt>.
notare che è stato omesso <tt>/proc/sys</tt>.


Altra documentazione (in inglese) si trova allegata ai sorgenti del kernel all' interno di '''Documentation/networking/ip-sysctl.txt'''
Altra documentazione (in inglese) si trova allegata ai sorgenti del kernel all'interno di <code>'''Documentation/networking/ip-sysctl.txt'''</code>


Buona lettura!
Buona lettura!
Riga 25: Riga 25:
==Variabili a run-time==
==Variabili a run-time==


'''ip-forward (boolean)'''
<code>'''ip-forward'''</code> (boolean): permette il forwarding dei pacchetti;
Permette il forwarding dei pacchetti


'''ipfrag_high_thresh (integer)'''
<code>'''ipfrag_high_thresh'''</code> (integer): massima memoria utilizzabile per riassemblare i pacchetti frammentati. I pacchetti eccedenti vengono scartati fino a che non si raggiunge nuovamente la soglia settata da <code>'''ipfrag_low_thresh</code>;
Massima memoria utilizzabile per riassemblare i pacchetti frammentati. I pacchetti eccedenti vengono scartati fino a che non si raggiunge nuovamente la soglia settata da '''ipfrag_low_thresh


'''ipfrag_time (integer)'''
<code>'''ipfrag_time'''</code> (integer): tempo massimo per mantenere un frammento IP in memoria;
Tempo massimo per mantenere un frammento IP in memoria


'''tcp_syn_retries (integer)'''
<code>'''tcp_syn_retries'''</code> (integer): numero massimo di tentativi di ritrasmissione per stabilire una connessione (valore max=255);
Numero massimo di tentativi di ritrasmissione per stabilire una connessione (valore max=255)


'''tcp_synack_retries (integer)'''
<code>'''tcp_synack_retries'''</code> (integer):
Idem come sopra, ma per le connessioni passive
idem come sopra, ma per le connessioni passive;


'''tcp_keepalive_time (integer)'''
<code>'''tcp_keepalive_time'''</code> (integer):
Indica quanto spesso verrà inviato il messaggio TCP KEEPALIVE
indica quanto spesso verrà inviato il messaggio <code>TCP KEEPALIVE</code>;


'''tcp_keepalive_probes (integer)'''
<code>'''tcp_keepalive_probes'''</code> (integer):
Indica quanti pacchetti TCP PROBES inviare prima di considerare la connessione BROKEN
indica quanti pacchetti <code>TCP PROBES</code> inviare prima di considerare la connessione <code>BROKEN</code>;


'''tcp_keepalive_interval (integer)'''
<code>'''tcp_keepalive_interval'''</code> (integer):
Indica quanto frequentemente vengono inviati i pacchetti TCP PROBES. Moltiplicando questo valore per il '''tcp_keepalive_probes''' si ottiene il timeout per il KILL di una connessione
indica quanto frequentemente vengono inviati i pacchetti <code>TCP PROBES</code>. Moltiplicando questo valore per il <code>'''tcp_keepalive_probes'''</code> si ottiene il timeout per il KILL di una connessione;


'''tcp_retries1 (integer)'''
<code>'''tcp_retries1'''</code> (integer):
Numero di tentativi/richieste prima che al network layer del kernel venga segnalato che qualcosa non va
numero di tentativi/richieste prima che al network layer del kernel venga segnalato che qualcosa non va;


'''tcp_retries2 (integer)'''
<code>'''tcp_retries2'''</code> (integer):
Numero di tentativi/richieste prima che una connessione TCP '''attiva''' venga terminata
numero di tentativi/richieste prima che una connessione TCP '''attiva''' venga terminata;


'''tcp_orphan_retries (integer)'''
<code>'''tcp_orphan_retries'''</code> (integer):
Idem come sopra, ma senza considerare attiva la connessione
idem come sopra, ma senza considerare attiva la connessione;


'''tcp_fin_timeout (integer)'''
<code>'''tcp_fin_timeout'''</code> (integer):
Indica per quanto tempo mantenere una connessione in stato FIN WAIT 2
indica per quanto tempo mantenere una connessione in stato <code>FIN WAIT 2</code>;


'''tcp_max_tw_buckets (integer)'''
<code>'''tcp_max_tw_buckets'''</code> (integer):
Numero massimo di sockets simultanee in timewait mantenute dal sistema
numero massimo di sockets simultanee in timewait mantenute dal sistema;


'''tcp_max_orphans (integer)'''
<code>'''tcp_max_orphans'''</code> (integer):
Numero massimo di sockets TCP che possono rimanere non collegate a ''file handlers'' aperti dal sistema
numero massimo di sockets TCP che possono rimanere non collegate a ''file handlers'' aperti dal sistema;


'''tcp_abort_on_overflow (boolean)'''
<code>'''tcp_abort_on_overflow'''</code> (boolean):
Permette il reset di una connessione se un servizio in LISTENING è troppo lento nella risposta
permette il reset di una connessione se un servizio in <code>LISTENING</code> è troppo lento nella risposta;


'''tcp_syncookies (boolean)'''
<code>'''tcp_syncookies'''</code> (boolean):
Opzione valida solo se il kernel è stato compilato con il supporto dei SYNCOOKIES, previene possibili attacchi di tipo ''syn flood''
opzione valida solo se il kernel è stato compilato con il supporto dei <code>SYNCOOKIES</code>, previene possibili attacchi di tipo ''syn flood'';


'''tcp_timestamps (boolean)'''
<code>'''tcp_timestamps'''</code> (boolean):
Abilita/disabilita il timestamp
abilita/disabilita il timestamp;


'''tcp_ecn (boolean)'''
<code>'''tcp_ecn'''</code> (boolean):
Abilita/disabilita la notifica di possibili congestioni della rete
abilita/disabilita la notifica di possibili congestioni della rete;


'''ip_local_port_range (2 integers)'''
<code>'''ip_local_port_range'''</code> (2 integers):
Definisce l' intervallo delle porte locali utilizzate da TCP e UDP. Il primo valore è l' estremo inferiore ed il secondo quello superiore dell' intervallo. Il valore di default dipende dalla memoria ram disponibile.
definisce l'intervallo delle porte locali utilizzate da TCP e UDP. Il primo valore è l'estremo inferiore ed il secondo quello superiore dell'intervallo. Il valore di default dipende dalla memoria ram disponibile;


'''ip_dynaddr (boolean)'''
<code>'''ip_dynaddr'''</code> (boolean):
Se diverso da 0, abilita il supporto per gli indirizzi dinamici
se diverso da <code>0</code>, abilita il supporto per gli indirizzi dinamici;


'''icmp_echo_ignore_all (boolean)'''
<code>'''icmp_echo_ignore_all'''</code> (boolean):
Ignora i ''ping'' (ICMP ECHO REQUEST)
ignora i ''ping'' (<code>ICMP ECHO REQUEST</code>);


'''icmp_echo_ignore_broadcasts (boolean)'''
<code>'''icmp_echo_ignore_broadcasts'''</code> (boolean):
Se settato (deve esserlo anche il precedente) il sistema ignora i ''ping'' verso indirizzi di broadcast e multicast
se settato (deve esserlo anche il precedente) il sistema ignora i ''ping'' verso indirizzi di broadcast e multicast;


'''log_martians (boolean)'''
<code>'''log_martians'''</code> (boolean):
Logga i pacchetti provenienti da indirizzi IP impossibili
logga i pacchetti provenienti da indirizzi IP impossibili;


'''accept_redirects (boolean)'''
<code>'''accept_redirects'''</code> (boolean):
Abilita la ricezione di pacchetti ICMP REDIRECT
abilita la ricezione di pacchetti <code>ICMP REDIRECT</code>;


'''forwarding (boolean)'''
<code>'''forwarding'''</code> (boolean):
Abilita il forwarding per una specifica interfaccia
abilita il forwarding per una specifica interfaccia;


'''proxy_arp (boolean)'''
<code>'''proxy_arp'''</code> (boolean):
Abilita il proxy ARP
abilita il proxy <code>ARP</code>;


'''secure_redirects (boolean)'''
<code>'''secure_redirects'''</code> (boolean):
Accetta ICMP REDIRECT solo dai gateways configurati
accetta <code>ICMP REDIRECT</code> solo dai gateways configurati.


----
----

Versione delle 20:31, 30 gen 2010

Premessa

Di seguito riporto un elenco delle principali variabili del kernel relative a Netfilter impostabili a run-time.

Per ciascuna di esse è indicato:

  • nome della variabile;
  • tipo (booleano, integer, ecc);
  • una breve descrizione.

Queste variabili possono essere impostate in vari modi. Ad esempio potremmo scrivere in un terminale (o inserire in uno script):

 # echo $VAL > /proc/sys/net/VARIABLE

dove $VAL è il valore booleano o intero che si vuole assegnare alla variabile VARIABLE.

Per impostare alcuni variabili al boot possiamo editare /etc/sysctl.conf aggiungendo:

 net/VARIABLE = val

notare che è stato omesso /proc/sys.

Altra documentazione (in inglese) si trova allegata ai sorgenti del kernel all'interno di Documentation/networking/ip-sysctl.txt

Buona lettura!

Variabili a run-time

ip-forward (boolean): permette il forwarding dei pacchetti;

ipfrag_high_thresh (integer): massima memoria utilizzabile per riassemblare i pacchetti frammentati. I pacchetti eccedenti vengono scartati fino a che non si raggiunge nuovamente la soglia settata da ipfrag_low_thresh;

ipfrag_time (integer): tempo massimo per mantenere un frammento IP in memoria;

tcp_syn_retries (integer): numero massimo di tentativi di ritrasmissione per stabilire una connessione (valore max=255);

tcp_synack_retries (integer): idem come sopra, ma per le connessioni passive;

tcp_keepalive_time (integer): indica quanto spesso verrà inviato il messaggio TCP KEEPALIVE;

tcp_keepalive_probes (integer): indica quanti pacchetti TCP PROBES inviare prima di considerare la connessione BROKEN;

tcp_keepalive_interval (integer): indica quanto frequentemente vengono inviati i pacchetti TCP PROBES. Moltiplicando questo valore per il tcp_keepalive_probes si ottiene il timeout per il KILL di una connessione;

tcp_retries1 (integer): numero di tentativi/richieste prima che al network layer del kernel venga segnalato che qualcosa non va;

tcp_retries2 (integer): numero di tentativi/richieste prima che una connessione TCP attiva venga terminata;

tcp_orphan_retries (integer): idem come sopra, ma senza considerare attiva la connessione;

tcp_fin_timeout (integer): indica per quanto tempo mantenere una connessione in stato FIN WAIT 2;

tcp_max_tw_buckets (integer): numero massimo di sockets simultanee in timewait mantenute dal sistema;

tcp_max_orphans (integer): numero massimo di sockets TCP che possono rimanere non collegate a file handlers aperti dal sistema;

tcp_abort_on_overflow (boolean): permette il reset di una connessione se un servizio in LISTENING è troppo lento nella risposta;

tcp_syncookies (boolean): opzione valida solo se il kernel è stato compilato con il supporto dei SYNCOOKIES, previene possibili attacchi di tipo syn flood;

tcp_timestamps (boolean): abilita/disabilita il timestamp;

tcp_ecn (boolean): abilita/disabilita la notifica di possibili congestioni della rete;

ip_local_port_range (2 integers): definisce l'intervallo delle porte locali utilizzate da TCP e UDP. Il primo valore è l'estremo inferiore ed il secondo quello superiore dell'intervallo. Il valore di default dipende dalla memoria ram disponibile;

ip_dynaddr (boolean): se diverso da 0, abilita il supporto per gli indirizzi dinamici;

icmp_echo_ignore_all (boolean): ignora i ping (ICMP ECHO REQUEST);

icmp_echo_ignore_broadcasts (boolean): se settato (deve esserlo anche il precedente) il sistema ignora i ping verso indirizzi di broadcast e multicast;

log_martians (boolean): logga i pacchetti provenienti da indirizzi IP impossibili;

accept_redirects (boolean): abilita la ricezione di pacchetti ICMP REDIRECT;

forwarding (boolean): abilita il forwarding per una specifica interfaccia;

proxy_arp (boolean): abilita il proxy ARP;

secure_redirects (boolean): accetta ICMP REDIRECT solo dai gateways configurati.


Autore: Keltik 13:28, Jun 11, 2005 (EDT)