كيفية إنشاء وتكوين مزرعة L4xNAT مع ZAPI v1

تم النشر بواسطة Zevenet | 16 October، 2015 | تقني

مرحبًا Zen Masters ، تقدم هذه المقالة كيفية إنشاء مزرعة L4 (طبقة 4) وتكوينها ، وعدد من الوصلات الخلفية (خوادم الويب) وصي المزرعة من خلال Zen Load Balancer API (ZAPI).

الملف الشخصي L4xNAT
يتيح لك ملف تعريف مزرعة L4xNAT إنشاء مزرعة L4 ذات أداء عالٍ للغاية واتصالات متزامنة أكثر بكثير من نوى موازن التحميل في الطبقة 7 مثل ملفات تعريف TCP أو UDP أو HTTP. تلك الطبقة لتحسين أداء 4 تعوق معالجة المحتوى المتقدمة التي يمكن أن تديرها ملفات تخصيص طبقة 7.

بالإضافة إلى ذلك ، يمكن لمزارع L4xNAT ربط مجموعة من المنافذ ، وليس منفذًا افتراضيًا واحدًا فقط كما هو مستخدم مع ملفات تعريف الطبقة 7 الأخرى. لكي تتمكن من تحديد مجموعة من المنافذ الافتراضية أو منفذ افتراضي معين في مزارع L4xNAT ، من الضروري تحديد نوع البروتوكول. في حالة أخرى ، ستستمع المزرعة إلى جميع المنافذ من IP الظاهري.

تهيئة ZAPI
كما ناقشنا في المقالة الأخيرة ، يجب تمكين مستخدم zapi وتعيين مفتاح وكلمة مرور لبدء استخدام ZAPI لدينا.
بالنسبة إلى الأمثلة التالية ، سيتم استخدام هذه المعلمات:

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

بمجرد تكوين ZAPI ... فلنبدأ!

كيفية إنشاء مزرعة L4xNAT مع ZAPI
في المقام الأول ، يجب عليك إنشاء مزرعة ملف تعريف L4xNAT باستخدام الأمر المقابل:

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: POST ، يُستخدم لإنشاء المزارع والواجهات الخلفية والخدمات ...
معلمات JSON: واجهة ، وكبار الشخصيات وملف التعريف (vport ليس ضروريًا في ملف تعريف L4xNAT).
معلمات URI: اسم المزرعة -> L4FARM ، هذا هو الاسم المحدد للمزرعة.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

يظهر هذا الرد المعلمات المزرعة الرئيسية. ماذا vport: 0 يعني؟ عند إنشاء مزرعة L4xNAT ، يتم الاستماع على جميع المنافذ من IP الظاهري بشكل افتراضي وسيظهر ذلك على شكل 0 أو *.

كيفية تكوين مزرعة L4xNAT مع ZAPI

بمجرد إنشاء مزرعة L4xNAT ، ستتمكن من تعديل معلمات المزرعة. من الممكن تغيير جميع المعلمات ، قليلة أو واحدة فقط.
أولاً ، لنحصل على معلمات المزرعة مع طلب GET:

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: GET ، يستخدم للحصول على معلمات من المزارع ، الخلفية ، الخدمات ...
معلمات JSON: لا شيء.
معلمات URI: اسم المزرعة -> L4FARM.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

هذا الرد يدل على المعلمات الزراعية المتقدمة. يمكن تعديل هذه المعلمات باستخدام ZAPI. دعنا نغير بعض المعلمات:

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: PUT ، يُستخدم لتعديل معلمات المزارع والواجهات الخلفية والخدمات ...
معلمات JSON: بروتوكول ، وناتيب والمنفذ.
معلمات URI: اسم المزرعة -> L4FARM.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

إذا أطلقنا طلب GET آخر ، فستظهر الاستجابة جميع المعلمات بالتغييرات الجديدة:

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

