F5

معرفی و کانفیگ اولیه F5 BIG-IP

WAF - معرفی و کانفیگ اولیه F5 BIG-IP

F5 BIG-IP یکی از تجهیزات مهم شرکت F5 Networks است که از مجموعه‌ی متشکل از چندین مؤلفه به نام “TMOS” (Traffic Management Operating System) برخوردار است. TMOS از توانایی‌ها و اجزاء مختلفی تشکیل شده است که در مدیریت ترافیک شبکه و بهینه‌سازی عملکرد برنامه‌ها و سرویس‌ها نقش دارند. در زیر، اجزای اصلی TMOS در BIG-IP را معرفی می‌کنیم:

F5 Networks TMOS
F5 Networks TMOS
  1. Local Traffic Manager (LTM):
    • توضیحات: LTM بخش اصلی BIG-IP است و در مدیریت ترافیک محلی نقش دارد. این قسمت از TMOS مسئول توزیع ترافیک و باربندی بین سرورها است، همچنین قابلیت‌هایی نظیر حفاظت از شبکه و بهینه‌سازی TCP/IP را نیز دارا می‌باشد.
  2. Global Traffic Manager (GTM):
    • توضیحات: GTM جهت مدیریت ترافیک در مقیاس گسترده‌تر و افزایش قابلیت اطمینان سیستم در مواقع فشار زیاد استفاده می‌شود. این بخش از TMOS به توزیع ترافیک بین مراکز داده مختلف، حفظ تعادل بار، و مدیریت بهینه‌تر DNS (Domain Name System) می‌پردازد.
  3. Application Security Manager (ASM):
    • توضیحات: ASM جلوی حملات امنیتی را به برنامه‌ها و وب سرویس‌ها گرفته و از جمله ویژگی‌های آن می‌توان به مدیریت و کنترل دسترسی‌ها، جلوگیری از حملات نفوذ، و پیشگیری از حملات OWASP (Open Web Application Security Project) اشاره کرد.
  4. Access Policy Manager (APM):
    • توضیحات: APM به مدیریت دسترسی‌ها و اجازه‌دهی به کاربران به منابع شبکه و برنامه‌ها می‌پردازد. این بخش از TMOS قابلیت‌های VPN (Virtual Private Network)، احراز هویت توکن‌محور، و کنترل دقیق دسترسی را فراهم می‌کند.
  5. Advanced Firewall Manager (AFM):
    • توضیحات: AFM جهت ایجاد دیواره‌های آتش بسیار پیشرفته بر اساس قوانین و سیاست‌های امنیتی استفاده می‌شود. این قسمت از TMOS حفاظت از سیستم در برابر حملات DDoS (Distributed Denial of Service) و سایر حملات امنیتی را فراهم می‌کند.

همچنین، این اجزاء می‌توانند به صورت یکپارچه ترکیب شده و با یکدیگر همکاری کرده تا یک سیستم یکپارچه و قدرتمند در مدیریت ترافیک و امنیت شبکه ایجاد کنند.

مروری بر توازن بار و راه‌اندازی

F5 Networks، با محصول بزرگ خود به نام F5 BIG-IP، امکانات متعددی برای مدیریت ترافیک شبکه فراهم کرده است. در این مقاله، به مرور توازن بار و راه‌اندازی خواهیم پرداخت و به تبیین اجزای اصلی TMOS (Traffic Management Operating System) در BIG-IP خواهیم پرداخت.

توازن بار: اگرچه F5 می‌خواهد ما را ترغیب کند که BIG-IP را به عنوان یک محصول فراتر از یک توازن‌گر بار تصور کنیم، حقیقت این است که توازن بار عملکرد اصلی BIG-IP است که آن را به این اندازه معروف کرده است. حالا به سرعت به مرور توازن بار می‌پردازیم و برای این کار از DNS به عنوان یک مکانیزم توازن بار استفاده می‌کنیم.

Load Balancing
Load Balancing

