سرور Reverse Proxy: نحوه راه‌اندازی برای Skype for Business با استفاده از Microsoft IIS ARR 3.0

سرور Reverse Proxy

5.9k

در هفته گذشته اسکایپ بیزینس ، را برای یک شرکت بین‌المللی راه اندازی کردم، نحوه نصب و راه‌اندازی این سرویس دارای مستندات بسیاری به زبان انگلیسی در Technet و تعداد زیادی آموزش متنی و تصویری به زبان فارسی است، در این مقاله (در زاگریو) قصد داریم راه اندازی ایت سرویس با سرور Reverse Proxy را به شما آموزش دهیم.

دلیل نگارش این مقاله آموزش همگانی و همچنین مراجعات آتی خودم در صورت نیاز به آن است تا نیاز مجدد به عیب‌یابی سیستم‌ها نداشته باشم. اگر در حال گسترش و یا برنامه‌ریزی برای نصب Lync یا Skype4B هستید و قصد دارید این سرویس را در خارج از سازمان خود نیز استفاده کنید، یا با سیستم دیگری ارتباط Federation برقرار کنید، قطعا به یک Reverse Proxy همچون IIS ARR (همچنین سروری با وظایف Edge) نیاز دارید.

reverse proxy چیست؟

Reverse Proxy یکی از سرویس‌های Lync نیست و در اصل سرویسی جانبی برای تکمیل Skype4B است، به همین دلیل در هیچ یک از منابع همراه نرم‌افزار و یا در Topology Builder آن را مشاهده نخواهید کرد. این سرویس درخواست‌های کاربران را از طرف ایشان به سمت سرورهای داخلی هدایت کرده و پاسخ را به ایشان باز می‌گرداند. این ویژگی به کاربران خارج از سازمان این اجازه را می‌دهد تا به منابع داخلی سازمان به صورت کنترل شده متصل شده و از خدمات ذیل بهره‌مند شوند:

ویژگی‌های سرویس Reverse Proxy

  • مجوز دانلود محتوای Meetingها به کاربران بیرون سازمان
  • اجازه دانلود محتوای Address Bookها به کاربران بیرون سازمان
  • مجوز دسترسی به سرویس Lync Web App Client
  • اجازه دسترسی به صفحه Dial-in Conferencing
  • فراهم کردن دسترسی به سرویس Location Information (موقعیت مکانی)
  • فراهم کردن دسترسی کاربران بیرونی به صفحه به روزرسانی (Device Update Web Service)
  • فعال کردن امکان دسترسی به URLهای سرویس Lync Mobility
  • امکان استفاده از سرویس Lync Discover و هدایت منابع مورد نیاز به کاربران خارج سازمان

خدمات سرویس Reverse Proxy در اکثر فایروال‌ها و لود بالانسرهای امروزی به صورت یک امکان فراهم شده است. هر چند مثل یک دستگاه اختصاصی امنیتی مثل Cisco ASA از لحاظ کنترل و مدیریت عمل نمی‌کنند، با این حال این وظیفه را نیز می‌توان به Internet Information Services  با افزونه Application Request Routing یا به اختصار IIS ARR محول نمود.

پیش‌نیازهای سرور Reverse Proxy

سرور ARR، در یک شبکه DMZ یا ابتدایی باید قرار داشته باشد مایکروسافت پیشنهاد می‌کند که یک شبکه حقیقی DMZ توسط دو فایروال داخلی و خارجی مطابق تصویر زیر وجود داشته و سرویس Reverse Proxy در آن محل قرار داشته باشد به صورتی که کاملا از شبکه داخلی شما مجزا باشد.

پیش‌نیازهای سرور Reverse Proxy

هر چند به طور کلی (خیلی کلی) با تکنولوژی‌ها و راه‌کارهایی روبرو هستیم که تنها در آنها یک فایروال وجود دارد و سرور Reverse Proxy دارای یک ارتباط با شبکه داخلی مطابق تصویر زیر است که به اصطلاح به آن شبکه ۳ پایه ای (۳-legged Firewall) نیز می‌گویند.

