Een L4xNAT-farm maken en configureren met ZAPI v1

Posted by Zevenet | 16 oktober, 2015 | Technisch

Hallo Zen Masters, dit artikel presenteert hoe je een L4 (layer 4) farm, een paar backends (webservers) en de farm guardian kunt maken en configureren via onze Zen Load Balancer API (ZAPI).

L4xNAT profiel
Met het L4xNAT-boerderijprofiel kunt u een L4-farm maken met zeer krachtige prestaties en veel meer gelijktijdige verbindingen dan load balancer-kernen in laag 7 zoals TCP-, UDP- of HTTP-boerderijprofielen. Die prestatieverbetering van de laag 4 gaat de geavanceerde inhoudafhandeling tegen die de laag 7-profielen konden beheren.

Bovendien kunnen L4xNAT-farms een reeks poorten binden, niet alleen één virtuele poort zoals wordt gebruikt met andere Layer 7-profielen. Om een ​​reeks virtuele poorten of een specifieke virtuele poort in L4xNAT-farms te kunnen selecteren, is het verplicht om een ​​protocoltype te selecteren. In het andere geval luistert de farm op alle poorten vanaf het virtuele IP-adres.

Initialiseer ZAPI
Zoals we in het vorige artikel hebben besproken, moet u de zapi-gebruiker inschakelen en een sleutel en een wachtwoord instellen om onze ZAPI te gaan gebruiken.
Voor de volgende voorbeelden worden deze parameters gebruikt:

Key: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5
Password: admin
Zen Load Balancer IP: 192.168.101.25
Zen Web Port: 444

Zodra ZAPI is geconfigureerd ... laten we beginnen!

Een L4xNAT-farm maken met ZAPI
In de eerste plaats moet u een L4xNAT-profielfarm maken met de bijbehorende opdracht:

curl --tlsv1 -k -X POST -H 'Content-Type: text/json' -H "ZAPI_KEY: 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-werkwoord: POST, gebruikt voor het maken van boerderijen, backends, services ...
JSON-parameters: interface, vip en profiel (vport is niet nodig in L4xNAT-profiel).
URI-parameters: boerderijnaam -> L4FARM, dit is de naam die is geselecteerd voor de boerderij.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

{
    "description" : "New farm L4FARM",
    "params" : [
        {
            "interface" : "eth0",
            "name" : "L4FARM",
            "profile" : "L4xNAT",
            "vip" : "192.168.101.25",
            "vport" : 0
        }
    ]
}

Dit antwoord geeft de belangrijkste parameters van de boerderij weer. Wat betekent vport: 0? Wanneer een L4xNAT-farm wordt gemaakt, luistert deze standaard op alle poorten van het virtuele IP-adres en dit wordt weergegeven als 0 of *.

Hoe een L4xNAT-farm met ZAPI te configureren

Nadat de L4xNAT-farm is gemaakt, kunt u de farmparameters wijzigen. Het is mogelijk om alle parameters te wijzigen, een paar of slechts één.
Laten we eerst de farmparameters ophalen met een GET-verzoek:

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

HTTP-werkwoord: GET, gebruikt voor het ophalen van parameters van boerderijen, backends, services ...
JSON-parameters: Geen.
URI-parameters: boerderijnaam -> L4FARM.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

{
    "backends" : [],
    "description" : "List 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
        }
    ]
}

Dit antwoord geeft de geavanceerde farm-parameters weer. Deze parameters kunnen worden gewijzigd met behulp van ZAPI. Laten we een paar parameters wijzigen:

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

HTTP-werkwoord: PUT, gebruikt voor het wijzigen van parameters van bedrijven, backends, services ...
JSON-parameters: protocol, nattype en poort.
URI-parameters: boerderijnaam -> L4FARM.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

{
    "description" : "Modify farm L4FARM",
    "params" : [
        {
            "protocol" : "tcp"
        },
        {
            "port" : "80"
        },
        {
            "nattype" : "nat"
        }
    ]
}

Als we een ander GET-verzoek lanceren, toont het antwoord alle parameters met nieuwe wijzigingen:

{
    "backends" : [],
    "description" : "List 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
        }
    ]
}

De parametypes nattype, poort en protocol zijn met succes gewijzigd!

