Ad esempio, implementando iptables Classifica, puoi dare la priorità alla tua larghezza di banda per conferenze zoom, giochi, ecc., pur limitando la larghezza di banda per i social network, torrent, ecc.
Questa funzionalità iptables non è correlata alla sicurezza ma a QoS (qualità del servizio), che è la performance della larghezza di banda che influisce sull'esperienza dell'utente.
La classifica iptables può essere applicata solo con la catena di postrouting. Se non sai cosa sia Postrouting, probabilmente potresti voler leggere questo tutorial iptables prima di continuare con questo articolo.
Perché usare iptables Classify
Per impostazione predefinita, il traffico di Internet è organizzato secondo la politica generale di FIFO (primo in, primo out). FIFO significa che il primo pacchetto che arriva sarà il primo a essere risposto, il secondo pacchetto in arrivo sarà il secondo da rispondere, e il pacchetto più antico in arrivo sarà l'ultimo a cui risponderà.
Ad esempio, se ricevi pacchetti frammentati appartenenti a videoconferenze, giochi, e -mail e social network contemporaneamente, il tuo sistema risponderà secondo l'ordine di arrivo.
Questo comportamento è giusto e consente a Internet di funzionare correttamente, ma FIFO potrebbe essere un problema regolare a livello interno e puoi regolarlo usando iptables. Puoi definire, ad esempio, che il traffico di videoconferenza o gioco godrà della priorità rispetto alle e -mail o al traffico P2P.
FIFO è un esempio di base QDisc (Disciplina in coda). Puoi pensare a QDISC come un implementatore di politiche collegata a un dispositivo di rete, definendo l'ordine in cui i pacchetti passano al dispositivo di rete. I nostri comandi in questo tutorial inizieranno modificando la disciplina di coda (QSIC).
QoS (qualità del servizio) può essere gestito dal kernel utilizzando il Tc (Controllo del traffico o coda avanzata) Utilità, ma questa funzione è apolida mentre iptables può fornire funzionalità a stato complessi. In ogni caso, iptables Classify deve essere implementato con TC e QDISC, la funzionalità che consente di distribuire o limitare la larghezza di banda in base ai tuoi criteri.
Come usare iptables Classify
Prima di iniziare con iptables Classify, dobbiamo creare il livelli O traffico Tipi da classificare per iptables.
Con il comando di seguito, modificheremo la disciplina di coda per il dispositivo di rete denominato enp2s0. Questo viene applicato per il traffico in uscita (root), ma poiché le risposte trafficate prioritarie prima verranno risposte e scaricate per prime. Ritardando un determinato traffico in uscita, scaricherà più lentamente perché arriverà in ritardo a destinazione.
TC QDisc Aggiungi dev enp2s0 Handle root 1: HTB predefinito 13
Il comando sopra ha spiegato:
Le righe seguenti aggiungono la classe, livelli e definiscono l'allocazione della larghezza di banda per ciascuno.
Come puoi vedere, quei pacchetti segnaleremo come 1:10 con iptables apprezzeranno 50 su 50 mbit larghezza di banda disponibile.
I pacchetti classificati come 1:11 avranno fino a 30 mbit, ma se non c'è traffico in competizione e la larghezza di banda è gratuita, possono intensificarsi fino a 50 mbits.
I pacchetti 1:12 possono utilizzare fino a 10 Mbit quando viene utilizzato il traffico, ma se non c'è altro traffico, la sua velocità può aumentare fino a 20 mbits.
Infine, i pacchetti classificati come 1:13 avranno sempre fino a 5 Mbit, indipendentemente dal fatto che il traffico aggiuntivo abbia bisogno della larghezza di banda.
Classe TC Aggiungi dev enp2s0 genitore 1: classid 1: 1 htb tasso 50 mbit ceil 50mbit
Classe TC Aggiungi dev enp2s0 genitore 1: classid 1:10 tasso htb 50mbit ceil 50mbit prio 0
Classe TC Aggiungi dev enp2s0 genitore 1: classid 1:11 tasso htb 30 mbit ceil 50mbit prio 1
Classe TC Aggiungi dev enp2s0 genitore 1: classid 1:12 tasso htb 10 mbit ceil 20mbit prio 2
Classe TC Aggiungi dev enp2s0 genitore 1: classid 1:13 tasso htb 5 mbit ceil 5mbit prio 3
Quindi abbiamo definito alcuni livelli e ora dobbiamo farli rispettare usando iptables. Le righe sopra dovrebbero essere salvate come script ed eseguite prima di eseguire le regole iptables.
Nel primo esempio, userò iptables per dare la priorità alle connessioni SSH e ai trasferimenti di file SCP classificando la porta 22 come 1:10. Ciò significa che le connessioni SSH o SCP godranno della velocità massima come definita in precedenza (50/50).
sudo iptables -t mangle -a postrouting -o enp2s0 -p tcp -sport 22 -j classifica -set -class 1:10
Ora diciamo che quando trasferisci file SCP di grandi dimensioni, non vuoi che il traffico web competi per la larghezza di banda da 50 MB; Si definisce, quando c'è il traffico SCP, il traffico HTTP ha meno priorità, con un massimo di 30 MB. Può raggiungere 50 MB solo se non c'è altro traffico concorrente. La riga seguente lo fa classificando i pacchetti HTTP come 1:11.
iptables -t mangle -a postrouting -o enp2s0 -p tcp -sport 80 -j classifica -set -class 1:11
E ora, per il seguente esempio, supponiamo per qualche motivo che desideri solo consentire fino a 5 MB per il traffico FTP, indipendentemente in caso di traffico aggiuntivo, la regola iptables deve essere:
iptables -t mangle -a postrouting -o enp2s0 -p tcp -sport 21 -j classifica -set -class 1:13
C'è un'estensione NetFilter per Layer7, che puoi scaricare e aggiungere al tuo kernel. L7 consente di classificare il traffico di livello 7, il che significa che è possibile classificare il traffico per applicazioni.
Puoi scaricare L7 da https: // sourceforge.Net/Projects/L7-Filter/Files/.
Ad esempio, il comando di limitare il traffico torrent usando L7 è il seguente.
iptables -t mangle -a postrouting -m layer7 -l7proto bittorrent -j classifica -set -class 1:13
Come puoi vedere, la classificazione iptables è un'ottima caratteristica che può migliorare la tua qualità di vita se hai risorse limitate o domanda di larghezza di banda esclusiva.
Conclusione:
Iptables Classify è un metodo eccellente per aumentare le prestazioni della rete. È eccellente per le aziende e l'uso domestico. Gli utenti domestici possono dare la priorità alle proprie console Smart TV o di gioco su computer o viceversa. Sembra particolarmente utile per le reti che consentono agli ospiti o in ufficio per prevenire comportamenti indesiderati. A livello tecnico, classificare la sintassi iptables è piuttosto semplice.
Spero che questo tutorial che spiega come usare iptables Classify sia stato utile. Continua a seguirci per ulteriori tutorial e suggerimenti Linux.