|
Dimensione: 7918
Commento: Piccola correzione ed aggiunta nota
|
Dimensione: 6816
Commento:
|
| Le cancellazioni sono segnalate in questo modo. | Le aggiunte sono segnalate in questo modo. |
| Linea 1: | Linea 1: |
| ## https://wiki.ubuntu-it.org/AmministrazioneSistema/PulireUbuntu ## page was renamed from PulireUbuntu |
## Pagina creata da Carlin0 |
| Linea 4: | Linea 3: |
| #LANGUAGE it <<BR>> <<Include(NuoviStrumentiWiki/PaginaDiProva)>> <<Indice>> <<Informazioni(rilasci="20.04"; forum="http://forum.ubuntu-it.org/viewtopic.php?t=482478")>> |
#language it <<Indice(depth=2 align=right)>> <<Informazioni(forum="https://forum.ubuntu-it.org/viewtopic.php?f=46&t="; rilasci="20.04";)>> |
| Linea 12: | Linea 9: |
| La presente guida vuole essere un'introduzione alle principali operazioni di manutenzione e pulizia del sistema. | '''Nftables''' è un programma per controllare le regole di filtraggio dei pacchetti dal progetto [[https://it.wikipedia.org/wiki/Netfilter|Netfilter]]. Questo software fornisce un'infrastruttura per classificazione dei pacchetti interna al [[https://it.wikipedia.org/wiki/Kernel|kernel]] che è basata su una VM (macchina virtuale) specifica per rete, e lo strumento a riga di comando in spazio utente nft. L'infrastruttura nftables riusa i sottosistemi Netfilter esistenti, come l'infrastruttura esistente per hook, il sistema di tracciamento delle connessioni, [[https://it.wikipedia.org/wiki/Network_address_translation|NAT]], la gestione di code in spazio utente e il sottosistema di registrazione di log. Nftables sostituisce i vecchi popolari [[Sicurezza/Iptables|iptables]], ip6tables, arptables ed ebtables. Il software Netfilter, e nftables in particolare, è utilizzato in applicazioni come condivisione di connessioni Internet, firewall, contabilità per IP, proxy trasparenti, instradamento avanzato e controllo del traffico. |
| Linea 14: | Linea 14: |
| = Disattivare servizi inutilizzati = Quelli che seguono sono i servizi che possono essere disattivati senza alcun rischio, ammesso che non siano correlati a qualche esigenza particolare: ||<tablestyle="width:80%" rowstyle="background-color: #cccccc;" :>'''Servizio''' ||<:> '''Azione''' || ||<#f7f7f7> '''acpid''' || gestione energetica intelligente (vedere [[#nota|nota]]) || ||<#f7f7f7> '''acpid support''' || risparmio energetico sui notebook (vedere [[#nota|nota]]) || ||<#f7f7f7> '''apache2''' || server web apache2 || ||<#f7f7f7> '''apmd''' || indicatore di stato delle batterie per vecchi computer portatili (vedere [[#nota|nota]]) || ||<#f7f7f7> '''bluetooth''' || gestione bluetooth || ||<#f7f7f7> '''cups''' || server di stampa || ||<#f7f7f7> '''powernowd''' || controllo del voltaggio e della velocità della CPU || ||<#f7f7f7> '''saned''' || demone per la gestione dello scanner || ||<#f7f7f7> '''ssh''' || server ssh per accedere da remoto al vostro PC || |
<<BR>> |
| Linea 31: | Linea 17: |
| Altri servizi presenti nell'elenco potrebbero essere necessari al corretto funzionamento del sistema, pertanto è sconsigliato disattivarli.}}} <<Anchor(nota)>> {{{#!wiki important Nei portatili più vecchi dotati di [[https://it.wikipedia.org/wiki/BIOS|Bios Legacy]] non disattivare questi servizi, per evitare un esaurimento precoce della batteria.}}} Per la gestione dei servizi fare riferimento alla [[AmministrazioneSistema/Systemd|relativa guida]]. = Pulizia delle configurazioni inutilizzate = == Configurazioni nel sistema == 0. Per eliminare i file di configurazione di un determinato pacchetto digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ sudo apt purge <nome_pacchetto> |
Tutti i comandi citati in questa pagina vanno digitati nel [[AmministrazioneSistema/Terminale|terminale]] con i [[AmministrazioneSistema/PrivilegiDiAmministrazione/Sudo|privilegi di amministrazione]] . |
| Linea 46: | Linea 20: |
| 0. Per trovare eventuali file di configurazione relativi a programmi disinstallati digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ dpkg -l | egrep "^rc" | cut -d ' ' -f3 }}}Per eliminare i file di configurazione trovati digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ sudo dpkg --purge `dpkg -l | egrep "^rc" | cut -d ' ' -f3` }}} {{{#!wiki note Prima del secondo '''dpkg''' e alla fine del comando sono stati posti degli accenti gravi, differenti dalle virgolette semplici, che si possono facilmente ottenere con la combinazione '''Alt ``Gr + ' '''.}}} == Configurazioni nella Home == 0. Per visualizzare le cartelle di configurazione presenti nella propria '''Home''' digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ ls -a ~/ }}}Controllare anche nelle sottocartelle `.config` e `.local` digitando: {{{ ls -a ~/.config ls -a ~/.local ls -a ~/.local/share }}} 0. Per eliminare le cartelle dei programmi di cui si ha la certezza che siano stati rimossi digitare: {{{ rm -r ~/.<nome_cartella> }}}Nel caso fossero annidiate in una sottocartella digitare a seconda dei casi: {{{ rm -r ~/.config/<nome_cartella> rm -r ~/.local/<nome_cartella> rm -r ~/.local/share/<nome_cartella> }}}Sostituire '''nome_cartella''' al nome della cartella che si vuole eliminare. |
= Selezione = |
| Linea 72: | Linea 23: |
| Per riprodurre il carattere '''~''' (tilde) premere contemporaneamente i tasti '''Alt Gr + ì'''}}} = Pulizia della cache = == Cache di apt == Consultare la [[AmministrazioneSistema/InstallareProgrammi/Apt#Pulizia_della_cache|relativa guida]]. == Cache della Home == Consultare la [[AmministrazioneSistema/BleachBit|guida di BleachBit]] = Pulizia delle librerie orfane = Con l'espressione ''libreria orfana'' si vuole indicare una libreria precedentemente installata perchè necessaria al corretto funzionamento di una o più applicazioni, diventata inutile successivamente alla disinstallazione di tutti i programmi che ne facevano uso. Occorre tuttavia tenere conto che se sono stati [[https://wiki.ubuntu-it.org/AmministrazioneSistema/InstallareProgrammi|installati programmi]] da [[https://wiki.ubuntu-it.org/AmministrazioneSistema/InstallareProgrammi/DaSorgenti|sorgenti]] potremmo privarli di librerie a loro utili. {{{#!wiki important L'uso del programma è consigliato solo ad utenti esperti. |
Dal rilascio 20.10 Ubuntu utilizza come infrastruttura predefinita `nftables` al posto del precedente `iptables`. |
| Linea 92: | Linea 26: |
| 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://deborphan|deborphan]]. | * Per selezionare e/o verificare quale infrastruttura firewall è in uso nel nostro sistema operativo digitare questi 2 comandi: {{{ update-alternatives --config iptables update-alternatives --config ip6tables }}}riceveremo una risposta simile a questa: {{{ Sono disponibili 2 scelte per l'alternativa iptables (che fornisce /usr/sbin/iptables). |
| Linea 94: | Linea 32: |
| 0. Per cercare librerie orfane digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ deborphan}}}Riceveremo una risposta simile a questa: {{{ libcupsimage2 libnftables1 python-is-python2}}} |
Selezione Percorso Priorità Stato ------------------------------------------------------------ 0 /usr/sbin/iptables-nft 20 modalità automatica * 1 /usr/sbin/iptables-legacy 10 modalità manuale 2 /usr/sbin/iptables-nft 20 modalità manuale |
| Linea 100: | Linea 38: |
| 0. Per cercare librerie di sviluppo che avevamo installato per compilare ma non servono più digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ deborphan --guess-dev}}} |
Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione: }}}Scegliere tra `nft` e `iptables-legacy`. |
| Linea 103: | Linea 41: |
| 0. Per eliminare le librerie orfane trovate digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ deborphan | sudo xargs apt -y purge |
= Installazione = 0. [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt:/nftables|nftables]]. 0. [[https://wiki.ubuntu-it.org/AmministrazioneSistema/Systemd#Abilita_.2F_Disabilita|Abilitare]] il servizio `nftables` all'avvio. = Migrazione = Per importare le regole da `iptables` a `nftables` ci sono 2 possibilità: == Regola singola == * Digitare: {{{ iptables-translate <regola di iptables> }}}per esempio: {{{ iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT }}}riceveremo la risposta: {{{ nft add rule ip filter INPUT tcp dport 22 ct state new counter accept }}}altro esempio ma con ipv6: {{{ ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT }}}riceveremo la risposta: {{{ nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport { 111,222} counter accept |
| Linea 107: | Linea 65: |
| 0. Per un elenco completo delle opzioni disponibili consultare il man di [[http://manpages.ubuntu.com/manpages/focal/man1/deborphan.1.html|deborphan]] | == Set di regole == |
| Linea 109: | Linea 67: |
| = Pacchetti di lingua = L'installazione di un pacchetto sul sistema comporta anche l'installazione dei pacchetti di localizzazione e delle relative pagine '''man''' delle altre lingue diverse da quella corrente. È possibile eliminare tali file inutili con il programma [[apt://localepurge | localepurge]]. == Installazione di localepurge == [[AmministrazioneSistema/InstallareProgrammi|Installare]] il pacchetto [[apt://localepurge | localepurge]]. {{{#!wiki important Il programma non si integra con la gestione dei pacchetti di Ubuntu. Un uso poco cauto potrebbe causare dei danni al sistema.}}} == Configurazione == Durante la configurazione dell'applicazione bisogna selezionare le lingue che si vogliono mantenere sul sistema, le altre verranno eliminate. Si consiglia di mantenere sul sistema l'inglese (che è la lingua predefinita) e l'italiano, selezionando le seguenti sigle: * '''C''' (predefinita, non in elenco) * '''en''' * '''en_US''' * '''en_US.UTF-8''' * '''en_US.ISO-8859-15''' * '''it''' * '''it_IT''' * '''it_IT@euro''' * '''it_IT.UTF-8''' Verranno chieste anche altre informazioni, tra di esse la più importante riguarda l'eliminazione delle pagine di manuale. Per eliminare le pagine '''man''' in lingue diverse dalle due selezionate è sufficiente premere '''Yes'''. Tutte le configurazioni verranno salvate nel file `/etc/locale.nopurge`. Per riconfigurare tutte le impostazioni del programma digitare nel [[AmministrazioneSistema/Terminale|terminale]]: {{{ sudo dpkg-reconfigure localepurge |
0. Salvare tutte le regole in uso su `iptables` in un file digitando: {{{ iptables-save > save.txt |
| Linea 142: | Linea 71: |
| == Avvio del programma == Una volta salvata la configurazione è possibile lanciare il programma. Aprire una finestra di [[AmministrazioneSistema/Terminale|terminale]] e digitare il seguente comando: {{{ sudo localepurge |
0. Importare le regole salvate nel file digitando: {{{ iptables-restore-translate -f save.txt }}}Oppure importare le regole e al tempo stesso salvarle in un file ''leggibile'' da `nftables` digitando: {{{ iptables-restore-translate -f save.txt > ruleset.nft |
| Linea 149: | Linea 77: |
| Verrà avviata l'analisi, dunque l'eliminazione dei file inutilizzati, infine verrà comunicata la dimensione dello spazio liberato. | 0. Caricare su `nftables` le regole salvate nel file digitando: {{{ nft -f ruleset.nft }}} |
| Linea 151: | Linea 81: |
| {{{#!wiki note L'efficacia del programma è direttamente proporzionale alla quantità di pacchetti installati: su un sistema abbastanza pulito l'esecuzione del comando comporterà la liberazione di alcune decine di MiB dal disco fisso. Se si possiedono molti programmi installati sul sistema, è probabile che lo spazio liberato raggiunga una dimensione prossima a 100 MiB.}}} |
= Comandi principali = |
| Linea 154: | Linea 83: |
| = Ulteriori risorse = | == Generici == |
| Linea 156: | Linea 85: |
| * [[http://guide.debianizzati.org/index.php/Pulire_Debian|Guida alla pulizia di Debian]] ---- CategoryAmministrazione |
* Per caricare le regole da un file digitare: {{{ nft -f <file> }}} * Per salvare le regole in uso in modo che vengano ricaricate al prossimo avvio digitare: {{{ nft list ruleset > /etc/nftables.conf }}} * Per elencare le regole in uso digitare: {{{ nft list ruleset }}} * Per elencare le regole in uso e vedere anche il numero di riga della regola digitare: {{{ nft -a list ruleset }}} * Per cancellare tutte le regole in uso digitare: {{{ nft flush ruleset }}} == Tabelle == * Per creare una tabella digitare: {{{ nft add table ip filter }}} * Per elencare le tabelle digitare: {{{ nft list tables }}} * Per cancellare una tabella digitare: {{{ nft delete table ip filter }}} {{{#!wiki note In caso di errore nella cancellazione della tabella svuotarla dalle regole contenute }}} * Per svuotare la tabella dalle regole in essa contenute digitare: {{{ nft flush table ip filter }}} == Catene == * Per aggiungere una catena digitare: {{{ nft add chain [<famiglia>] <nome_tabella> <nome_catena> { type <tipo> hook <hook> priority <valore> \; [policy <policy> \;] } }}}Per esempio: {{{ nft add chain ip filter input { type filter hook input priority 0; policy drop; } nft add chain ip filter forward { type filter hook forward priority 0; policy drop; } }}} * Per cancellare una catena digitare: {{{ nft delete chain [famiglia] <nome_tabella> <nome_catena> }}}Per esempio: {{{ nft delete chain ip filter input }}} {{{#!wiki note In caso di errore nella cancellazione della catena svuotarla prima dei contenuti }}} * Per svuotare la catena dai suoi contenuti digitare: {{{ nft flush chain ip filter input }}} == Regole == * Per aggiungere una regola digitare: {{{ nft add rule [<famiglia>] [nome_tabella] [nome_catena] [regola da aggiungere] }}}Per esempio: {{{ nft add rule ip filter input iifname "lo" accept nft add rule ip filter input ct state related,established accept }}} * Per aggiungere una regola in una determinata posizione, si deve usare `handle` come riferimento, digitare: {{{ nft list table filter -a }}}Riceveremo una risposta simile: {{{ table filter { chain output { type filter hook output priority 0; ip protocol tcp counter packets 82 bytes 9680 # handle 8 ip saddr 127.0.0.1 ip daddr 127.0.0.6 drop # handle 7 } } }}}Per posizionare la nuova regola dopo `handle 8` digitare: {{{ nft add rule filter output position 8 ip daddr 127.0.0.8 drop }}} * Per sostituire una regola digitare: {{{ nft replace rule filter output handle 7 ip daddr 127.0.0.8 drop }}} * Per cancellare una regola digitare: {{{ nft delete rule filter output ip saddr 127.0.0.1 ip daddr 127.0.0.6 drop }}}Oppure: {{{ nft delete rule filter output handle 7 }}} |
Problemi in questa pagina? Segnalali in questa discussione
Introduzione
Nftables è un programma per controllare le regole di filtraggio dei pacchetti dal progetto Netfilter. Questo software fornisce un'infrastruttura per classificazione dei pacchetti interna al kernel che è basata su una VM (macchina virtuale) specifica per rete, e lo strumento a riga di comando in spazio utente nft. L'infrastruttura nftables riusa i sottosistemi Netfilter esistenti, come l'infrastruttura esistente per hook, il sistema di tracciamento delle connessioni, NAT, la gestione di code in spazio utente e il sottosistema di registrazione di log. Nftables sostituisce i vecchi popolari iptables, ip6tables, arptables ed ebtables. Il software Netfilter, e nftables in particolare, è utilizzato in applicazioni come condivisione di connessioni Internet, firewall, contabilità per IP, proxy trasparenti, instradamento avanzato e controllo del traffico.
Tutti i comandi citati in questa pagina vanno digitati nel terminale con i privilegi di amministrazione .
Selezione
Dal rilascio 20.10 Ubuntu utilizza come infrastruttura predefinita nftables al posto del precedente iptables.
Per selezionare e/o verificare quale infrastruttura firewall è in uso nel nostro sistema operativo digitare questi 2 comandi:
update-alternatives --config iptables update-alternatives --config ip6tables
riceveremo una risposta simile a questa:
Sono disponibili 2 scelte per l'alternativa iptables (che fornisce /usr/sbin/iptables). Selezione Percorso Priorità Stato ------------------------------------------------------------ 0 /usr/sbin/iptables-nft 20 modalità automatica * 1 /usr/sbin/iptables-legacy 10 modalità manuale 2 /usr/sbin/iptables-nft 20 modalità manuale Premere Invio per mantenere il valore predefinito[*] o digitare il numero della selezione:
Scegliere tra nft e iptables-legacy.
Installazione
Installare il pacchetto nftables.
Abilitare il servizio nftables all'avvio.
Migrazione
Per importare le regole da iptables a nftables ci sono 2 possibilità:
Regola singola
Digitare:
iptables-translate <regola di iptables>
per esempio:
iptables-translate -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -j ACCEPT
riceveremo la risposta:
nft add rule ip filter INPUT tcp dport 22 ct state new counter accept
altro esempio ma con ipv6:
ip6tables-translate -A FORWARD -i eth0 -o eth3 -p udp -m multiport --dports 111,222 -j ACCEPT
riceveremo la risposta:
nft add rule ip6 filter FORWARD iifname eth0 oifname eth3 meta l4proto udp udp dport { 111,222} counter accept
Set di regole
Salvare tutte le regole in uso su iptables in un file digitando:
iptables-save > save.txt
Importare le regole salvate nel file digitando:
iptables-restore-translate -f save.txt
Oppure importare le regole e al tempo stesso salvarle in un file leggibile da nftables digitando:
iptables-restore-translate -f save.txt > ruleset.nft
Caricare su nftables le regole salvate nel file digitando:
nft -f ruleset.nft
Comandi principali
Generici
Per caricare le regole da un file digitare:
nft -f <file>
Per salvare le regole in uso in modo che vengano ricaricate al prossimo avvio digitare:
nft list ruleset > /etc/nftables.conf
Per elencare le regole in uso digitare:
nft list ruleset
Per elencare le regole in uso e vedere anche il numero di riga della regola digitare:
nft -a list ruleset
Per cancellare tutte le regole in uso digitare:
nft flush ruleset
Tabelle
Per creare una tabella digitare:
nft add table ip filter
Per elencare le tabelle digitare:
nft list tables
Per cancellare una tabella digitare:
nft delete table ip filter
In caso di errore nella cancellazione della tabella svuotarla dalle regole contenute
Per svuotare la tabella dalle regole in essa contenute digitare:
nft flush table ip filter
Catene
Per aggiungere una catena digitare:
nft add chain [<famiglia>] <nome_tabella> <nome_catena> { type <tipo> hook <hook> priority <valore> \; [policy <policy> \;] }Per esempio:
nft add chain ip filter input { type filter hook input priority 0; policy drop; } nft add chain ip filter forward { type filter hook forward priority 0; policy drop; }Per cancellare una catena digitare:
nft delete chain [famiglia] <nome_tabella> <nome_catena>
Per esempio:
nft delete chain ip filter input
In caso di errore nella cancellazione della catena svuotarla prima dei contenuti
Per svuotare la catena dai suoi contenuti digitare:
nft flush chain ip filter input
Regole
Per aggiungere una regola digitare:
nft add rule [<famiglia>] [nome_tabella] [nome_catena] [regola da aggiungere]
Per esempio:
nft add rule ip filter input iifname "lo" accept nft add rule ip filter input ct state related,established accept
Per aggiungere una regola in una determinata posizione, si deve usare handle come riferimento, digitare:
nft list table filter -a
Riceveremo una risposta simile:
table filter { chain output { type filter hook output priority 0; ip protocol tcp counter packets 82 bytes 9680 # handle 8 ip saddr 127.0.0.1 ip daddr 127.0.0.6 drop # handle 7 } }Per posizionare la nuova regola dopo handle 8 digitare:
nft add rule filter output position 8 ip daddr 127.0.0.8 drop
Per sostituire una regola digitare:
nft replace rule filter output handle 7 ip daddr 127.0.0.8 drop
Per cancellare una regola digitare:
nft delete rule filter output ip saddr 127.0.0.1 ip daddr 127.0.0.6 drop
Oppure:
nft delete rule filter output handle 7
