Comment utiliser les iptables classer

Comment utiliser les iptables classer
Iptables Classify permet aux administrateurs de gérer le trafic réseau en allouant la quantité souhaitée de ressources de bande passante à un type de trafic spécifique, défini arbitrairement.
En implémentant Iptables Classifier, vous pouvez attribuer un téléchargement / télécharger une bande passante spécifique sur un type spécifique de paquets, sources / destinations, ports, etc.

Par exemple, en mettant en œuvre des iptables classer, vous pouvez prioriser votre bande passante pour les conférences de zoom, les jeux, etc., Tout en limitant la bande passante pour les réseaux sociaux, le torrent, etc.

Cette fonctionnalité iptables n'est pas liée à la sécurité mais à la QoS (qualité de service), qui est la performance de bande passante qui a un impact sur l'expérience de l'utilisateur.

La classification iptables ne peut être appliquée qu'avec la chaîne post-tronc. Si vous ne savez pas ce qu'est le post-troisième, vous voudrez probablement lire ce tutoriel iptables avant de continuer avec cet article.

Pourquoi utiliser les iptables classifier

Par défaut, le trafic Internet est organisé en fonction de la politique générale de FIFO (premier dans, premier sorti). FIFO signifie que le premier paquet qui arrive sera le premier à être répondu, le deuxième paquet arrivant sera le deuxième à être répondu, et le plus ancien paquet arrivant sera le dernier à être répondu à.

Par exemple, si vous recevez des paquets fragmentés appartenant à des conférences vidéo, des jeux, des e-mails et des réseaux sociaux simultanément, votre système répondra selon l'ordre d'arrivée.
Ce comportement est juste et permet à Internet de fonctionner correctement, mais FIFO peut être un problème régulier au niveau interne, et vous pouvez le réguler en utilisant des iptables. Vous pouvez définir, par exemple, que le trafic vidéo ou le trafic de jeu bénéficiera de la priorité sur les courriers ou le trafic P2P.

FIFO est un exemple de base qdisc (discipline de la mise en place). Vous pouvez considérer QDISC en tant qu'implémentateur de politique attaché à un périphérique réseau, définissant l'ordre dans lequel les paquets passeront au périphérique réseau. Nos commandes dans ce tutoriel commenceront par modifier la discipline de la file d'attente (QSIC).