مکانیزم توازن بار با استفاده از DNS: فرض کنید یک سرور DNS وجود دارد که در رکوردهای DNS ورودی برای webserver.Globomantics.com دارد و آدرس‌های IP آن از 10.100.1.11 تا 10.100.1.14 می‌باشد. این سرور DNS با انتخاب یکی از آدرس‌ها به ترتیب به عنوان پاسخ به درخواست‌های DNS پاسخ می‌دهد. این مکانیزم مبتنی بر basic round robin است، اما اگر یک یا چند سرور پشتیبان آفلاین شوند، سرور DNS از این موضوع خبر ندارد و همچنان ترافیک را به آن‌ها ارسال می‌کند.

نقش Load Balancer اختصاصی: در اینجا وارد نقش یک Load Balancer اختصاصی می‌شویم. یک Load Balancer اختصاصی قادر است سلامت هر یک از سرورهای پشتیبان را تعیین کرده و عملکرد سرورها را درک کند. علاوه بر این، قابلیت‌های پیچیده‌تری از توازن بار را نیز پشتیبانی می‌کند. BIG-IP به عنوان یک Application Delivery Manager همچنین قابلیت‌های بیشتری نسبت به یک توازن‌گر بار معمولی دارد و می‌تواند به تحلیل ترافیک نگاه کند و تصمیمات بیشتری در مورد مسیردهی ترافیک بگیرد.

Proxy & Reverse Proxy
Proxy & Reverse Proxy

Proxy و Reverse Proxy: یک ویژگی مهم دیگر در BIG-IP این است که به عنوان یک Reverse Proxy عمل می‌کند. این بدان معناست که F5 به عنوان یک واسط بین کلاینت‌ها و سرورها عمل می‌کند. این ویژگی این امکان را به ما می‌دهد که مسیردهی ترافیک را به سمت منابع خاص انجام دهیم و قابلیت‌های مانیتورینگ و تصمیم‌گیری پیچیده‌تری داشته باشیم.

Load Balancing Overview

دو دستگاه BIG-IP با نام‌های “load balancer one” و “load balancer two” را در یک H/A (High Availability) Pair راه‌اندازی می‌کنیم. این دستگاه‌ها دارای آدرس‌های IP مدیریتی و تنظیمات شبکه‌ای مشخصی هستند. همچنین، از ترکیب VLAN و Self IP جهت توازن بار و مدیریت ارتباطات بین اجزاء استفاده می‌شود.

راه‌اندازی و لایسنس‌دهی دستگاه F5 BIG-IP

در این قسمت، نحوه راه‌اندازی یک دستگاه F5 BIG-IP از نوع deployment جدید را به شما نشان خواهم داد. از دستور Config برای تنظیم آدرس IP مدیریتی استفاده می‌کنیم و پس از تنظیم این آدرس IP، به واسط گرافیکی مبتنی بر مرورگر برای لایسنس‌دهی به F5 خواهیم پرداخت.

مراحل راه‌اندازی:

ip 1

  1. ورود به CLI: ابتدا به کنسول F5 BIG-IP متصل شده و با استفاده از نام کاربری “root” و گذرواژه “default” وارد شوید.
  2. تغییر گذرواژه: بلافاصله به شما درخواست تغییر گذرواژه خواهد داد. گذرواژه جدید را وارد کرده و تغییرات را ثبت کنید.
  3. تنظیمات شبکه: از دستور “config” برای ورود به ابزار تنظیمات شبکه استفاده کنید. تنظیمات IP را انجام دهید و پس از اعمال، به F5 این امکان را می‌دهید که از این آدرس مدیریتی استفاده کند.
  4. ورود به محیط گرافیکی: از مرورگر به آدرس IP تنظیم شده دستگاه F5 متصل شوید. این مراحل به شما امکان لایسنس‌دهی از طریق ابزارهای تنظیمات را می‌دهد.