Hoe een backend te maken en te wijzigen
Hoe kunnen we een backend van L4xNAT farm via ZAPI maken en configureren? U hoeft alleen dezelfde stappen hierboven te volgen met behulp van verschillende opdrachten met krul:

curl --tlsv1 -k -X POST -H 'Content-Type: 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-werkwoord: POST, gebruikt voor het maken van boerderijen, backends, services ...
JSON-parameters: IP, poort, prioriteit en gewicht (alle parameters zijn vereist).
URI-parameters: boerderijnaam -> L4FARM, dit is de naam die is geselecteerd voor de boerderij.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

{
    "description" : "New backend 0",
    "params" : [
        {
            "id" : 0,
            "ip" : "46.120.34.160",
            "port" : 80,
            "priority" : 1,
            "weight" : 1
        }
    ]
}

Dit antwoord toont de backend-parameters en de bijbehorende ID.
Hoe kunnen we een backend van L4xNAT farm aanpassen? Het gebruik van het PUT HTTP-werkwoord met krul:

curl --tlsv1 -k -X PUT -H 'Content-Type: 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-werkwoord: PUT, gebruikt voor het wijzigen van parameters van bedrijven, backends, services ...
JSON-parameters: ip. poort, prioriteit en gewicht.
URI-parameters:
boerderijnaam -> L4FARM.
backend-id -> 0.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

{
    "description" : "Modify backend 0 in farm L4FARM",
    "params" : [
        {
            "ip" : "46.120.101.65"
        },
        {
            "weight" : "3"
        },
        {
            "priority" : "2"
        },
        {
            "port" : "25"
        }
    ]
}

Als we een ander GET-verzoek lanceren, geeft het antwoord alle parameters met nieuwe wijzigingen te zien:

{
    "backends" : [
        {
            "id" : 0,
            "ip" : "46.120.101.65",
            "port" : 25,
            "priority" : 2,
            "weight" : 3
        }
    ],
    "description" : "List 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
        }
    ]
}

De parameters voor gewicht, prioriteit en poort zijn succesvol gewijzigd!

Hoe de Farm Guardian te configureren
Laten we om te sluiten de boerderijbewaker van de L4xNAT-boerderij configureren. We moeten het volgende verzoek met curl gebruiken:

curl --tlsv1 -k -X PUT -H 'Content-Type: 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-werkwoord: PUT, gebruikt voor het wijzigen van parameters van bedrijven, backends, services ...
JSON-parameters: fgenabled, fgscript, fgtimecheck en fglog.
URI-parameters: boerderijnaam -> L4FARM.

Nadat deze opdracht is gestart, wordt het volgende antwoord weergegeven:

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

Wat doen deze paramaters? 'fgenabled' parameter schakelt de farm guardian in, 'fgtimecheck' parameter is de tijd tussen controles (in seconden), 'fglog' schakelt de farm guardian logs in en 'fgscript' is het commando om te controleren.

Namens Zen Team hopen we echt dat je van dit artikel hebt genoten. Tot ziens in de volgende!

DELEN OP:

Gerelateerde blogs

Geplaatst door zenweb | 02 augustus 2022
7 Redenen ZEVENET is de beste Load Balancing-software in 2022 Load Balancing-oplossing is niet meer wat het in het verleden was. Naarmate de technologie verbetert, worden ook bedreigingen...
11 LikesReacties uitgeschakeld op 7 Redenen ZEVENET is de beste Load Balancing-software in 2022
Geplaatst door zenweb | 20 juli 2022
Een Network Operations Center (NOC) is een centrale locatie waar IT-teams in een organisatie de prestaties van een netwerk bewaken. Het NOC levert servers, databases, hardeschijfruimte en…
26 LikesReacties uitgeschakeld over Network Operations Center, definitie en top 4 best practices
Geplaatst door zenweb | 11 juli 2022
Inleiding Het proces van het bereiken en onderhouden van PCI DSS Compliance is voor geen enkele organisatie eenvoudig. Of het nu gaat om een ​​grote organisatie, een middelgroot bedrijf of een klein bedrijf, PCI DSS kan...
27 LikesReacties uitgeschakeld op Welke voorbereidingen zijn vereist voor PCI DSS-compliance?