So erstellen und konfigurieren Sie eine L4xNAT-Farm mit ZAPI v1

16. Oktober 2015 | Technische

Hallo Zen-Meister, dieser Artikel zeigt, wie Sie über unsere Zen Load Balancer API (ZAPI) eine L4-Farm (Schicht 4), einige Backends (Webserver) und den Farm Guardian erstellen und konfigurieren.

L4xNAT-Profil
Mit dem L4xNAT-Farmprofil können Sie eine L4-Farm mit sehr hoher Leistung und viel mehr gleichzeitigen Verbindungen erstellen als Load Balancer-Kerne in Schicht 7 wie TCP-, UDP- oder HTTP-Farmprofile. Diese Leistungsverbesserung in Schicht 4 wirkt der erweiterten Inhaltsverarbeitung entgegen, die die Profile in Schicht 7 bewältigen könnten.

Darüber hinaus können L4xNAT-Farmen einen Portbereich binden, nicht nur einen virtuellen Port, wie dies bei anderen Layer-7-Profilen der Fall ist. Um einen Bereich virtueller Ports oder einen bestimmten virtuellen Port in L4xNAT-Farmen auswählen zu können, muss ein Protokolltyp ausgewählt werden. Andernfalls überwacht die Farm alle Ports der virtuellen IP.

ZAPI initialisieren
Wie wir im letzten Artikel besprochen haben, müssen Sie den Zapi-Benutzer aktivieren und einen Schlüssel und ein Passwort festlegen, um unser ZAPI verwenden zu können.
Für die folgenden Beispiele werden diese Parameter verwendet:

Schlüssel: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5 Passwort: admin Zen Load Balancer IP: 192.168.101.25 Zen Web Port: 444

Sobald ZAPI konfiguriert ist … können wir loslegen!

So erstellen Sie eine L4xNAT-Farm mit ZAPI
Zunächst müssen Sie mit dem entsprechenden Befehl eine L4xNAT-Profilfarm erstellen:

curl --tlsv1 -k -X POST -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"Schnittstelle": "eth0", "vip": "192.168.101.25", "Profil": "L4xNAT"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM

HTTP-Verb: POST, wird zum Erstellen von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: Schnittstelle, VIP und Profil (Vport ist im L4xNAT-Profil nicht erforderlich).
URI-Parameter: Farmname -> L4FARM, dies ist der für die Farm ausgewählte Name.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "Beschreibung" : "Neue Farm L4FARM", "Parameter" : [ { "Schnittstelle" : "eth0", "Name" : "L4FARM", "Profil" : "L4xNAT", "VIP" : "192.168.101.25", "Vport" : 0 } ] }

Diese Antwort zeigt die wichtigsten Farmparameter. Was bedeutet vport: 0? Wenn eine L4xNAT-Farm erstellt wird, lauscht sie standardmäßig auf allen Ports der virtuellen IP und dies wird als 0 oder * angezeigt.

So konfigurieren Sie eine L4xNAT-Farm mit ZAPI

Sobald die L4xNAT-Farm erstellt wurde, können Sie die Farmparameter ändern. Es ist möglich, alle Parameter, einige oder nur einen zu ändern.
Lassen Sie uns zunächst die Farmparameter mit einer GET-Anfrage abrufen:

curl --tlsv1 -k -X GET -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM

HTTP-Verb: GET, wird zum Abrufen von Parametern von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: Keine.
URI-Parameter: Farmname -> L4FARM.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "backends" : [], "description" : "Liste farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "dnat", "persistence" : "none", "protocol" : "all", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 0 } ] }

Diese Antwort zeigt die erweiterten Farmparameter. Diese Parameter können mit ZAPI geändert werden. Lassen Sie uns einige Parameter ändern:

curl --tlsv1 -k -X PUT -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"Protokoll":"tcp","nattype":"nat" ,"Port":"80"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM

HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: Protokoll, NAT-Typ und Port.
URI-Parameter: Farmname -> L4FARM.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "description" : "Farm L4FARM ändern", "params" : [ { "protocol" : "tcp" }, { "port" : "80" }, { "nattype" : "nat" } ] }

Wenn wir eine weitere GET-Anfrage starten, zeigt die Antwort alle Parameter mit den neuen Änderungen:

{ "backends" : [], "description" : "Liste farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }

Die Parameter Nattype, Port und Protokoll wurden erfolgreich geändert!

So erstellen und ändern Sie ein Backend
Wie können wir ein Backend einer L4xNAT-Farm über ZAPI erstellen und konfigurieren? Sie müssen einfach die gleichen Schritte wie oben ausführen und mehrere Befehle mit curl verwenden:

curl --tlsv1 -k -X POST -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.34.160","port":"80","priority":"1","weight":"1"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends

HTTP-Verb: POST, wird zum Erstellen von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: IP, Port, Priorität und Gewicht (alle Parameter sind erforderlich).
URI-Parameter: Farmname -> L4FARM, dies ist der für die Farm ausgewählte Name.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "Beschreibung" : "Neues Backend 0", "Parameter" : [ { "ID" : 0, "IP" : "46.120.34.160", "Port" : 80, "Priorität" : 1, "Gewicht" : 1 } ] }