لایسنس‌دهی F5:

 

  1. انتخاب روش لایسنس‌دهی: شما می‌توانید از کلید ثبت‌نام پایه خود استفاده کنید یا به صورت دستی اقدام به لایسنس‌دهی کنید. این اقدام نیاز به اتصال اینترنت دستگاه دارد.
  2. ورود اطلاعات: اگر از روش دستی استفاده کنید، F5 یک dossier ایجاد خواهد کرد که باید آن را در سرور لایسنس‌دهی F5 وارد کنید.
  3. پذیرش توافق‌نامه: بعد از وارد کردن اطلاعات، F5 شما را به توافق‌نامه کاربر نهایی هدایت می‌کند که باید آن را پذیرفته و لایسنس‌دهی را تکمیل کنید.
  4. اعمال تنظیمات: پس از تایید توافق‌نامه، F5 تنظیمات لایسنس را اعمال می‌کند و قابلیت‌های خریداری‌شده را فعال می‌کند.
  5. انتخاب ماژول‌ها: در این مرحله، شما مشخص می‌کنید که کدام ماژول‌ها را می‌خواهید فعال کنید. برای مثال، ما در اینجا تنها ماژول LTM (Local Traffic Manager) را فعال می‌کنیم.
  6. تکمیل تنظیمات عمومی: در این مرحله، اطلاعاتی مانند نام میزبان (Hostname)، زمان محلی (Timezone) و رمز عبور root را تنظیم می‌کنید.

با انجام این مراحل، دستگاه F5 BIG-IP شما آماده به کار است و می‌توانید از امکانات توازن بار و مدیریت ترافیک پیشرفته آن بهره‌مند شوید.

پیکربندی تنظیمات شبکه بر روی دو دستگاه F5 Load Balancer

 

ما قصد داریم تا فرآیند تنظیمات نهایی را بر روی دستگاه Load Balancer اول به اتمام برسانیم. این شامل تعیین اینکه آیا از استقرار مجدد (redundancy) استفاده خواهیم کرد یا خیر، پیکربندی VLANها و رابط‌ها برای شبکه داخلی، شبکه خارجی و شبکه با قابلیت در دسترس بالا می‌شود. همچنین، تنظیمات NTP و DNS نیز انجام خواهیم داد و در نهایت به F5 می‌گوییم چگونه باید هماهنگی پیکربندی بین دو دستگاه F5 را انجام دهد. سپس همین فرآیند را بر روی دستگاه Load Balancer دوم تکرار خواهیم کرد.

بخش دوم: پیکربندی تنظیمات شبکه استاندارد

حالا به تنظیمات شبکه استاندارد می‌پردازیم. از ابزار setup utility استفاده می‌کنیم، به Next کلیک می‌کنیم و سوال اول این است که آیا می‌خواهیم از مدل های موجودیت بالا (high availability) استفاده کنیم یا خیر. حتی اگر قصد استفاده از یک دستگاه دیگر را نداشته باشید، من توصیه می‌کنم همواره تنظیمات high availability را انجام دهید تا در آینده اگر تصمیم به اضافه کردن دستگاه دوم داشتید، کافی است آن را آنلاین کرده و گروه HA را به راحتی پیکربندی کنید.

بخش سوم: پیکربندی VLANها

حالا باید VLANهای مختلف را پیکربندی کنیم. ابتدا برای شبکه داخلی آن را پیکربندی می‌کنیم. IP آدرسی که برای این دستگاه انتخاب کرده‌ایم 10.100.0.160 است. برای ماسک زیرشبکه از 24 بیت استفاده می‌کنیم. پورت‌های پیش‌فرض را می‌گذاریم و همچنین IP شناوری را برای اشتراک آن بین این دستگاه و دستگاه استندبایی مشخص می‌کنیم. برای شبکه خارجی و شبکه با قابلیت در دسترس بالا نیز همین مراحل را تکرار می‌کنیم. در نهایت، به F5 می‌گوییم که چگونه هماهنگی پیکربندی بین دو دستگاه F5 را انجام دهد.

بخش چهارم: پیکربندی NTP و DNS

حالا نوبت به پیکربندی NTP و DNS می‌رسد. توصیه می‌شود از یک سرور NTP محلی بر روی شبکه استفاده کنید، اما در محیط آزمایشی ما از pool.ntp.org استفاده می‌کنیم. سپس به تنظیمات DNS می‌پردازیم و DNS‌های لازم را اضافه می‌کنیم.

