Sådan oprettes og konfigureres en L4xNAT gård med ZAPI v1

Skrevet af Zevenet | 16 oktober, 2015 | Teknisk

Hej Zen Masters, denne artikel præsenterer, hvordan man opretter og konfigurerer en L4 (layer 4) gård, et par backends (webservere) og gården vogter gennem vores ZAPI (Zen Load Balancer API).

L4xNAT profil
L4xNAT gårdsprofilen giver dig mulighed for at oprette en L4 gård med en meget høj ydeevne og langt mere samtidige forbindelser end load balancer kerner i lag 7 som TCP, UDP eller HTTP gårdsprofiler. Det forbedrede lag 4-forbedring modvirker den avancerede indholdshåndtering, som lag 7-profiler kunne klare.

Derudover kunne L4xNAT-gårde binde en række porte, ikke kun en virtuel port, som det bruges med andre lag 7-profiler. For at være i stand til at vælge en række virtuelle porte eller en bestemt virtuel port i L4xNAT-gårde, er det obligatorisk at vælge en protokoltype. I andre tilfælde lytter gården på alle porte fra den virtuelle IP.

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

Key: CiEuYlS4GtfSq3yrknv0YMnA7j5fhm4piVZh49yt5JcjQ0aDyxImz2Y7DAUhstce5
Password: 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 gård med ZAPI
For det første skal du oprette en L4xNAT profil gård med den tilsvarende kommando:

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-verb: POST, der bruges til at oprette gårde, backends, services ...
JSON parametre: interface, vip og profil (vport er ikke nødvendigt i L4xNAT profil).
URI-parametre: gårdnavn -> L4FARM, dette er navnet, der er valgt til gården.

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

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

Dette svar viser de vigtigste gårdsparametre. Hvad betyder vport: 0 betyder? Når en L4xNAT gård oprettes, lytter den på alle porte fra den virtuelle IP som standard, og dette vil blive vist som 0 eller *.

Sådan konfigureres en L4xNAT farm med ZAPI

Når L4xNAT-gården er oprettet, vil du være i stand til at ændre gårdens parametre. Det er muligt at ændre alle parametre, et par eller bare en.
Lad os først få farmparametrene med en GET-anmodning:

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-verb: GET, der bruges til at få parametre af bedrifter, backends, services ...
JSON parametre: Ingen.
URI-parametre: gårdsnavn -> L4FARM.

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

{
    "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
        }
    ]
}

Dette svar viser de avancerede gårdsparametre. Disse parametre kunne ændres ved hjælp af ZAPI. Lad os ændre et par parametre:

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 verb: PUT, bruges til at ændre parametre af gårde, backends, services ...
JSON parametre: protokol, nattype og port.
URI-parametre: gårdsnavn -> L4FARM.

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

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

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

{
    "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
        }
    ]
}

Natten-typen, porten og protokollen parametrerne er ændret med succes!

Sådan oprettes og ændres en backend
Hvordan kan vi oprette og konfigurere en backend af L4xNAT gård gennem ZAPI? Du skal bare følge de samme trin ovenfor ved at bruge flere kommandoer med curl:

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-verb: POST, der bruges til at oprette gårde, backends, services ...
JSON parametre: ip, port, prioritet og vægt (alle parametre er påkrævet).
URI-parametre: gårdnavn -> L4FARM, dette er navnet, der er valgt til gården.

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

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

Dette svar viser backend parametrene og dens ID.
Hvordan kan vi ændre en backend af L4xNAT farm? Brug af PUT HTTP-verben med curl:

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 verb: PUT, bruges til at ændre parametre af gårde, backends, services ...
JSON parametre: ip. port, prioritet og vægt.
URI parametre:
gårdsnavn -> L4FARM.
backend id -> 0.

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

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

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

{
    "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
        }
    ]
}

Vægt, prioritet og portparametre er ændret med succes!

Sådan konfigureres Farm Guardian
For at lukke, lad os konfigurere gårdens værge for L4xNAT gård. Vi skal bruge følgende anmodning med curl:

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 verb: PUT, bruges til at ændre parametre af gårde, backends, services ...
JSON parametre: fgenabled, fgscript, fgtimecheck og fglog.
URI-parametre: gårdsnavn -> L4FARM.

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

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

Hvad gør disse paramatre? 'fgenabled' parameter aktiverer gårdens værge, 'fgtimecheck' parameter er tiden mellem kontrol (i sekunder), 'fglog' aktiverer gårdens værge logfiler og 'fgscript' er kommandoen, der skal kontrolleres.

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

Del på:

Relaterede blogs

Indsendt af zenweb | 16 April 2021
ZEVENET er et smart firma, der er fokuseret på markedet for applikationsleveringscontroller og virkelig besat af sikkerheden i leveringen. Derfor ved vi virkelig, at i dag ...
184 LikesComments Off på ZEVENET Multi-Layered Security Overview in the Edge
Indsendt af zenweb | 23 marts 2021
Internettet er fuld af mennesker, der venter på at bryde ind i dit system. De ønsker at få fat i dine personlige oplysninger og udnytte dem. Dette kan ...
180 LikesComments Off om betydningen af ​​cybersikkerhed for virksomheder
Indsendt af zenweb | 18 marts 2021
Selvom det kun er få måneder siden det allerede berømte angreb på SolarWinds-forsyningskæden, skal vi igen skrive om et andet hackingproblem, denne gang ...
145 LikesComments Off om afbødning af Exchange-servere Hafnium Nul-dags sårbarheder