وقتی مشتریان خدمات خود را در یک Cloud Datacenter که توسط VMware Cloud Director ارائه شده است مستقر میکنند، اغلب میخواهند از Firewall Appliance مجازی خودشان استفاده کنند، به جای استفاده از Edge و Distributed firewall که در زیرساخت NSX تعبیه شده است. بسیاری از مدیران ترجیح میدهند از فایروالهای شناختهشده خود مثل CheckPoint، Fortinet یا pfSense برای مدیریت پیکربندی بدون مشکل بهره ببرند. استفاده از Firewall Applianceهای مجازی مستقل به طور کلی مشکلی ندارد، اما در استقرارهای HA (High Availability) چالشهایی وجود دارد که میتوان با ویژگیهای پیادهسازی شده در نسخههای جدید VMware Cloud Director آنها را حل کرد.
این مقاله نحوه استقرار Firewall Appliances با دسترسی بالا در VMware Cloud Director نسخه 10.5 را توضیح میدهد.
همانطور که گفته شد، استقرار یک Firewall Appliance مجازی به تنهایی آسان است. روش رایج این است که اینترفیس خارجی به یک “Routed Network” و اینترفیس داخلی به یک “Isolated Network” تنظیم شود. در این حالت، ترافیک از طریق فایروال مجازی هدایت شده و قابل فیلتر کردن است. تنظیم پیچیدهتر با پیکربندی HA نیازمند ویژگیهایی است که تنها از نسخه Cloud Director 10.3.2 به بعد در دسترس بودهاند: Network Segment Profiles.
برای افزونگی، بیشتر سیستمها از Virtual Router Redundancy Protocol (VRRP) استفاده میکنند که در RFC 3768 و RFC 5798 شرح داده شده است. VRRP به روترها و فایروالها اجازه میدهد که یک آدرس IP مجازی (VIP) را به اشتراک بگذارند که میتواند بین دو Appliance در حالت فعال-غیرفعال (active-passive) جابجا شود. آدرس IP مجازی از MAC Address با قالب زیر استفاده میکند: 00-00-5E-00-01-{VRID}. با پیکربندی پیشفرض در NSX-T و VMware Cloud Director، امکان داشتن دومین آدرس MAC روی یک اینترفیس وجود ندارد. برای اجازه دادن به چندین آدرس MAC به ازای هر پورت، لازم است پورت به گونهای تنظیم شود که MAC Learning فعال باشد. در حالی که این ویژگی مدتی است که در NSX-T از طریق Segment Profiles فعال شده، اما تنها در نسخه 10.3.2 Cloud Director برای استفاده در آن ارائه شده است.
نمونه زیرساخت
- شبکه خارجی (External Network) یک Public Segment است که از IP Spaces استفاده میکند (ویژگی Cloud Director 10.4). همچنین میتوانید از یک Routed Segment معمولی با آدرسهای خصوصی استفاده کنید.
- فایروالهای مجازی (fw1 و fw2) از نوع VyOS هستند (دانلود: VyOS نسخه 1.2.9)
مرحله ۱ – ایجاد “MAC Discovery Profile” در NSX-T
- در NSX-T به مسیر Networking > Segments > Profiles بروید.
- روی ADD SEGMENT PROFILE کلیک کنید و گزینه MAC Discovery را انتخاب کنید.
- یک MAC Discovery Profile جدید با نام “mac-learning” ایجاد کنید و MAC Learning را فعال نمایید.
- سپس روی SAVE کلیک کنید.
مرحله ۲ – افزودن Segment Profile در Cloud Director
- در VMware Cloud Director به عنوان System Administrator وارد شوید.
- به مسیر Resources > Infrastructure Resources > NSX-T > Segment Profile Templates بروید.
- روی NEW کلیک کنید.
- یک نام برای قالب وارد کنید.
- نمونه NSX-T Manager را انتخاب کنید.
- MAC Discovery Profile را به Segment Profile ایجاد شده در NSX-T (mac-learning) تنظیم کنید.
مرحله ۳ – فعالسازی امکان تنظیم Segment Profiles برای Tenants
با تنظیمات پیشفرض، tenants نمیتوانند Segment Profiles مربوط به شبکههای خود را مشاهده یا تنظیم کنند. برای این کار، سازمان (Organization) نیاز به یک Rights Bundle دارد و کاربر نیز باید نقشی (Role) داشته باشد که اجازه کار با Segment Profile Templates را داشته باشد. برای انتخاب اینکه کدام Organizations بتوانند Segment Profiles را تغییر دهند، من یک Rights Bundle جدید ایجاد میکنم و آن را به Organizations خاصی منتشر میکنم. اگر میخواهید این قابلیت برای همه سازمانها فعال باشد، میتوانید فقط Rights Bundle پیشفرض را ویرایش کنید.
مراحل:
- در VMware Cloud Director به عنوان System Administrator وارد شوید.
- به مسیر Administration > Tenant Access Control > Rights Bundle بروید.
- روی ADD کلیک کنید.
- به Rights Bundle یک نام و توضیح بدهید و حقوق زیر را اضافه کنید:
- روی SAVE کلیک کنید.
- Rights Bundle جدید را انتخاب کنید.
- روی Publish کلیک کنید.
- سازمانهایی که باید این Rights Bundle به آنها اختصاص داده شود را انتخاب کنید.
با این Rights Bundle، مدیر سازمان (Organization Administrator) میتواند یک نقش سفارشی با حقوق مربوط به Segment Profile ایجاد کند. به نظر من، بهتر است نقش پیشفرض Organization Administrator را ویرایش کرده و حق دسترسی به Segment Profiles را به آن اضافه کنید. این به این معنی نیست که هر مدیر سازمان بتواند این قابلیت را استفاده کند؛ آنها هنوز به Rights Bundle نیاز دارند.
برای این کار:
- به مسیر Administration > Tenant Access Control > Global Rights بروید.
- نقش Organization Administrator را انتخاب کرده و روی EDIT کلیک کنید.
- تمام حقوق موجود را حفظ کرده و حقوق زیر را اضافه کنید:
- View Segment Profile Templates
- Manage Segment Profile Templates Implies Right
- روی SAVE کلیک کنید.
از طرف سرویسدهنده (Service Provider) کار تمام است. حالا tenants که این Rights Bundle را دارند، هنگام ایجاد یا ویرایش شبکهها گزینه پیکربندی جدیدی برای Segment Profiles مشاهده خواهند کرد.
پیکربندی Tenant
برای آزمایش این قابلیت، من زیرساخت مجازی زیر را میسازم:
ایجاد ۲ شبکه با پیکربندیهای زیر:
- نام: External | نوع: Routed | Gateway CIDR: 203.0.113.193/29
- نام: Internal | نوع: Isolated | Gateway CIDR: 10.0.0.1/24
توجه داشته باشید که شبکه Isolated به Edge Gateway متصل نیست و بنابراین، Gateway CIDR تنظیم شده هنوز آزاد و قابل استفاده است. هدف از تنظیم آدرس IP در اینجا این است که یک Gateway پیشفرض و اطلاعات شبکه به صورت خودکار در ماشینهای مجازی که به این شبکه متصل هستند، از طریق Guest Customization پیکربندی شود.
در هنگام ایجاد، برای هر دو شبکه، Segment Profile Template را روی MAC Learning Profile تنظیم کنید.
فایروالهای مجازی خود را مستقر کرده و کارتهای شبکه مجازی (virtual NICs) را مطابق با دیاگرام پیکربندی کنید.
vy1
External: 203.0.113.195
Internal: 10.0.0.2
vy2
External: 203.0.113.196
Internal: 10.0.0.3
Default Route برای هر دو: 203.0.113.193
برای پیکربندی VyOS، با نام کاربری و رمز عبور پیشفرض vyos/vyos وارد شوید و با دستور conf به حالت پیکربندی وارد شوید.
vy1
set system host-name vy1 set interfaces ethernet eth0 address 203.0.113.195/29 set interfaces ethernet eth0 description OUTSIDE set interfaces ethernet eth1 address 10.0.0.2/24 set interfaces ethernet eth1 description INSIDE set protocols static route 0.0.0.0/0 next-hop 203.0.113.193 set service ssh port 22 set nat source rule 100 outbound-interface eth0 set nat source rule 100 source address 10.0.0.0/24 set nat source rule 100 translation address masquerade
vy2
set system host-name vy2 set interfaces ethernet eth0 address 203.0.113.196/29 set interfaces ethernet eth0 description OUTSIDE set interfaces ethernet eth1 address 10.0.0.3/24 set interfaces ethernet eth1 description INSIDE set protocols static route 0.0.0.0/0 next-hop 203.0.113.193 set service ssh port 22 set nat source rule 100 outbound-interface eth0 set nat source rule 100 source address 10.0.0.0/24 set nat source rule 100 translation address masquerade
هشدار: پیکربندی VyOS به این شکل دسترسی SSH را از هر دو اینترفیس داخلی و خارجی مجاز میکند که بسیار ناامن است. اگر قصد استفاده در محیط تولید را دارید، به VyOS Quick Start برای تنظیم قوانین پایه فایروال مراجعه کنید.
برای فعال کردن پیکربندی و ذخیره آن به صورت دائمی، دستورات زیر را اجرا کنید:
# commit # save
مرحله بعدی پیکربندی VRRP است. دستورات زیر را روی هر دو سیستم اجرا کنید. این دستورات یک گروه VRRP برای هر اینترفیس با Virtual IP مشترک ایجاد میکنند. هر دو گروه در یک Sync Group قرار میگیرند تا نقشهای MASTER و BACKUP همیشه روی یک سیستم باشند.
set high-availability vrrp group eth0 vrid 10 set high-availability vrrp group eth0 rfc3768-compatibility set high-availability vrrp group eth0 interface eth0 set high-availability vrrp group eth0 virtual-address 203.0.113.194/29 set high-availability vrrp group eth1 vrid 11 set high-availability vrrp group eth1 rfc3768-compatibility set high-availability vrrp group eth1 interface eth1 set high-availability vrrp group eth1 virtual-address 10.0.0.1/24 set high-availability vrrp sync-group MAIN member eth0 set high-availability vrrp sync-group MAIN member eth1
فراموش نکنید که برای فعال کردن پیکربندی دستور commit و save را اجرا کنید. وضعیت VRRP را میتوانید با دستور show vrrp مشاهده کنید:
ماشینهای مجازی در شبکه 10.0.0.0/24 که Gateway پیشفرض 10.0.0.1 تنظیم شده، باید بتوانند به اینترنت دسترسی داشته باشند. برای تست HA، روتر MASTER را خاموش کنید، و باید در عرض چند ثانیه Failover انجام شود (تنظیمات پیشفرض VRRP پس از 3 Heartbeat ناموفق که هر ثانیه ارسال میشود، Failover را انجام میدهد).
برای دسترسی به سرویسهای داخلی، یک Destination NAT روی اینترفیس مجازی VRRP پیکربندی کنید:
set nat destination rule 10 destination port '80' set nat destination rule 10 inbound-interface 'eth0v10' set nat destination rule 10 protocol 'tcp' set nat destination rule 10 translation address '10.0.0.11'
نکته: اگر شبکه خارجی در یک رنج خصوصی و غیرقابل تبلیغ باشد، باید DNAT را روی Edge Gateway در Cloud Director نیز پیکربندی کنید.