فرای بحث نوع و ساختار شبکه سرور باید دارای ۲ کارت شبکه هر یک در یک شبکه جداگانه باشد.

سرورهای Front End بر روی پورت ۴۴۴۳ آماده دریافت درخواست های کاربران بیرونی است.

درخواست‌ها ابتدا از پورت ۴۴۳ دریافت شده و پس از تبدیل آن به پورت ۴۴۴۳ توسط Reverse Proxy به سمت Front End Pool ارسال می‌شوند.

سرویس Reverse Proxy یکی از آخرین سرویس‌هایی است که شما برای Lync یا Skype4B نصب می‌کنید. شما ابتدا باید دارای یک شبکه داخلی کامل و راه‌اندازی شده به همراه سرورهای Edge باشد تا بتوانید از این سرویس بهره‌برداری کنید.

موارد زیر باید ابتدا بر روی سرور انجام شود:

  • نصب حداقل ویندوز ۲۰۰۸ برای سیستم عامل
  • تخصیص IP های دستی به هر دو کارت شبکه
  • نصب تمامی به روزرسانی‌های سیستم عامل
  • تعیین نام سیستم به همراه دامنه موردنظر
  • تغییر WorkGroup  کامپیوتر (سرور نباید Domain Join باشد – با تنظیمات خاص در فایل HOST امکان‌پذیر است)
  • افرودن نام دامنه به DNS Suffix نام سرور
  • نصب Root CA سرور داخلی
  • اضافه نمودن یک رکورد A به سرور DNS داخلی برای سرور

آداپتور خارجی سرور باید دارای Default Gateway باشد، نه کارت شبکه داخلی، همچنین در صورتی که هر کارت شبکه شما دارای یک Subnet است استفاده از DNS های داخلی بلامانع است (مانند ساختار شبکه دوم در بالا) و یا درصورتی‌که سرور شما در یک شبکه DMZ واقعی است (تصویر اول) در این صورت لازم است یک Route مستقیم به سمت سرورهای Front End و سرورهای Office Web App خود داشته باشید. همچنین باید برای اطمینان از امکان دسترسی به سرورهای داخلی با تغییر محتویات فایل host برای مسیرهای meet, dialin, lyncdiscover و lyncwebexternal به سمت سرور Front End اطمینان حاصل نمائید.

نصب و تنظیم IIS ARR

برای این کار من از یک سرور Windows 2012 R2 استفاده می‌کنم که همانند دیاگرام اول در شبکه DMZ وجود دارد، این تنظیمات ممکن است در سیستم عامل‌های دیگر کمی متفاوت باشد.

مرحله اول : « نصب IIS »

با توجه به علاقه شخصی من به PowerShell دستورات نصب را حتی‌الامکان از این طریق انجام می‌دهم.

Install-WindowsFeature Web-Static-Content,Web-Default-Doc,Web-Dir-Browsing,Web-Http-Errors,Web-Net-Ext,Web-Http-Logging,Web-Request-Monitor,Web-Http-Tracing,Web-Filtering,Web-Stat-Compression,Web-Mgmt-Console,NET-Framework-Core,NET-Win-CFAC,NET-Non-HTTP-Activ,NET-HTTP-Activation,RSAT-Web-Server -IncludeManagementTools

مرحله دوم : « نصب Application Request Routing »

ابتدا فایل موردنظر را از لینک زیر دانلود کنید، در صورت فعال بودن Web App Installer با تصویر زیر روبروی می‌شوید:

http://www.iis.net/downloads/microsoft/application-request-routing

IISARR2

.در این مرحله با تایید پیش‌نیازهای لازم (در زمان نگارش این مقاله) که در زیر نشان داده شده است سرویس را نصب خواهیم نمود

IISARR3

پس از اتمام تاییدیه زیر را مشاهده خواهیم نمود:

IISARR4

مرحله سوم : « نصب گواهینامه های امنیتی برای سرور Reverse Proxy »