بخش پنجم: پیکربندی هماهنگی پیکربندی

حالا نوبت به انتخاب رابطهایی می‌رسد که برای هماهنگی پیکربندی بین دو دستگاه F5 استفاده خواهیم کرد. این قسمت را از داخل به HAVLand تغییر می‌دهیم.

بخش ششم: پیکربندی سایر تنظیمات

در این مرحله به تنظیمات دیگری می‌پردازیم از جمله تنظیمات failover UNIX و تنظیمات میر. سپس پیکربندی Peer را انجام داده و انتظار می‌کشیم تا هماهنگی اولیه انجام شود.

همچنین در زیر نیز لیستی از “Allow Default” پورت های F5 نیز قرار داده شده است.

ports required to be open in data interfaces for HA configuration
ports required to be open in data interfaces for HA configuration

در ادامه گام به گام ارتباطات بین دو دستگاه F5 Load Balancer را با استفاده از رابط HA را بررسی می‌کنیم و نحوه همگام‌سازی اولیه پیکربندی را انجام می دهیم.

 

بخش اول: انتخاب دستگاه اول به عنوان فعال

در این قسمت، ما می‌خواهیم اطمینان حاصل کنیم که دو دستگاه F5 Load Balancer به درستی از طریق رابط HA با یکدیگر ارتباط برقرار کرده‌اند و همچنین همگام‌سازی اولیه پیکربندی انجام شده است. بعد از این مرحله، یک مسیر استاتیک به سمت سرورهای داخلی ایجاد خواهیم کرد.

بخش دوم: ایجاد مسیر به سرورهای داخلی

ما به دنبال ایجاد یک مسیر استاتیک به سمت سرورهای داخلی هستیم، زیرا سرورهای داخلی در شبکه‌ای متفاوت نسبت به رابط داخلی دستگاه F5 واقع شده‌اند. برای این کار، به قسمت مدیریت شبکه و سپس مسیرها می‌رویم و یک مسیر به سرورهای داخلی اضافه می‌کنیم.

بخش سوم: فعال‌سازی همگام‌سازی خودکار

در این قسمت، تنظیمات را به گونه‌ای فعال‌سازی می‌کنیم که هرگاه تغییری در دستگاه‌ها صورت گیرد، تنظیمات به صورت خودکار همگام‌سازی شوند. برای این کار، به بخش گروه‌های دستگاه می‌رویم، نوع همگام‌سازی را از دستی به خودکار تغییر می‌دهیم تا تمام تغییرات به صورت خودکار اعمال شوند.

حالا که دو دستگاه F5 Load Balancer با موفقیت ارتباط برقرار کرده و همگام‌سازی اولیه انجام شده است، آماده‌ایم تا با یکی از اجزای اساسی که دستگاه F5 را به یک کنترل‌کننده تحویل برنامه تبدیل می‌کند، یعنی سرورهای مجازی، آشنا شویم.

Virtual Servers و Pools و Pool Members و Nodes در F5

سرورهای مجازی، استخرها، اعضای استخر و گره‌ها به عنوان اجزاء اساسی F5 Load Balancer، نقش مهمی در بهبود کارایی، دسترسی و امنیت سیستم‌های شبکه ایفا می‌کنند. با توجه به این مفاهیم، استفاده هوشمندانه از این اجزاء در تنظیمات و پیکربندی‌های مختلف، به بهینه‌سازی عملکرد و افزایش قابلیت اطمینان دستگاه F5 Load Balancer کمک می‌کند.

Virtual Servers و Pools و Pool Members و Nodes در F5
Virtual Servers و Pools و Pool Members و Nodes در F5

1. سرورهای مجازی: سرورهای مجازی، بخش مهمی از عملکرد F5 Load Balancer را تشکیل می‌دهند. این سرورها نقشی اساسی در توزیع بار بین اعضای استخر دارند و با تخصیص منابع وظایف خود را به بهترین شکل انجام می‌دهند. همچنین، سرورهای مجازی از لحاظ عملکردی و امنیتی بهبودهای چشمگیری را فراهم می‌کنند. این بخش از دستگاه F5 Load Balancer، قسمتی است که کاربران از طریق آن با IP و پورت ارتباط برقرار می‌کنند.

