Inhalte
Füllen Sie nftlb ChangeLog aus
nftlb 0.6 (31 Mar 2020)
https://github.com/zevenet/nftlb/releases/tag/v0.6
- Farmen: Deaktivieren Sie das Löschen statischer Sitzungen nach dem Ausfall der Farm
- Sitzungen: Löschen Sie statische Sitzungen, wenn Sie die Persistenzstruktur ändern
- Farmen: Das Neuladen von Farmlimit-Objekten wurde korrigiert
- Backends: Fix Start Backend niedrige Priorität mit Stateful Object
- nft: Fehler beim Löschen von Filterelementen behoben, wenn diese nicht benötigt werden
- Server: Sigfault während einer fehlerhaften Anfrage behoben
- Server: Rückgabe nicht gefunden während einer Get Farm, die nicht existiert
- Richtlinien: Zurücksetzen der verwendeten Farmen in json dump
- Sitzungen: Behebung von Backend-Markierungen, die bei der Sitzungspersistenz verwendet werden
- Sitzungen: Unterstützung des Löschens von zeitgesteuerten Sitzungen über die API
- Tests: Fügen Sie für jeden Testfall ein Pre- und Post-Skript hinzu
- Farmen: Das Nachladen von tcpstrict und nfqueue wurde korrigiert
- server: API-Fehlermeldungen vereinheitlichen und ausführliche Informationen zum Fehler hinzufügen
- Server: Fix sigsegv nach Anforderung eines nicht vorhandenen URI-Schlüssels
- Farmen: Generierung von Hilfsregeln korrigieren
- nft: Das Neuladen der Vorwärtskarte basierend auf den Backends korrigiert
- src: wende pre und pos umsetzbar an, wenn sich das Attribut geändert hat
- nft: Backend-Markierungen in der Vorwärtskette verwenden
- Backends: Laden Sie die Farm neu, falls die Priorität eines Down-Backends aktualisiert wird
- Backends: Löschen Sie nicht verwendete Farmzeiger in Backends, die Priorität haben
- Backends: Berechnen Sie die verfügbaren Backends neu, wenn Sie die Backend-Priorität ändern
- src: Nicht benötigte Debug-Meldungen entfernen
- Richtlinien: Deaktivieren Sie das Drucken automatischer Parameter und vermeiden Sie die Priorität -1
- Backends: Backend-Aktion korrigieren, wenn sie nicht verfügbar ist
- Tests: Verbessern Sie das API-Testsystem und entfernen Sie veraltete DESC-Parameter
- config: Vermeiden Sie es, unbekannte Schlüssel als Null zu drucken
- nft: Optimieren Sie die Regeln für statische Sitzungen, um die Eingabe in die dynamische Karte zu vermeiden
- Farmen: Geben Sie keinen Fehler zurück, wenn die Farm nicht linealisiert werden muss
- server: sigsegv behoben, wenn ein Fehler bei der Regelgenerierung zurückgegeben wurde
- config: Verbessert die Analysefehlermeldungen
- main: Vereinfachung der vorherigen Überprüfung von nftlb-Tabellen
- main: Ermittelt und bereinigt alle vorherigen nftlb-Tabellen
- nft: Vermeiden Sie es, den gesamten nft-Regelsatz zu löschen, wenn Sie alle Farmen löschen
- config: API-Antwortnachrichten verbessern
- nft: Dynamische Persistenzregeln korrigieren
- Farmen: Beheben Sie den zustandslosen Datenquellen-MAC, um einen konsistenten Datenverkehr sicherzustellen
- Server: Ändern Sie den Quellcode, um IPv6 vollständig zu unterstützen
- Sitzungen: Einführung der Unterstützung für statische und dynamische Sitzungen für DSR und zustandslosen DNAT
- Backends: Verwenden Sie die Farm-Quelladresse, sofern verfügbar
- Farmen: Deaktivieren Sie die Netzwerkerkennung, wenn Loopback-Netzwerkgeräte konfiguriert sind
- tests: Benennen Sie die API-Testverzeichnisse in ein für Menschen lesbares Format um
- Tests: Fixtests, um eine bestimmte Ätheradresse zu erzwingen
- Backends: Fix "Force Up Status bei Konfiguration von config_error" behoben
- Netzwerk: Ätheradressenerkennung für IPv4 und IPv6 korrigieren
- Farmen: Protokollstufe für einige Debug-Meldungen korrigieren
- Backends: Status bei Konfiguration von config_error erzwingen
- Richtlinien: Unterstützung des Attributs _family_ hinzufügen, um IPv6-Richtlinien einzuführen
- Backends: Stellen Sie sicher, dass die Backends während der Kartengenerierung überprüft werden
- elements: Startelement beim Erstellen
- Farmen: Vermeiden Sie die Konfiguration eines config_err-Status
- Betriebe: Vermeiden Sie es, die Priorität 0 festzulegen
- Richtlinien: Speichern Sie keine Elemente
- nft: Dynamische Persistenzregeln korrigieren
- Netzwerk: Einführung der Unterstützung von Dual-Stack in der Netzwerkschicht
- nft: Fix Generierung der IPv6-Filterkette
- nft: Option zum Serialisieren von nft-Befehlen hinzufügen
- nft: Behebung von Flow Offload-Testfällen
- nft: Refaktorisierung der Regeln für das Farmprotokollpräfix
- Tests: Fix Flowoffload Test Ausgabe
- Farmen: Einführung der Unterstützung der Flussabgabe
- Backends: Löscht nicht verwendete Parameter im Backend-Schalter
- nft: Vermeiden Sie es, zweimal pro virtuellem Dienst zu protokollieren
- Sitzungen: Debug-Meldungen löschen
- Sitzungen: Unterstützung für statische und dynamische Sitzungen hinzufügen
- Farmen: Unterstützung für lokale Dienste hinzufügen
- nft: Generierung der Refactor-Kettenbasis, um die Unterstützung der Vorwärtskette zu erhöhen
- Tests: Testdateien korrigieren
- nft: Vereinfachen Sie die Generierung von Ketten- und Servicenamen
- Farmen: Aktivieren Sie mehrere ausgehende Schnittstellen für zustandslose Daten
- Farmen: Fix regelt nicht für staatenlose Dnat ohne Backends
- Farmen: Unterstützung von zustandslosen dnat-Direktkunden
- Farmen: Maskerade-Bit mit Maskerade reparieren
- Farmen: Entfernen Sie die doppelte Generierung des Netzwerkschnittstellenindex
- Backends: Verwenden Sie die Backend-Ausgabeschnittstelle, wann immer dies möglich ist
- Backend: Unterstützung der Ausgabeschnittstelle pro Backend
- Readme: Löschen von Netzwerk-Eingabeparametern auf niedriger Ebene
- Backends: Korrektur des Aufrufs der Ausgabeschnittstelle beim Festlegen einer neuen IP-Adresse
- Farmen: Segfault bei der Konfiguration der zustandslosen Datenquelle behoben
- Backends: Auf ein Element erzwingen, wenn das Backend eindeutig identifiziert wird
- nft: Korrektur der Quelladressenzuordnung im einzelnen Farmport
- Elemente: Korrigieren Sie Spülelemente in Richtlinien
- Farmen: Korrektur der Quelladresszuordnung mit virtuellen Multiport-Diensten
- nft: Vermeiden Sie Sprintf über denselben Puffer
- Farmen: Behebung des Stopps der Farm beim Löschen des Dienstes
- tests: Erlaube, in einem API-Aufruf anzuhalten
- Backends: Korrigieren Sie den Backend-Status, während Sie alle Farmen entfernen
- Backends: Aktiviert das Natting gemischter Quellen pro Backend
- Tests: Überarbeiten Sie das Testsystem für eine bessere Wartung
- Richtlinien: Erstellen Sie standardmäßig Sets mit automatischer Zusammenführung
- Richtlinien: Laden Sie Elemente, wenn die Richtlinie nicht leer ist
- Richtlinien: Optimieren Sie die Linealisierung von Richtlinien
- nft: Nullmarken vermeiden
- Backends: Backend mit Markierung 0x0 fixieren
- Backends: Reload-Backends mit Quelladresse korrigieren
- Farmen: Fehler beim Parsen des Objekts in Stufe -1 mit Grenzwerten behoben
- Server: Client-Anforderungsprotokollinformationen hinzufügen
- main: Segfault-Signale abrufen und drucken
- tests: Fügen Sie einen API-Test hinzu, um den Port pro Backend zu ändern
- tests: Verbessern Sie die API-Tests, indem Sie die Berichtsdateien nicht entfernen, wenn sie unbekannt sind
- Backends: Aktivieren Sie Maskerade und konfigurierbare Quelladresse pro Backend
- Farmen: Objektlinealisierung korrigieren
- Richtlinien: Korrektur der Erstellung und Löschung von Richtlinien
- tests: API-Tests für Richtlinien hinzufügen
- Farmen: Rulerize korrigieren Alles stoppt, nachdem nicht Rulerize
- Farmen: API-Testfall zum Löschen von Farmen hinzufügen
- Backends: Prioritätsgenerierung nach Löschung des Knotens korrigieren
- Tests: Erstellen Sie weitere API-Tests
- Farmen: Machen Sie Farmen sicher, um Schleifen zu regeln
- Backends: Prioritätsgenerierung korrigieren
- main: Daemon-Modus implementieren
- tests: Klassifizieren Sie das API-Testsystem
- nft: Korrektur der Filtertabellenregeneration nach dem Spülen der Farmen
- Tests: Neues API-spezifisches Testsystem
- Server: Korrektur des Löschens von Regeln beim Löschen eines Backends
- Backends: Fix frei von standardmäßigen makrodefinierten Protokollpräfixen
- nft: Korrektur der Druckausgabe in der Backend-Karte
- src: Unterstützung des Protokollpräfixes hinzufügen
- tests: test nft output mit den neuesten änderungen korrigieren
- Backends: Unterstützung der Quelladresse pro Backend hinzufügen
- Readme: Aktualisieren Sie die erste Burst-Option für rtlimit
nftlb 0.5 (4. Juni 2019)
https://github.com/zevenet/nftlb/releases/tag/v0.5
- Farmen: Unterstützung von Sicherheitsrichtlinien für Eingangsmodi
- Backends: Unterstützung der Backend-Port-Natting
- Backends: Unterstützung von Verbindungslimits pro Backend
- nft: Zähler mit Stateful Sets für Grenzwerte neu schreiben
- Server: Unterstützung von Expect 100-Continue in PUT-Anforderungen
- Server: Korrigiert die Verwaltung der Inhaltslänge, um die Anforderung zu erfassen
- Verbesserung der Verfügbarkeitsabrechnung für Backends
nftlb 0.4 (18 Mar 2019)
https://github.com/zevenet/nftlb/releases/tag/v0.4
Neue Eigenschaften
- Farmen: Fügen Sie während eines Timeouts die Persistenz zwischen Client und Backend hinzu
- Richtlinien: Unterstützung von Sicherheitsrichtlinien pro virtuellem Dienst
- Farmen: Unterstützung der Warteschlange von Paketen für den Benutzerbereich pro Dienst
- Farmen: Unterstützung der TCP-Flussvalidierung pro Dienst
- Farmen: Unterstützung von maximal hergestellten Verbindungen pro virtuellem Dienst pro Quelladresse
- Farmen: Unterstützung von TCP-Resets pro Sekunde pro virtuellem Dienst pro Quelladresse zulässig
- Farmen: Unterstützung für neue Verbindungen pro Sekunde pro virtuellem Dienst und optionalem Burst
- Farmen: Fügen Sie konfigurierbare Hashing-Parameter hinzu
- src: Unterstützung für das gleichzeitige Löschen aller Farmen
Verbesserungen
- nft: Code zur Generierung von Refactor-Farmregeln
- Server: Langkörperunterstützung hinzufügen
- config: Analysieren der Härtung von JSON-Werten
- nft: Helferregeln gemäß Protokoll festlegen
- readme: Aktualisiere den neuen Parameter tcp-strict, um falsche TCP-Angriffe zu vermeiden
- Farmen: Aktivieren Sie die Mac-Erkennung für zustandslose Daten
- main: Blendet den Schlüsselparameter aus, wenn der Prozess aus Sicherheitsgründen ausgeführt wird
- nft: Separate Dienste nach Schnittstellennamen für Eingangsmodi
- Farmen: Erzwingen Sie das Neuladen der Netzwerkdaten, wenn Sie die virtuelle IP ändern
- farm: Maskerade setzen, wenn die Quelladresse leer ist
- nft: Vorlauffilterkette für Markierungen und Helfer hinzufügen
- buffer: Debug-Meldungen entfernen
- farm: Standard-Scheduler-Parameter nur für den Hash-Algorithmus festlegen
- config: Verwenden Sie so oft wie möglich Zeichenfolgenschlüssel
- Readme: Option für zustandslosen Nat-Modus hinzufügen
- Tests: Ermöglichen den Start eines einzelnen Tests ohne Service
- buffer: Codeeinzug korrigieren
- Backends: Nur umsetzbar, wenn das Backend verfügbar ist
- Backends: Deklarieren Sie umsetzbare Funktionen
- buffer: Unterstützung des skalierbaren Puffers
- Backends: Aktivieren Sie den Neustart der Backends nach der Konfiguration
- nft: Reset-Aktion pro Farm und Backend anwenden
- nft: Verallgemeinern Sie Aktionen zum Hinzufügen oder Löschen von Postrouting-Elementen
- Bauernhöfe: Benennen Sie das Attribut farm source-addr anstelle von src-addr um
- config: Druckmarken im Hex-Format
- Tests: Unterstützung für das Starten von Tests über die Web-API
- build: verschiebe -lev nach LDADD
- build: Präprozessor-Flags nach CPPFLAGS verschieben
Fehlerbehebung
- config: Rückgabefehler, wenn kein Objekt ausgewählt wurde
- Backends: Gehen Sie nach dem Festlegen der dnat-IP-Adressen nicht zu config_error
- nft: Korrigiert zustandslose Datenregeln, wenn die Eingabe- und Ausgabeschnittstellen unterschiedlich sind
- nft: Dienstname für zustandsloses nat festgelegt
- Backend: Korrektur der Backend-Validierung während der automatisierten Anforderung von Mac-Adressen
- Netzwerk: Schutz doppelt frei im Griff
- Server: Doppelten freien Segfault beheben
- Backends: Korrektur der Backend-Validierung beim Anwenden des DSR-Modus
- Farmen: Strim Virtual Interfaces für Ingress-Ketten
- nft: Fehler beim Hinzufügen von Elementfilterregeln beim Neuladen behoben
- nft: Behebung von Aktionen mit zustandslosen Datenregeln
- nft: Vermeiden Sie die Verwendung von Filterketten- und Backend-Markierungen für das Eindringen
- nft: Vermeiden Sie leere Regeln in der Filterkette, wenn keine Backends vorhanden sind
- Backends: Wenden Sie reload an, wenn Sie den Status eines Backends ändern
- nft: Das Einfügen der Skb-Markierung von der CT-Markierung in die Filterkette korrigieren
- nft: Spülen fixieren und Kettenfilter löschen
- nft: Fehler beim Löschen des Filterdienstes und der Kette
- nft: Löschelemente aus der Filterkette korrigieren
- nft: Vermeiden Sie die Generierung von Regeln, wenn kein Backend verfügbar ist
- Backends: Backend-Verfügbarkeit für Ingress-Modi korrigieren
- Protokolle: Festlegen der eingestellten Protokollstufe beim Start
- Objekte: Pufferkopienüberlappung vermeiden
- buffer: Tippfehler in der Fehlermeldung behoben
- Backends: Das Backend wird korrigiert
- Entfernen Sie die Datei config.h aus .gitignore
- src: Kopiergrößen für Zeichenfolgen korrigieren
- src: Fügen Sie eine Bereinigungs-Parsing-Struktur hinzu, um Nullobjektreferenzen zu vermeiden
- config: Fix Farm Mark JSON Dump
- server: Parse-Eingabekörper behoben, der einen Pufferanalysefehler erzeugt
nftlb 0.3 (15 Nov 2018)
https://github.com/zevenet/nftlb/releases/tag/v0.3
Diese Version ist in kubernetes als kube-nftlb integriert https://github.com/zevenet/kube-nftlb
Neue Eigenschaften
- Netzwerk: Verallgemeinern Sie die Netlink-Anforderung, um nach Routing-Daten zu fragen
- Farmen: neuer Modus zustandslose Dnat
- Farmen: Unterstützung für 7 Helfer hinzufügen
- Farmen: Unterstützung für die Eingabeprotokollierung hinzufügen
- Farmen: Unterstützung der Umbenennung von Farmen mit dem Attribut 'newname'
- Farmen: Unterstützung für den Markierungsfluss pro virtuellem Dienst hinzufügen
- nft: Flow-Markierung pro Backend und Farm mithilfe von Masken hinzufügen
- src: Fügen Sie eine benutzerdefinierte Quell-IP-Adresskonfiguration hinzu, anstatt sich zu maskieren
Verbesserungen
- Ereignisse: Ereignisschleife verallgemeinern
- Farmen: Fügen Sie neue Attribute für die Verwaltung von Schnittstellen und Mac-Adressen hinzu
- Netzwerk: Unterstützung für die Zusammenarbeit mit einigen Netzwerkerkennungsfunktionen hinzufügen
- src: Refactorisierung und API-Vereinfachung
- events: verallgemeinere das netlink event für dsr
- Farmen: Machen Sie DSR Counter global
- Backends: Fügen Sie einen neuen Backend-Status config_error hinzu
- src: stille Durchfallwarnung
- Backends: Stellen Sie sicher, dass die Backend-Liste leer ist, wenn Sie das konfigurieren
Ausgangsschnittstelle
- Farmen: Validieren und Linealisieren pro Farm
- config: Vermeiden Sie es, automatisch generierte Informationen einer Farm zu drucken
- Farmen: Überprüfen und überprüfen Sie den Farmstatus, bevor Sie das Lineal erstellen
- Server: Erweitern Sie die Serverpufferdaten
- Readme: Neue Beispiele hinzufügen
- Tests: Verbesserung des Diff-Ausgabeformats
- nft: Verbesserung der Modularisierung der Generierung von nft-Regeln
- server: Socket-Flag SO_REUSEADDR setzen
- main: Skelett des anfänglichen Signalhandlers
- server: füge struct nftlb_client hinzu
- server: füge struct nftlb_http_state hinzu
- Server: füge nftlb_http_send_response () hinzu
- Server: Fügen Sie der Struktur nftlb_http_state ein Textantwortfeld hinzu
- src: benutze EXIT_ {SUCCESS, FAILURE} nicht
- server: Statifiziert Objekte, die nur von server.c verwendet werden
- Server: Entfernen Sie unnötige Definitionen
Fehlerbehebung
- config: Speicherauszugskonfiguration mit eingerücktem JSON
- nft: Korrigieren Sie die DSR-Regeln, um die Mac-Adresse festzulegen, anstatt sie abzugleichen
- Backend: Der Status des Update-Backends beim Wechsel von unten nach oben wurde korrigiert
- nft: Vermeiden Sie das Hinzufügen von Regeln, wenn keine Backends verfügbar sind
- Objekte: Richtigen Ausgangszustand für Farmen und Backends festlegen
- Farmen: Start-Stopp-Aktionen korrigieren
- Backends: Eingabevalidierung für net_get_neigh_ether ()
- nft: Statusloses nat-Backend an Client-Regel korrigieren
- nft: Name des udp ipv6-Dienstes korrigieren
- Server: Einige Speicherlecks im Webserver wurden behoben
- Tests: Beheben Sie einige Testfälle
nftlb 0.2 (14 darf 2018)
https://github.com/zevenet/nftlb/releases/tag/v0.2
- 3 Topologien unterstützt: Ziel-NAT, Quell-NAT und Direkt
Server-Rückgabe Dadurch kann der Load Balancer in eingerichtet werden
einarmige und zweiarmige Netzwerkarchitekturen.
- Unterstützung für IPv4- und IPv6-Familien.
- Multilayer-Funktionen: MAC-basierte LB in Schicht 2, IP-basierte LB
mit protokollunabhängigem Verhalten auf Schicht 3 und Unterstützung von UDP, TCP und
SCTP LB in der Schicht 4.
- Multiport-Unterstützung für Bereiche und Listen von Ports.
- Unterstützung der Einrichtung mehrerer virtueller Dienste.
- Scheduler verfügbar: Gewicht, Round Robin, Hash und symmetrisch
hash
- Prioritätsunterstützung pro Backend.
- JSON-API-Service zur Überwachung, Automatisierung und Verwaltung.
- Webdienstauthentifizierung mit einem Sicherheitsschlüssel.
- automatisierter Prüfstand.
nftlb 0.1 (27 Feb 2018)
- Erste Version