همانطور که در قسمت پیش‌نیازها ذکر شد لازم است گواهینامه ریشه شبکه داخلی در مخزن Local Computer Trusted Root Certificate Authorities نصب شود.

سپس گواهینامه‌های امنیتی خارجی خود را که باید به همراه SAN های موردنظر باشد را نیز بر روی سرور نصب می‌کنیم.

شما می‌توانید با استفاده از گواهینامه‌های امنیتی Multi Domain SSL با قابلیت SAN میزبانی زاگریو برای تامین امنیت سرورهای خود اقدام نمائید (نحوه تهیه این گواهینامه‌ها خارج از بحث این مقاله است)

در قسمت Servers Certificate باید گواهینامه‌های امنیتی موردنظر خود را مشاهده نمائید.

خرید سرور مجازی

مرحله چهارم : « اتصال گواهینامه‌های امنیتی به سایت »

بر روی Default Web Site کلیک کنید، سپس بر روی Bindings کلیک کنید و برای سرویس HTTPS بر روی پورت ۴۴۳ گواهینامه مورد نظر را انتخاب و تایید نمائید.

مرحله پنجم : « ایجاد Server Farm »

ما باید برای هر نامی که می‌خواهیم آنها را منتشر کنیم (Meet, dialin, lyncdiscover و lyncwebexternal) یک Server Farm ایجاد کنیم. برای ایجاد اولین آیتم بر روی Server Farms دکمه راست موس را بزنید و گزینه Create Server Farm را مطابق تصویر کلیک کنید.

در فرم باز شده نام کامل FQDN خود را وارد نمائید.

Server Farm

در صفحه بعدی، قبل از پر کردن اطلاعات سرور بر روی Advanced Settings کلیک کنید و مقادیر HTTP و HTTPS را از ۸۰ و ۴۴۳ به ۸۰۸۰  و ۴۴۴۳ تغییر دهید. سپس نام کامل  FQDN سرور Front End و یا Front End Pool خود را وارد نمائید، سپس بر روی Add کلیک کنید. در صورت دریافت پیغام ایجاد URL Rewrite بر روی Yes کلیک نمائید.

مراحل فوق را برای تمامی آدرس‌های موردنظر خود تکرار نمائید. به یاد داشته باشید سرور Office Web Application نام متفاوتی خواهد داشت و پورت‌های آن همان ۸۰ و ۴۴۳ می باشد.

پس از اتمام مراحل خروجی کار باید شبیه تصویر زیر باشد.

مرحله ششم : « تنظیمات  Server Farm برای سرور Reverse Proxy »

لازم است برای هر یک از Server Farm های ایجاد شده موارد زیر را تنظیم کنیم:

۱. در بخش Caching تیک Enable Disk Cache را غیر فعال کنید.

۲.  در قسمت Proxy باید Timeout Value را از ۳۰ به حداقل ۶۰۰ تغییر دهیم.

در صورت عدم تعریف این تنظیم کاربران iPhone دائما پیغامی را مبنی بر الزام باز کردن نرم افزار Skype4B را مشاهده می‌نمایند. دلیل دریافت این خطا عدم تنظیم صحیح این گزینه است. این مورد بر اساس شرایط شما متفاوت است، عموما عدد تنظیم شده در شرایط متفاوت بین ۶۰۰ تا ۹۰۰ است. این مورد را برای تمامی Server Farm ها اعمال کنید.

۳.  در قسمت Routing Rules تیک SSL Offloading را غیر فعال کنید و مجددا برای تمامی آیتم ها اعمال کنید.

مرحله هفتم : « تنظیمات  URL Rewrite »

بر روی نام سرور خود در IIS کلیک کنید و گزینه URL Rewrite را انتخاب نمائید.

برای تمامی مواردی که ایجاد کرده‌اید مطابق تصویر زیر دو مورد HTTP و HTTPS را مشاهده می‌نمائید:

ما از سرویس HTTP به دلایل امنیتی استفاده نخواهیم کرد به همین دلیل تمامی مواردی که با HTTP هستند را حذف می‌نمائیم.

زاگریو

2 دیدگاه

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

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