Contenu
ChangeLog nftlb complet
nftlb 0.6 (31 Mar 2020)
https://github.com/zevenet/nftlb/releases/tag/v0.6
- fermes: désactiver la suppression des sessions statiques après l'arrêt de la ferme
- sessions: supprimer les sessions statiques lors de la modification de la structure de persistance
- fermes: correction du rechargement des objets de limite de ferme
- backends: correction de la priorité basse du backend de démarrage avec un objet avec état
- nft: correction des éléments de filtre de suppression lorsque ce n'est pas nécessaire
- serveur: correction de sigfault lors d'une mauvaise requête
- serveur: retour non trouvé lors d'un get farm qui n'existe pas
- politiques: retourne le compteur utilisé des fermes dans le vidage json
- sessions: correction des marques backend utilisées dans la persistance de session
- sessions: prise en charge de la suppression des sessions chronométrées via API
- tests: ajoutez un pré et un post script pour chaque cas de test
- fermes: correction du rechargement de tcpstrict et nfqueue
- serveur: unifier les messages d'erreur de l'API et ajouter des détails de l'erreur
- serveur: corrige sigsegv après avoir demandé une clé URI inexistante
- fermes: correction de la génération de règles d'assistance
- nft: correction du rechargement de la carte avant en fonction des backends
- src: applique pre et pos exploitable lorsque l'attribut a changé
- nft: utiliser les marques backend dans la chaîne avant
- backends: recharger la ferme en cas de priorité de mise à jour d'un backend down
- backends: supprimer le pointeur de ferme inutilisé dans les backends définir la priorité
- backends: recalculer les backends disponibles lors de la modification de la priorité backend
- src: supprime les messages de débogage inutiles
- politiques: désactiver l'impression des paramètres automatiques et éviter la priorité -1
- backends: correction de l'action du backend lorsqu'elle n'est pas disponible
- tests: améliorer le système de test des API et supprimer le paramètre DESC obsolète
- config: éviter d'afficher la clé inconnue comme nulle
- nft: optimisez les règles de sessions statiques pour éviter d'entrer dans la carte dynamique
- fermes: ne renvoie pas d'erreur lorsque la ferme n'a pas besoin d'être régularisée
- serveur: correction de sigsegv lors du retour d'une erreur de génération de règles
- config: améliore l'analyse des messages d'erreur
- main: simplifier la vérification des tables nftlb précédentes
- main: détecte et nettoie toutes les tables nftlb précédentes
- nft: évite de vider tout le jeu de règles nft lors de la suppression de toutes les fermes
- config: améliorer les messages de réponse de l'API
- nft: correction des règles de persistance dynamique
- fermes: correction du MAC source dnat sans état afin d'assurer un trafic cohérent
- serveur: modifiez le code source pour prendre pleinement en charge ipv6
- sessions: introduction de la prise en charge des sessions statiques et dynamiques pour DSR et DNAT sans état
- backends: utilisez l'adresse source de la ferme lorsqu'elle est disponible
- fermes: désactivez la découverte de réseau lorsque des périphériques réseau de bouclage sont configurés
- tests: renommer les répertoires de tests de l'API dans un format lisible par l'homme
- tests: fixer des tests afin de forcer une adresse éther donnée
- backends: correction de "forcer l'état lors de la configuration de config_error"
- réseau: correction de la découverte d'adresses éther pour ipv4 et ipv6
- fermes: correction du niveau de journalisation pour certains messages de débogage
- backends: forcer l'état lors de la configuration de config_error
- politiques: ajout du support de l'attribut _family_ pour introduire les politiques ipv6
- backends: assurez-vous de valider les backends lors de la génération de la carte
- éléments: élément de départ lors de la création
- fermes: évitez de configurer un état config_err
- fermes: évitez de définir la priorité 0
- politiques: ne pas stocker les éléments
- nft: correction des règles de persistance dynamique
- réseau: introduire la prise en charge de la double pile dans la couche réseau
- nft: correction de la génération de la chaîne de filtres ipv6
- nft: ajouter une option pour sérialiser les commandes nft
- nft: correction des cas de test de déchargement de flux
- nft: refactoriser les règles de préfixe de journal de la ferme
- tests: correction de la sortie du test flowoffload
- fermes: introduire la prise en charge du déchargement des flux
- backends: supprimer le paramètre inutilisé dans le commutateur backend
- nft: évitez de vous connecter deux fois par service virtuel
- sessions: supprimer les messages de débogage
- sessions: ajouter le support de session statique et dynamique
- fermes: ajouter la prise en charge des services locaux
- nft: génération de base de chaîne refactor pour ajouter un support de chaîne avant
- tests: correction des fichiers de test
- nft: simplifie la génération de nom de chaîne et de services
- fermes: activer plusieurs interfaces sortantes pour les dnat sans état
- fermes: le correctif ne règle pas pour les dnat sans état sans backends
- fermes: prise en charge des clients directs DNAT apatrides
- fermes: réparer le mors de mascarade avec mascarade
- fermes: supprimer la double génération d'index d'interface réseau
- backends: utilisez l'interface de sortie backend chaque fois que c'est possible
- backend: support de l'interface de sortie par backend
- readme: supprimer les paramètres d'entrée réseau de bas niveau
- backends: correction de l'appel de l'interface de sortie lors de la définition d'une nouvelle adresse IP
- fermes: correction du segfault lors de la configuration de dnat sans état
- backends: forcer à un élément si le backend est identifié de manière unique
- nft: correction du mappage d'adresse source dans le port unique de la ferme
- éléments: correction des éléments de rinçage dans les politiques
- fermes: correction du mappage d'adresse source avec des services virtuels multiport
- nft: éviter le sprintf sur le même tampon
- fermes: correction de l'arrêt de la ferme lors de la suppression du service
- tests: permet de s'arrêter dans un appel api
- backends: corrige l'état du backend lors de la suppression de toutes les fermes
- backends: activer le natting source mixte par backend
- tests: refactoriser le système de test pour une meilleure maintenance
- politiques: créer des ensembles avec fusion automatique par défaut
- politiques: charger des éléments si la politique n'est pas vide
- politiques: optimisez la régularisation des politiques
- nft: éviter les marques zéro
- backends: correction du backend avec la marque 0x0
- backends: correction des backends de rechargement avec l'adresse source
- fermes: correction d'un objet d'analyse d'erreur au niveau -1 avec des limites
- serveur: ajoutez les informations du journal des demandes du client
- main: récupérer et imprimer les signaux de segfault
- tests: ajoutez un test api pour changer le port par backend
- tests: améliorez les tests de l'API en ne supprimant pas les fichiers de rapports lorsqu'ils sont inconnus
- backends: activer la mascarade et l'adresse source configurable par backend
- fermes: correction de la règle des objets
- politiques: correction de la création de règles et suppression des politiques
- tests: ajouter des tests API pour les politiques
- fermes: correction de la règle tout s'arrête après la règle de la règle
- fermes: ajouter un cas de test api pour supprimer des fermes
- backends: correction de la génération de priorité après la suppression du nœud
- tests: créez plus de tests API
- fermes: rendre les fermes gouvernent la boucle en toute sécurité
- backends: correction de la génération de priorité
- main: implémenter le mode démon
- tests: classez le système de test des API
- nft: correction de la régénération de la table de filtrage après le rinçage des fermes
- tests: nouveau système de test spécifique à l'API
- serveur: correction de la suppression des règles lors de la suppression d'un backend
- backends: correction sans préfixe de journal défini par macro par défaut
- nft: correction de la sortie d'impression des marques dans la carte des backends
- src: ajout du support du préfixe de journal
- tests: correction de la sortie de test nft avec les dernières modifications
- backends: ajout du support de l'adresse source par backend
- readme: mise à jour de la première option de rafale rtlimit
nftlb 0.5 (4 juin 2019)
https://github.com/zevenet/nftlb/releases/tag/v0.5
- fermes: prise en charge des politiques de sécurité pour les modes d'entrée
- backends: support du natting de port backend
- backends: prise en charge des limites de connexion par backend
- nft: réécriture des compteurs avec des ensembles avec état pour les limites
- serveur: prise en charge de Expect 100-Continue dans les requêtes PUT
- serveur: correction de la gestion de la longueur du contenu pour recueillir la requête
- améliorer la comptabilité de disponibilité des backends
nftlb 0.4 (18 Mar 2019)
https://github.com/zevenet/nftlb/releases/tag/v0.4
Nouvelles fonctionnalités
- fermes: ajouter de la persistance entre le client et le backend pendant un timeout
- politiques: prise en charge des politiques de sécurité par service virtuel
- fermes: prise en charge de la mise en file d'attente des paquets dans l'espace utilisateur par service
- fermes: prise en charge de la validation de flux tcp par service
- fermes: prise en charge du nombre maximal de connexions établies par service virtuel par adresse source
- fermes: prise en charge des réinitialisations tcp par seconde autorisées par service virtuel par adresse source
- fermes: prise en charge de nouvelles limites de connexions par seconde par service virtuel et rafale optionnelle
- fermes: ajoutez des paramètres de hachage configurables
- src: support de la suppression de toutes les fermes à la fois
Améliorations
- nft: code de génération de règles de ferme refactor
- serveur: ajouter un support long du corps
- config: analyse des valeurs json durcissement
- nft: corrige les règles des helpers selon le protocole
- readme: mettez à jour le nouveau paramètre tcp-strict pour éviter les fausses attaques tcp
- fermes: activer la découverte de mac pour les dnat sans état
- main: masque le paramètre clé lorsque le processus est en cours d'exécution pour des raisons de sécurité
- nft: services séparés par nom d'interface pour les modes d'entrée
- fermes: forcer le rechargement des données du réseau lors du changement de l'adresse IP virtuelle
- ferme: définir masquerade si l'adresse source est vide
- nft: ajouter une chaîne de filtres de pré-routage pour le marquage et les aides
- tampon: supprimer les messages de débogage
- ferme: définir le paramètre de planification par défaut pour l'algorithme de hachage uniquement
- config: utilisez les clés de chaîne autant que possible
- readme: ajout de l'option de mode nat sans état
- tests: permet le lancement d'un seul test sans service
- buffer: correction de l'indentation du code
- backends: actionnable uniquement si le backend est disponible
- backends: déclarer des fonctions actionnables
- buffer: support du buffer évolutif
- backends: activer le redémarrage des backends après configuration
- nft: appliquer une action de réinitialisation par batterie de serveurs et backends
- nft: généraliser les actions d'ajout ou de suppression d'éléments de post-routage
- fermes: renommez l'attribut source-addr de la ferme au lieu de src-addr
- config: imprimer les marques au format hexadécimal
- tests: support pour lancer des tests via l'API web
- build: déplacez -lev vers LDADD
- build: déplacez les drapeaux du préprocesseur vers CPPFLAGS
Bugfixes
- config: retourne une erreur lorsqu'un objet n'a pas été sélectionné
- backends: évitez d'aller à config_error après avoir défini les adresses IP dnat
- nft: correction des règles dnat sans état lorsque les interfaces d'entrée et de sortie sont différentes
- nft: correction du nom du service pour les nat sans état
- backend: correction de la validation du backend lors de la demande d'adresse mac automatisée
- réseau: protection double libre dans la poignée
- serveur: correction du double segfault gratuit
- backends: correction de la validation du backend lors de l'application du mode DSR
- fermes: interfaces virtuelles strim pour les chaînes d'entrée
- nft: correction des règles d'ajout de filtre d'élément lors du rechargement
- nft: correction des actions de règles dnat sans état
- nft: évitez l'utilisation de chaînes de filtres et de marques d'arrière-plan pour l'entrée
- nft: évitez les règles vides dans la chaîne de filtres lorsqu'il n'y a pas de backends
- backends: appliquer le rechargement en cas de changement d'état d'un backend
- nft: correction de l'insertion de la marque skb à partir de la marque ct dans la chaîne de filtres
- nft: correction du rinçage et suppression du filtre de chaîne
- nft: correction du service et de la chaîne de filtre de suppression
- nft: correction des éléments de suppression de la chaîne de filtres
- nft: évite la génération de règles s'il n'y a pas de backend disponible
- backends: correction de la disponibilité du backend pour les modes d'entrée
- logs: correction du niveau de journalisation défini au démarrage
- objets: éviter le chevauchement des copies de tampon
- tampon: correction d'une faute de frappe dans le message d'erreur
- backends: correction du backend en panne
- Supprimer le fichier config.h de .gitignore
- src: correction des tailles de copie de chaîne
- src: ajoute une structure d'analyse de nettoyage pour éviter les références d'objets nuls
- config: correction du vidage json de la marque de la ferme
- serveur: correction du corps d'entrée d'analyse qui produit une erreur d'analyse de tampon
nftlb 0.3 (15 Nov 2018)
https://github.com/zevenet/nftlb/releases/tag/v0.3
Cette version est intégrée dans kubernetes en tant que kube-nftlb https://github.com/zevenet/kube-nftlb
Nouvelles fonctionnalités
- réseau: généraliser la requête netlink pour demander des données de routage
- fermes: nouveau mode sans état dnat
- fermes: ajouter le support des helpers L7
- fermes: ajouter la prise en charge de la journalisation des entrées
- fermes: prise en charge du renommage de la ferme avec l'attribut 'newname'
- fermes: ajoutez la prise en charge du flux de marques par service virtuel
- nft: ajouter une marque de flux par backend et ferme à l'aide de masques
- src: ajouter une configuration d'adresse IP source personnalisée au lieu de masquerading
Améliorations
- événements: généraliser la boucle d'événements
- fermes: inclure de nouveaux attributs pour la gestion des interfaces et des adresses mac
- réseau: ajout de la prise en charge pour interagir avec certaines fonctions de découverte de réseau
- src: refactorisation et simplification des api
- événements: généraliser l'événement netlink pour DSR
- fermes: rendre le compteur DSR global
- backends: inclure un nouvel état backend config_error
- src: avertissement de chute silencieux
- backends: assurez-vous que la liste des backends est vide lors de la configuration du
l'interface de sortie
- fermes: valider et régulariser par ferme
- config: éviter d'imprimer les informations auto-générées d'une ferme
- fermes: valider et vérifier l'état de la ferme avant de régulariser
- serveur: étendre les données du tampon du serveur
- readme: ajouter de nouveaux exemples
- tests: améliorer le format de sortie diff
- nft: améliore la modularisation de la génération de règles nft
- serveur: définir l'indicateur de socket SO_REUSEADDR
- main: squelette du gestionnaire de signal initial
- serveur: ajoutez la structure nftlb_client
- serveur: ajoutez la structure nftlb_http_state
- serveur: ajoutez nftlb_http_send_response ()
- serveur: ajoutez le champ de réponse du corps à la structure nftlb_http_state
- src: ne pas utiliser EXIT_ {SUCCESS, FAILURE}
- serveur: statifie les objets qui ne sont utilisés qu'à partir du serveur.c
- serveur: supprimer les définitions inutiles
Bugfixes
- config: configuration de vidage avec JSON indenté
- nft: correction des règles DSR pour définir l'adresse mac au lieu de la correspondance
- backend: correction de l'état du backend de mise à jour lors du passage de bas en haut
- nft: évitez d'ajouter des règles si aucun backend n'est disponible
- objets: définir le bon état initial pour les fermes et les backends
- fermes: correction des actions start-stop
- backends: validation d'entrée pour net_get_neigh_ether ()
- nft: correction du backend nat sans état sur la règle client
- nft: correction du nom des services udp ipv6
- serveur: corrige certaines fuites de mémoire du serveur Web
- tests: correction de certains cas de tests
nftlb 0.2 (14 peut 2018)
https://github.com/zevenet/nftlb/releases/tag/v0.2
- 3 topologies prises en charge: NAT de destination, NAT source et direct
Retour du serveur. Ceci permet à l’équilibreur de charge d’être configuré dans
architectures de réseau à un bras et à deux bras.
- prise en charge des familles IPv4 et IPv6.
- capacités multicouches: LB basé sur MAC en couche 2, LB basé sur IP
avec protocole indépendant de la couche 3, et prise en charge de UDP, TCP et
SCTP LB sur la couche 4.
- Prise en charge multiport des plages et des listes de ports.
- prise en charge de la configuration de plusieurs services virtuels.
- ordonnanceurs disponibles: poids, round robin, hash et symétrique
hacher.
- support prioritaire par backend.
- Service API JSON pour la surveillance, l'automatisation et la gestion.
- authentification du service Web avec une clé de sécurité.
- banc d'essai automatisé.
nftlb 0.1 (27 Février 2018)
- Version initiale