لقد تغيرت المعلمات nattype والمنفذ والبروتوكول بنجاح!

كيفية إنشاء وتعديل الخلفية
كيف يمكننا إنشاء وتكوين خلفية لمزرعة L4xNAT من خلال ZAPI؟ عليك فقط اتباع نفس الخطوات أعلاه باستخدام عدة أوامر مع حليقة:

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: POST ، يُستخدم لإنشاء المزارع والواجهات الخلفية والخدمات ...
معلمات JSON: ip ، المنفذ ، الأولوية والوزن (جميع المعلمات مطلوبة).
معلمات URI: اسم المزرعة -> L4FARM ، هذا هو الاسم المحدد للمزرعة.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

يوضح هذا الرد المعلمات الخلفية ومعرفها.
كيف يمكننا تعديل خلفية مزرعة L4xNAT؟ باستخدام الفعل PUT HTTP مع حليقة:

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: PUT ، يُستخدم لتعديل معلمات المزارع والواجهات الخلفية والخدمات ...
معلمات JSON: ip. الميناء ، الأولوية والوزن.
معلمات URI:
اسم المزرعة -> L4FARM.
معرف الخلفية -> 0.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

إذا أطلقنا طلب GET آخر ، فستظهر الاستجابة جميع المعلمات بالتغييرات الجديدة:

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

لقد تغيرت عوامل الوزن والأولوية والمنفذ بنجاح!

كيفية تكوين الجارديان المزرعة
للإغلاق ، لنقم بتكوين وصي المزرعة في مزرعة L4xNAT. يتعين علينا استخدام الطلب التالي مع 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: PUT ، يُستخدم لتعديل معلمات المزارع والواجهات الخلفية والخدمات ...
معلمات JSON: fgenabled ، fgscript ، fgtimecheck و fglog.
معلمات URI: اسم المزرعة -> L4FARM.

بمجرد إطلاق هذا الأمر ، سيتم عرض الرد التالي:

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

ماذا تفعل هذه البارامترات؟ تمكّن المعلمة "fgenabled" وصي المزرعة ، ومعلمة "fgtimecheck" هي الوقت بين عمليات التحقق (بالثواني) ، وتمكين "fglog" سجلات وصي المزرعة و "fgscript" هو الأمر الذي يجب التحقق منه.

نيابة عن Zen Team ، نأمل حقًا أنك استمتعت بهذا المقال. نراكم في القادم!

SHARE ON:
الاوسمة (تاج)
, , ,

مدونات ذات الصلة

أرسلت بواسطة zenweb | 01 سبتمبر 2022
موازنة الحمل أمر شائع في عالم الحوسبة. لقد جاء بسبب رغبة المستخدمين في المحتوى بسرعة. وهذا يعني أن مواقع الويب عالية الحركة والتي تتلقى الملايين من طلبات المستخدمين كان عليها ...
178 يحبالتعليقات مغلقة حول كيفية عمل موازنة الحمل
أرسلت بواسطة zenweb | 30 أغسطس 2022
الرعاية الصحية معرضة بشدة للتهديدات الأمنية ، تمامًا مثل أي صناعة أخرى. في الوقت الحاضر ، أصبحت الهجمات الإلكترونية في مجال الرعاية الصحية شائعة جدًا مما يؤدي إلى الكثير من المخاطر ، وتحديداً المخاطر الأمنية ...
183 يحبالتعليقات مغلقة حول أهمية أطر الأمن السيبراني في الرعاية الصحية
أرسلت بواسطة zenweb | 02 أغسطس 2022
7 أسباب أن ZEVENET هو أفضل برنامج موازنة للأحمال في عام 2022 لم يعد حل موازنة الحمل كما كان عليه في الماضي. مع تحسن التكنولوجيا ، فإن التهديدات أيضًا ...
207 يحبالتعليقات مغلقة في 7 أسباب ، ZEVENET هو أفضل برنامج موازنة للأحمال في عام 2022