Le marquage de paquets et la répartition de charge avec la queue netfilter

Magazine
Marque
GNU/Linux Magazine
Numéro
127
Mois de parution
mai 2010


Résumé

Avec la queue netfilter, nous sommes plus souvent limités par notre imagination que par la technique. Il faut dire que l'idée de « faire des règles iptables » était peu attrayante et nous bridait un peu. Dans les numéros précédents, nous avons vu comment, à l'aide de bindings, nous pouvions accéder à cette queue et émettre un verdict. Ici, nous allons utiliser une autre fonctionnalité : le marquage de paquet.


1. Introduction

La libnetfilter_queue a considérablement changé le principe de décision qui, délégué en userspace, nous permet d'envisager des scénarios qu'il était difficile de mettre en œuvre auparavant. Nous allons utiliser la libnetfilter_queue pour construire un répartiteur de charge et de haute disponibilité relativement sommaire, mais qui nous permettra par l'exemple d'appréhender le marquage de paquet.

Pour connaître la charge des serveurs, nous utiliserons SNMP, mais bien des scénarios sont envisageables, du ping au programme dédié sur les serveurs, d'où l'intérêt d'utiliser un langage de haut niveau et pour changer un peu, nous utiliserons Vala [1], parce que, entre autres : Vala, c'est sympa !

2. Le marquage

Par défaut, un paquet n'est pas marqué ou plutôt sa mark (un uint32) est à 0. Le marquage de paquet se fait à l'aide de la cible MARK et son utilisation est limitée à la table mangle :

La suite est réservée aux abonnés. Il vous reste 95% à découvrir.
  • Accédez à tous les contenus de Connect en illimité
  • Découvrez des listes de lecture et des contenus Premium
  • Consultez les nouveaux articles en avant-première
Envie de lire la suite ? Rejoignez Connect
Je m'abonne maintenant


Article rédigé par

Par le(s) même(s) auteur(s)

Git init /etc

Magazine
Marque
GNU/Linux Magazine
Numéro
193
Mois de parution
mai 2016
Spécialité(s)
Résumé
Quels fichiers de configuration ont été modifiés, quels paquets ont été installés ? Nous allons voir comment, avec l'outil etckeeper, nous pouvons obtenir les réponses à ces questions.

Kanet, portail captif

Magazine
Marque
GNU/Linux Magazine
Numéro
138
Mois de parution
mai 2011
Résumé
Kanet est une solution de portail captif authentifiant qui s'appuie sur les bibliothèques netfilter et iptables. Il permet d'utiliser plusieurs authentifications simultanément comme radius, CAS ou Shibboleth.

Les listes de lecture

9 article(s) - ajoutée le 01/07/2020
Vous désirez apprendre le langage Python, mais ne savez pas trop par où commencer ? Cette liste de lecture vous permettra de faire vos premiers pas en découvrant l'écosystème de Python et en écrivant de petits scripts.
11 article(s) - ajoutée le 01/07/2020
La base de tout programme effectuant une tâche un tant soit peu complexe est un algorithme, une méthode permettant de manipuler des données pour obtenir un résultat attendu. Dans cette liste, vous pourrez découvrir quelques spécimens d'algorithmes.
10 article(s) - ajoutée le 01/07/2020
À quoi bon se targuer de posséder des pétaoctets de données si l'on est incapable d'analyser ces dernières ? Cette liste vous aidera à "faire parler" vos données.
Plus de listes de lecture