2. استخرها: استخرها به عنوان مجموعه‌ای از سرورهای مجازی با قابلیت اشتراک منابع و وظایف مشترک، نقش مهمی در مدیریت و توزیع بار ایفا می‌کنند. هر استخر می‌تواند شامل یک یا چندین سرور مجازی باشد که وظیفه پردازش درخواست‌های کاربران را به‌هنگام توزیع بار بر عهده دارند. این یک گروه از سرورهای پشتیبان است که همگی از یک سرور مجازی برنامه خاص پشتیبانی می‌کنند.

3. اعضای استخر: هر استخر شامل اعضای استخر است که معمولاً سرورهای مجازی هستند. این اعضا هماهنگی لازم را با یکدیگر دارند تا وظایف توزیع بار و ایجاد توازن در بارکاری را به بهترین شکل انجام دهند. همچنین، اعضای استخر می‌توانند به‌طور پویا اضافه و حذف شوند، این ویژگی امکان افزایش قابلیت افزایش‌پذیری سیستم را فراهم می‌کند. این سرورهای فردی هستند که هر کدام از برنامه مجازی را هاست می‌کنند و در یک استخر گروه‌بندی شده‌اند.

4. گره‌ها: گره‌ها نقاط اتصال استخرها به شبکه‌های داخلی یا خارجی را نشان می‌دهند. این اجزاء مسئولیت انتقال درخواست‌ها از سرورهای مجازی به مقصد نهایی را بر عهده دارند. همچنین، گره‌ها با ارائه امکانات اتصال امن و مدیریت شبکه، به بهبود عملکرد و امنیت کلی سیستم کمک می‌کنند. این‌ها IP یا نام دامنه کامل (FQDN) سرورهای فردی را نشان می‌دهند، بدون در نظر گرفتن برنامه‌هایی که ممکن است میزبانی کنند.

یک گره (Node) چگونه به یک عضو استخر (Pool Member) تبدیل می‌شود؟

What Makes a Node a Pool Member
What Makes a Node a Pool Member

در مفهوم F5 Load Balancer، یک گره (Node) به عنوان یک سرور فیزیکی یا ماشین مجازی با یک آدرس IP خاص یا نام دامنه کامل (FQDN) شناخته می‌شود. وقتی که این گره هماهنگ با یک استخر (Pool) در نظر گرفته می‌شود، به عنوان یک عضو استخر (Pool Member) در نظام مدیریت بار ترافیک شناخته می‌شود. به عبارت دیگر، هر گره که در یک استخر قرار گیرد، عضوی از آن استخر محسوب می‌شود و هر ترافیکی که به استخر ارسال می‌شود، توسط یکی از اعضای آن گره پردازش می‌شود. این نحوه سازماندهی کمک می‌کند تا بار ترافیک به طور موازی بین گره‌ها توزیع شود و به بهبود عملکرد و قابلیت اطمینان سیستم کمک کند.

روش توازن بار (Round Robin Load Balancing Method) در F5 BIG-IP چیست؟

Round Robin Load Balancing Method
Round Robin Load Balancing Method

در F5 BIG-IP، روش توازن بار یکی از انواع توازن بار است که برای توزیع درخواست‌ها بین اعضای یک استخر (Pool) از سرورها استفاده می‌شود. این روش به صورت چرخشی (Round Robin) عمل می‌کند، به این معنا که هر درخواست به ترتیب به یکی از اعضای استخر ارسال می‌شود.

به عبارت ساده‌تر، هر زمان که یک کاربر یا دستگاه درخواستی ارسال می‌کند، F5 BIG-IP درخواست را به یکی از سرورهای موجود در استخر ارسال می‌کند. با ادامه این فرآیند، هر سرور به ترتیب درخواست‌ها را دریافت و پاسخ می‌دهد.