La QoS (qualité de service) peut être gérée à partir du noyau en utilisant le TC (Contrôle du trafic ou mise en file d'attente avancé) Utilité, mais cette fonctionnalité est apatride tandis que les iptables peuvent fournir des fonctionnalités complexes de manière complexe. Dans tous les cas, Iptables Classify doit être implémenté avec TC et QDISC, la fonctionnalité vous permettant de distribuer ou de limiter la bande passante en fonction de vos propres critères.

Comment utiliser les iptables classer

Avant de commencer par les iptables classifier, nous devons créer le les niveaux ou circulation types à classer pour iptables.

Avec la commande ci-dessous, nous modifierons la discipline de la mise en file d'attente pour le dispositif réseau nommé ENP2S0. Ceci est appliqué pour le trafic sortant (racine), mais comme votre trafic prioritaire répond d'abord, ils seront réagi et téléchargé en premier. En retardant certains trafics sortants, il téléchargera plus lentement car il arrivera tard à la destination.

TC QDISC Ajouter Dev ENP2S0 Root Handle 1: HTB par défaut 13

La commande ci-dessus a expliqué:

  • TC QDISC: Nous exécutons TC pour modifier la discipline de la file d'attente (QDISC).
  • Ajouter Dev : Ici, nous attachons le QDISC à un dispositif réseau spécifique; Dans ce cas, ma carte réseau est ENP2S0.
  • Racine: Trafic sortant.
  • manipuler 1: Le format de cette section pourrait être «manipuler 1:13«Où le mineur (1) est la classe, et 13 est la poignée. Cela crée des classes 1 et du niveau 13 pour que nous divisez la bande passante à l'étape suivante.
  • HTB: HTB (seau de jeton hiérarchique) est utilisé pour contrôler la bande passante à venir en simulant différents liens plus lents au lieu de votre lien physique réel et rapide. Avec cette option, nous disons au système que nous diviserons notre lien physique entre plusieurs liens simulés. Ensuite, nous définirons les paramètres de division avec iptables.
  • par défaut 13: Comme dit précédemment, le gérer pourrait être défini comme «manche 1:13», nous ne l'avons pas fait parce que nous l'avons établi à la fin de la commande le niveau 13 par défaut.

Les lignes ci-dessous ajoutent la classe, les niveaux et définissent l'allocation de la bande passante pour chaque.

Comme vous pouvez le voir, ces paquets que nous signalerons à 1:10 avec iptables apprécieront 50 plus de 50 Mbit Bandwidth disponible.
Les paquets classés comme 1:11 auront jusqu'à 30 MBITS, mais s'il n'y a pas de trafic concurrent et que la bande passante est gratuite, ils peuvent augmenter jusqu'à 50 mbits de vitesse.
Les paquets de 1:12 peuvent utiliser jusqu'à 10mbit lorsque le trafic est utilisé, mais s'il n'y a pas d'autre trafic, sa vitesse peut augmenter jusqu'à 20 millions.
Enfin, les paquets classés comme 1:13 auront toujours jusqu'à 5Mbit, indépendamment de la question de savoir si le trafic supplémentaire a besoin de la bande passante.

Classe TC Ajouter Dev ENP2S0 Parent 1: Classid 1: 1 HTB TAUX 50 MBIT CEIL 50MBIT
Classe TC Add Dev ENP2S0 Parent 1: Classid 1:10 HTB Taux 50mbit CEIL 50MBIT PRIO 0
Classe TC Ajouter Dev ENP2S0 Parent 1: Classid 1:11 HTB TAUX 30 MBIT CEIL 50 MBIT PRIO 1
TC Class Add Dev ENP2S0 Parent 1: Classid 1:12 HTB TAUX 10 MBIT CEIL 20MBIT PRIO 2
Classe TC Ajouter Dev ENP2S0 Parent 1: Classid 1:13 HTB TAUX 5MBIT CEIL 5MBIT PRIO 3

Nous avons donc défini certains niveaux, et maintenant nous devons les appliquer en utilisant des iptables. Les lignes ci-dessus doivent être enregistrées en tant que script et exécutées avant d'exécuter vos règles iptables.

Dans le premier exemple, j'utiliserai les iptables pour hiérarchiser les connexions SSH et les transférences de fichiers SCP en classant le port 22 comme 1:10. Cela signifie que les connexions SSH ou SCP apprécieront la vitesse maximale comme défini précédemment (50/50).

sudo iptables -t mangle -a postrouting -o enp2s0 -p tcp - sport 22 -j classify --set-classe 1:10

Disons maintenant que lorsque vous transférez de grands fichiers SCP, vous ne voulez pas que le trafic Web rivalise pour la bande passante de 50 Mo; Vous définissez, lorsqu'il y a un trafic SCP, le trafic HTTP a moins de priorité, avec un maximum de 30 Mo. Il ne peut atteindre 50 Mb uniquement s'il n'y a pas d'autre trafic concurrent. La ligne suivante le fait en classant les paquets HTTP comme 1:11.

iptables -t mangle -a postrouting -o enp2s0 -p tcp - sport 80 -j classify --set-classe 1:11

Et maintenant, pour l'exemple suivant, supposons pour une raison quelconque, vous ne souhaitez accorder que jusqu'à 5 Mo pour le trafic FTP, indépendamment s'il y a un trafic supplémentaire, la règle iptables doit être:

iptables -t mangle -a postrouting -o enp2s0 -p tcp - sport 21 -j classify --set-classe 1:13

Il existe une extension NetFilter pour Layer7, que vous pouvez télécharger et ajouter à votre noyau. L7 permet de classer le trafic de la couche 7, ce qui signifie que vous pouvez classer le trafic par applications.

Vous pouvez télécharger L7 depuis https: // sourceforge.net / projets / l7-filtre / fichiers /.

Par exemple, la commande pour limiter le trafic torrent à l'aide de L7 est la suivante.

iptables -t mangle -a postrouting -m couche7 --l7proto bittorrent -j classify --set-classe 1:13

Comme vous pouvez le voir, la classification iptables est une excellente fonctionnalité qui peut améliorer votre qualité de vie si vous avez des ressources limitées ou une demande de bande passante exclusive.

Conclusion:

Iptables Classifier est une excellente méthode pour augmenter les performances de votre réseau. C'est excellent pour les entreprises et l'utilisation à domicile. Les utilisateurs domestiques peuvent hiérarchiser leurs téléviseurs intelligents ou leurs consoles de jeu sur des ordinateurs ou vice versa. Il semble particulièrement utile pour les réseaux permettant aux clients ou au bureau de prévenir les comportements indésirables. Au niveau technique, la classification de la syntaxe iptables est assez simple.

J'espère que ce tutoriel expliquant comment utiliser la classification des iptables était utile. Continuez à nous suivre pour des tutoriels et des conseils Linux supplémentaires.