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

Geschrieben von Zevenet | 16 Oktober, 2015 | Technisches

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

L4xNAT-Profil
Mit dem L4xNAT-Farmprofil können Sie eine L4-Farm mit sehr hoher Leistung und viel mehr gleichzeitigen Verbindungen als Lastverteilungskerne in Layer 7 erstellen, z. B. TCP-, UDP- oder HTTP-Farmprofilen. Diese 4-Leistungsverbesserung auf Layer wirkt der erweiterten Verarbeitung von Inhalten entgegen, die die 7-Layer-Profile verwalten könnten.

Darüber hinaus können L4xNAT-Farmen eine Reihe von Ports binden, nicht nur einen virtuellen Port, wie er bei anderen Layer 7-Profilen verwendet wird. Um einen Bereich von virtuellen Ports oder einen bestimmten virtuellen Port in L4xNAT-Farmen auswählen zu können, muss ein Protokolltyp ausgewählt werden. In einem anderen Fall überwacht die Farm alle Ports von der virtuellen IP.

ZAPI initialisieren
Wie im letzten Artikel beschrieben, müssen Sie den zapi-Benutzer aktivieren und einen Schlüssel und ein Kennwort festlegen, um mit der Verwendung unserer ZAPI zu beginnen.
Für die folgenden Beispiele werden diese Parameter verwendet:

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

Sobald ZAPI konfiguriert ist, können Sie loslegen!

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

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, zum Erstellen von Farmen, Backends, Diensten usw.
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.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

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

Diese Antwort zeigt die wichtigsten Farmparameter. Was bedeutet vport: 0? Wenn eine L4xNAT-Farm erstellt wird, überwacht sie standardmäßig alle Ports von der virtuellen IP. 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 zu ändern, einige oder nur einen.
Lassen Sie uns zuerst die Farmparameter mit einer GET-Anforderung abrufen:

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, um Parameter von Farmen, Backends, Services abzurufen
JSON-Parameter: Keine.
URI-Parameter: Farmname -> L4FARM.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

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

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 '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, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: Protokoll, Nattyp und Port.
URI-Parameter: Farmname -> L4FARM.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

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

Wenn wir eine weitere GET-Anfrage starten, werden in der Antwort alle Parameter mit neuen Änderungen angezeigt:

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

Die Parameter für Nattype, Port und Protokoll wurden erfolgreich geändert.

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

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, zum Erstellen von Farmen, Backends, Diensten usw.
JSON-Parameter: IP, Port, Priorität und Gewichtung (alle Parameter sind erforderlich).
URI-Parameter: Farmname -> L4FARM, dies ist der für die Farm ausgewählte Name.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

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

Diese Antwort zeigt die Backend-Parameter und ihre ID.
Wie können wir ein Backend der L4xNAT-Farm ändern? Verwenden des PUT-HTTP-Verbs mit 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, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: ip. Port, Priorität und Gewicht.
URI-Parameter:
Farmname -> L4FARM.
Backend-ID -> 0.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

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

Wenn wir eine andere GET-Anfrage starten, werden in der Antwort alle Parameter mit neuen Änderungen angezeigt:

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

Gewicht, Priorität und Port-Parameter haben sich erfolgreich geändert!

So konfigurieren Sie den Farm Guardian
Zum Schließen konfigurieren wir den Farmwächter der L4xNAT-Farm. Wir müssen die folgende Anfrage mit Curl verwenden:

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, wird zum Ändern von Parametern von Farmen, Backends, Services usw. verwendet.
JSON-Parameter: fgenabled, fgscript, fgtimecheck und fglog.
URI-Parameter: Farmname -> L4FARM.

Nach dem Start dieses Befehls wird die folgende Antwort angezeigt:

{
    "description" : "Modify farm L4FARM",
    "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 Überprüfungen (in Sekunden), der Parameter 'fglog' aktiviert die Protokolle des Farm Guardians und der Befehl 'fgscript' ist der zu überprüfende Befehl.

Im Namen des Zen-Teams hoffen wir wirklich, dass Ihnen dieser Artikel gefallen hat. Wir sehen uns im nächsten!

Weiterleiten an:

Verwandte Blogs

Gepostet von zenweb | 16 April 2021
ZEVENET ist ein intelligentes Unternehmen, das sich auf den Application Delivery Controller-Markt konzentriert und von der Sicherheit bei der Bereitstellung besessen ist. Aus diesem Grund wissen wir wirklich, dass heute die…
165 LikesKommentare deaktiviert zu ZEVENET Multi-Layered Security Übersicht im Edge
Gepostet von zenweb | 23 März 2021
Die Welt des Internets ist voll von Menschen, die darauf warten, in Ihr System einzudringen. Sie möchten Ihre persönlichen Daten erfassen und nutzen. Das könnte…
163 LikesKommentare deaktiviert zur Bedeutung der Cybersicherheit für Unternehmen
Gepostet von zenweb | 18 März 2021
Obwohl seit dem bereits bekannten Angriff auf die SolarWinds-Lieferkette erst wenige Monate vergangen sind, müssen wir dieses Mal wieder über ein anderes Hacking-Problem schreiben…
128 LikesKommentare deaktiviert Informationen zur Minderung von Exchange-Servern Hafnium Zero-Day-Schwachstellen