این روش توازن بار ساده و کارآمدی است که بدون توجه به وضعیت سرورها، درخواست‌ها را به تساوی به هر سروری ارسال می‌کند. این باعث می‌شود تا بار ترافیک به تعادل مناسبی بین اعضای استخر توزیع شود و هر سرور به نسبت یکسانی در پاسخ به درخواست‌ها شرکت کند.

تنظیمات F5 برای میزبانی یک برنامه HTTP

 

از اینکه اجزایی که یک سرور مجازی را تشکیل می‌دهند، مطلع شدید، حالا در این بخش، F5 را به‌گونه‌ای پیکربندی خواهیم کرد که یک برنامه HTTP را میزبانی کند. در ابتدا، سطح Global یک تا سطح Global چهار را به عنوان نودها (Nodes) پیکربندی خواهیم کرد. وقتی که نودها ایجاد شوند، سپس آن نودها را درون یک Pool قرار خواهیم داد. دوباره، ما نودها را به عنوان اعضای Pool مشخص می‌کنیم، با اعلام که Pool باید پورت 80 (HTTP) را گزارش کند. در نهایت، خود سرور مجازی را با آدرس IP 192.168.0.100 و پورت 80 پیکربندی می‌کنیم.

برای پیکربندی ترافیک محلی، به بخش ترافیک محلی مراجعه کرده و تمرکز خود را فقط بر روی نودها، استخرها و سرور مجازی ست کنید. برای تنظیم نودها، به قسمت لیست نودها بروید و نودهای مورد نیاز خود را اضافه کنید. به همین ترتیب، به بخش Pool ها بروید و استخرهای مورد نظر خود را ایجاد کنید. اعضای استخر را با تعیین پورت 80 به آنها، به عنوان اعضای استخر اضافه کنید. در نهایت، به بخش سرورهای مجازی بروید و سرور مجازی خود را ایجاد کنید. مقادیر مورد نیاز را وارد کرده و استخر مورد نظر خود را برای آن تعیین کنید.

می‌توانید نتیجه را در نقشه شبکه (Network Map) مشاهده کنید که به‌طور واضح نشان می‌دهد چگونه سرور مجازی، استخرها و نودها با یکدیگر متصل هستند.

همچنین با توجه به کد‌های سلامتی (Health Codes) مختلف، می‌توانید وضعیت هر عنصر را مشاهده کنید.

F5 Status Codes
F5 Status Codes

کدهای سلامتی در F5:

  1. در دسترس (Available): این وضعیت نشان‌دهنده این است که مانیتور سلامت مورد استفاده قادر به بازرسی موفقیت‌آمیز عملکرد شیء است. به عبارت دیگر، اگر مانیتور سلامت یک سرور مجازی را به عنوان مثال در نظر گرفته شود، این نشان‌دهنده عملکرد صحیح سرور مجازی است.
  2. در دسترس نیست (Unavailable): وضعیت زرد نشان‌دهنده ناتوانی در دسترس بودن شیء مورد مانیتورینگ است. این به معنای عدم دسترسی به یک سرور یا سرویس مجازی است.
  3. آفلاین (Offline): این وضعیت نمایانگر این است که شیء مورد نظر به طور کامل غیرفعال شده و از دسترس خارج شده است. ممکن است به معنای خاموش شدن یک سرور یا توقف یک سرویس مجازی باشد.
  4. ناشناخته (Unknown): وضعیت آبی نشان‌دهنده عدم اطمینان از وضعیت شیء مورد نظر است. این ممکن است به عنوان یک وضعیت موقت برخورد کند تا مانیتورها بتوانند وضعیت را به‌روز کنند.
  5. غیرفعال یا آفلاین شده به‌صورت اجباری (Disabled or Forced Offline): در صورتی که یک شیء به‌طور دستی غیرفعال یا آفلاین شود، وضعیت سیاه نمایانگر این موضوع است. این ممکن است به عنوان یک اقدام ایمنی یا تعمیرات تعیین شده توسط مدیریت انجام شود.

این کدهای سلامتی در F5 به مدیران سیستم امکان می‌دهد وضعیت سرورها و سرویس‌های مجازی را با دقت نظارت کرده و در صورت نیاز اقدامات لازم را انجام دهند.

Shares:

3 Comments

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *