Sådan opretter og konfigurerer du en L4xNAT-farm med ZAPI v1

16. oktober 2015 | Teknisk

Hej Zen Masters, denne artikel præsenterer, hvordan man opretter og konfigurerer en L4 (lag 4) farm, et par backends (webservere) og farm guardian via vores Zen Load Balancer API (ZAPI).

L4xNAT-profil
L4xNAT-farmprofilen giver dig mulighed for at oprette en L4-farm med en meget høj ydeevne og langt flere samtidige forbindelser end load balancer-kerner i lag 7, såsom TCP-, UDP- eller HTTP-farmprofiler. Denne forbedring af ydeevnen i lag 4 modvirker den avancerede indholdshåndtering, som lag 7-profilerne kunne håndtere.

Derudover kan L4xNAT-farme binde en række porte, ikke kun én virtuel port, som det bruges med andre lag 7-profiler. For at kunne vælge en række virtuelle porte eller en specifik virtuel port i L4xNAT-farme er det obligatorisk at vælge en protokoltype. I andre tilfælde vil farmen lytte på alle porte fra den virtuelle IP-adresse.

Initialiser ZAPI
Som vi diskuterede i den sidste artikel, skal du aktivere Zapi-brugeren og angive en nøgle og en adgangskode for at begynde at bruge vores ZAPI.
I de følgende eksempler vil disse parametre blive brugt:

Nøgle: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5 Adgangskode: admin Zen Load Balancer IP: 192.168.101.25 Zen Web Port: 444

Når ZAPI er konfigureret ... lad os komme i gang!

Sådan opretter du en L4xNAT-farm med ZAPI
For det første skal du oprette en L4xNAT-profilfarm med den tilsvarende kommando:

curl --tlsv1 -k -X POST -H 'Indholdstype: text/json' -H "ZAPI_NØGLE: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"interface":"eth0","vip":"192.168.101.25","profile":"L4xNAT"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM

HTTP-verbum: POST, bruges til at oprette farms, backends, tjenester…
JSON-parametre: interface, vip og profile (vport er ikke nødvendig i L4xNAT-profilen).
URI-parametre: farmname -> L4FARM, dette er det navn, der er valgt til gården.

Når denne kommando startes, vises følgende svar:

{ "beskrivelse" : "Ny farm L4FARM", "parametre" : [ { "grænseflade" : "eth0", "navn" : "L4FARM", "profil" : "L4xNAT", "vip" : "192.168.101.25", "vport" : 0 } ] }

Dette svar viser de primære farmparametre. Hvad betyder vport: 0? Når en L4xNAT-farm oprettes, lytter den som standard på alle porte fra den virtuelle IP-adresse, og dette vil blive vist som 0 eller *.

Sådan konfigurerer du en L4xNAT-farm med ZAPI

Når L4xNAT-farmen er oprettet, kan du ændre farmens parametre. Det er muligt at ændre alle parametre, nogle få eller blot én.
Lad os først hente farmparametrene med en GET-anmodning:

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

HTTP-verbum: GET, bruges til at hente parametre for gårde, backends, tjenester ...
JSON-parametre: Ingen.
URI-parametre: farmname -> L4FARM.

Når denne kommando startes, vises følgende svar:

{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algoritme" : "vægt", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "dnat", "persistence" : "ingen", "protokol" : "alle", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 0 } ] }

Dette svar viser de avancerede farmparametre. Disse parametre kan ændres ved hjælp af ZAPI. Lad os ændre et par parametre:

curl --tlsv1 -k -X PUT -H 'Indholdstype: text/json' -H "ZAPI_NØGLE: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"protokol":"tcp","nattype":"nat","port":"80"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM

HTTP-verbum: PUT, bruges til at ændre parametre for gårde, backends, tjenester ...
JSON-parametre: protokol, nattype og port.
URI-parametre: farmname -> L4FARM.

Når denne kommando startes, vises følgende svar:

{ "beskrivelse" : "Rediger farm L4FARM", "parametre" : [ { "protokol" : "tcp" }, { "port" : "80" }, { "nattype" : "nat" } ] }

Hvis vi starter en ny GET-anmodning, vil svaret vise alle parametre med nye ændringer:

{ "backends" : [], "description" : "List farm L4FARM", "params" : [ { "algoritme" : "vægt", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "ingen", "protokol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }

Parametrene for nattype, port og protokol er blevet ændret!

Sådan opretter og ændrer du en backend
Hvordan kan vi oprette og konfigurere en backend af L4xNAT farm via ZAPI? Du skal blot følge de samme trin som ovenfor ved hjælp af flere kommandoer med curl:

curl --tlsv1 -k -X POST -H 'Indholdstype: text/json' -H "ZAPI_NØGLE: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.34.160","port":"80","prioritet":"1","vægt":"1"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends

HTTP-verbum: POST, bruges til at oprette farms, backends, tjenester…
JSON-parametre: ip, port, prioritet og vægt (alle parametre er obligatoriske).
URI-parametre: farmname -> L4FARM, dette er det navn, der er valgt til gården.

Når denne kommando startes, vises følgende svar:

{ "beskrivelse" : "Ny backend 0", "parametre" : [ { "id" : 0, "ip" : "46.120.34.160", "port" : 80, "prioritet" : 1, "vægt" : 1 } ] }

Dette svar viser backend-parametrene og dets ID.
Hvordan kan vi modificere en backend af en L4xNAT farm? Brug af PUT HTTP-verbet med curl:

curl --tlsv1 -k -X PUT -H 'Indholdstype: text/json' -H "ZAPI_NØGLE: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5" -u zapi:admin -d '{"ip":"46.120.101.65","port":"25","prioritet":"2","vægt":"3"}' https://192.168.101.25:444/zapi/v1/zapi.cgi/farms/L4FARM/backends/0

HTTP-verbum: PUT, bruges til at ændre parametre for gårde, backends, tjenester ...
JSON-parametre: ip.port, prioritet og vægt.
URI-parametre:
gårdnavn -> L4FARM.
backend-id -> 0.

Når denne kommando startes, vises følgende svar:

{ "beskrivelse" : "Rediger backend 0 i farm L4FARM", "parametre" : [ { "ip" : "46.120.101.65" }, { "vægt" : "3" }, { "prioritet" : "2" }, { "port" : "25" } ] }

Hvis vi starter en ny GET-anmodning, vil svaret vise alle parametrene med de nye ændringer:

{ "backends" : [ { "id" : 0, "ip" : "46.120.101.65", "port" : 25, "prioritet" : 2, "vægt" : 3 } ], "beskrivelse" : "Liste farm L4FARM", "parametre" : [ { "algoritme" : "vægt", "fgenabled" : null, "fglog" : null, "fgscript" : null, "fgtimecheck" : 0, "nattype" : "nat", "persistence" : "ingen", "protokol" : "tcp", "ttl" : 120, "vip" : "192.168.101.25", "vport" : 80 } ] }

Vægt-, prioritets- og portparametrene er ændret!

Sådan konfigurerer du Farm Guardian
For at afslutte, lad os konfigurere farm guardianen for L4xNAT farm. Vi skal bruge følgende anmodning med curl:

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

HTTP-verbum: PUT, bruges til at ændre parametre for gårde, backends, tjenester ...
JSON-parametre: fgenabled, fgscript, fgtimecheck og fglog.
URI-parametre: farmname -> L4FARM.

Når denne kommando startes, vises følgende svar:

{ "beskrivelse" : "Rediger farm L4FARM", "parametre" : [ { "fglog" : "false" }, { "fgenabled" : "true" }, { "fgscript" : "check_tcp -w 10 -c 10 -H HOST -p PORT" }, { "fgtimecheck" : "15" } ] }

Hvad gør disse parametre? Parameteren 'fgenabled' aktiverer farm guardian, parameteren 'fgtimecheck' er tiden mellem kontroller (i sekunder), 'fglog' aktiverer farm guardian-loggene, og 'fgscript' er kommandoen til at kontrollere.

På vegne af Zen Team håber vi virkelig, at du har nydt denne artikel. Vi ses i den næste!

Relaterede blogs

Skrevet af reluser | 13. august 2025
Juli 2025 – Microsoft har udsendt en hastesikkerhedsadvarsel vedrørende aktiv udnyttelse af fire sårbarheder, der påvirker lokale SharePoint-servere: CVE-2025-49706 – Spoofing CVE-2025-49704 – Fjernudførelse af kode CVE-2025-53770 –…
4.22 synes godt omComments Off om nye SharePoint-sårbarheder: Hvordan RELIANOID Hjælper dig med at forblive beskyttet
Indsendt af genbruger | 22. januar 2025
Ubuntu 22.04 LTS-brugere bør handle øjeblikkeligt for at sikre deres systemer, efter at Canonical har udstedt en kritisk sikkerhedspatch for at løse adskillige sårbarheder i Linux-kernen for Xilinx ZynqMP-processorer...
3.42 synes godt omComments Off på Linux-kernesårbarheder for nylig opdaget
Indsendt af genbruger | 03. januar 2025
I nutidens hurtigt udviklende cybersikkerhedslandskab er det afgørende at sikre, at kun pålidelig software får lov til at køre i en it-infrastruktur. En grundlæggende mekanisme til at opnå dette på hardwareniveau...
3.45 synes godt omComments Off om forbedring af infrastruktursikkerheden med implementering af Load Balancers med Secure Boot