1 508
contributi
(→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 | 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 | 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; | ||
'''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>; | ||
'''ipfrag_time (integer) | <code>'''ipfrag_time'''</code> (integer): 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); | ||
'''tcp_synack_retries (integer) | <code>'''tcp_synack_retries'''</code> (integer): | ||
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 <code>TCP KEEPALIVE</code>; | |||
'''tcp_keepalive_probes (integer) | <code>'''tcp_keepalive_probes'''</code> (integer): | ||
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 <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; | |||
'''tcp_retries2 (integer) | <code>'''tcp_retries2'''</code> (integer): | ||
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; | |||
'''tcp_fin_timeout (integer) | <code>'''tcp_fin_timeout'''</code> (integer): | ||
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; | |||
'''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; | |||
'''tcp_abort_on_overflow (boolean) | <code>'''tcp_abort_on_overflow'''</code> (boolean): | ||
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 <code>SYNCOOKIES</code>, previene possibili attacchi di tipo ''syn flood''; | |||
'''tcp_timestamps (boolean) | <code>'''tcp_timestamps'''</code> (boolean): | ||
abilita/disabilita il timestamp; | |||
'''tcp_ecn (boolean) | <code>'''tcp_ecn'''</code> (boolean): | ||
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; | |||
'''ip_dynaddr (boolean) | <code>'''ip_dynaddr'''</code> (boolean): | ||
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'' (<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; | |||
'''log_martians (boolean) | <code>'''log_martians'''</code> (boolean): | ||
logga i pacchetti provenienti da indirizzi IP impossibili; | |||
'''accept_redirects (boolean) | <code>'''accept_redirects'''</code> (boolean): | ||
abilita la ricezione di pacchetti <code>ICMP REDIRECT</code>; | |||
'''forwarding (boolean) | <code>'''forwarding'''</code> (boolean): | ||
abilita il forwarding per una specifica interfaccia; | |||
'''proxy_arp (boolean) | <code>'''proxy_arp'''</code> (boolean): | ||
abilita il proxy <code>ARP</code>; | |||
'''secure_redirects (boolean) | <code>'''secure_redirects'''</code> (boolean): | ||
accetta <code>ICMP REDIRECT</code> solo dai gateways configurati. | |||
---- | ---- |
contributi