Diese Antwort zeigt die Backend-Parameter und ihre ID.
Wie können wir ein Backend einer L4xNAT-Farm ändern? Mit dem PUT-HTTP-Verb mit curl:

curl --tlsv1 -k -X PUT -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.101.65","port":"25","priority":"2","weight":"3"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends/0

HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: IP, Port, Priorität und Gewicht.
URI-Parameter:
Farmname -> L4FARM.
Backend-ID -> 0.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "description" : "Backend 0 in Farm L4FARM ändern", "params" : [ { "ip" : "46.120.101.65" }, { "weight" : "3" }, { "priority" : "2" }, { "port" : "25" } ] }

Wenn wir eine weitere GET-Anfrage starten, zeigt die Antwort alle Parameter mit den neuen Änderungen:

{ "backends" : [ { "id" : 0, "ip" : "46.120.101.65", "port" : 25, "priority" : 2, "weight" : 3 } ], "description" : "Liste farm L4FARM", "params" : [ { "algorithm" : "weight", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "none", "protocol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }

Die Parameter Gewicht, Priorität und Port wurden erfolgreich geändert!

So konfigurieren Sie den Farm Guardian
Zum Abschluss konfigurieren wir den Farm Guardian der L4xNAT-Farm. Wir müssen die folgende Anfrage mit curl verwenden:

curl --tlsv1 -k -X PUT -H 'Inhaltstyp: text/json' -H "ZAPI_KEY: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"fgenabled":"true","fgscript":"check_tcp -w 10 -c 10 -H HOST -p PORT","fgtimecheck":"15","fglog":"false"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/fg

HTTP-Verb: PUT, wird zum Ändern von Parametern von Farmen, Backends, Diensten usw. verwendet.
JSON-Parameter: fgenabled, fgscript, fgtimecheck und fglog.
URI-Parameter: Farmname -> L4FARM.

Sobald dieser Befehl ausgeführt wird, wird die folgende Antwort angezeigt:

{ "description" : "Farm L4FARM ändern", "params" : [ { "fglog" : "false" }, { "fgenabled" : "true" }, { "fgscript" : "check_tcp -w 10 -c 10 -H HOST -p PORT" }, { "fgtimecheck" : "15" } ] }

Was machen diese Parameter? Der Parameter „fgenabled“ aktiviert den Farm Guardian, der Parameter „fgtimecheck“ ist die Zeit zwischen den Prüfungen (in Sekunden), „fglog“ aktiviert die Farm Guardian-Protokolle und „fgscript“ ist der zu prüfende Befehl.

Im Namen des Zen-Teams hoffen wir wirklich, dass Ihnen dieser Artikel gefallen hat. Bis zum nächsten!

Schlüsselwörter
, , ,

Verwandte Blogs

Veröffentlicht von reluser | 13. August 2025
Juli 2025 – Microsoft hat eine dringende Sicherheitswarnung bezüglich der aktiven Ausnutzung von vier Sicherheitslücken herausgegeben, die lokale SharePoint-Server betreffen: CVE-2025-49706 – Spoofing CVE-2025-49704 – Remote Code Execution CVE-2025-53770 –…
2.67K-Gefällt mirKommentare deaktiviert zu neuen SharePoint-Sicherheitslücken: Wie RELIANOID Hilft Ihnen, geschützt zu bleiben
Veröffentlicht von reluser | 22. Januar 2025
Benutzer von Ubuntu 22.04 LTS sollten unverzüglich Maßnahmen ergreifen, um ihre Systeme zu sichern, nachdem Canonical einen kritischen Sicherheitspatch herausgegeben hat, um zahlreiche Schwachstellen im Linux-Kernel für Xilinx ZynqMP-Prozessoren zu beheben.…
2K-Gefällt mirKommentare deaktiviert zu kürzlich entdeckten Linux-Kernel-Schwachstellen
Veröffentlicht von reluser | 03. Januar 2025
Angesichts der sich schnell entwickelnden Cybersicherheitslandschaft ist es von entscheidender Bedeutung, sicherzustellen, dass in einer IT-Infrastruktur nur vertrauenswürdige Software ausgeführt werden darf. Ein grundlegender Mechanismus, um dies auf Hardwareebene zu erreichen …
2.06K-Gefällt mirKommentare deaktiviert zur Verbesserung der Infrastruktursicherheit durch die Implementierung von Load Balancern mit Secure Boot