نحوه LoadBalance کردن IP ها برای ایمیل های ارسالی توسط Exchange

در این آموزش به شما نحوه Load Balance کردن آدرس IP های خروجی (IP ارسال ایمیل) در Microsoft Exchange را آموزش خواهیم داد.

تصور کنید شما یک یا دو سرور Edge برای ارسال ایمیل دارید و در مدت زمان کوتاهی مشتریان شما تعداد زیادی ایمیل را ارسال می کنند. پس از مدتی سرویس دهنده های بزرگ مثل Hotmail، Yahoo یا Gmail آدرس IP های شما را مسدود خواهند نمود.

عموما دلیل این مسدودی ارسال تعداد زیادی ایمیل از یک آدرس IP می باشد. حال تصور کنید هر دو آدرس Public سرورهای Edge شما مسدود شود. در این صورت هیچگونه ایمیلی از سمت شما به این سرویس دهنده ها ارسال نخواهد شد و تماما در صف انتظار قرار خواهند گرفت.

مشکل در اینجا این است که در سرورهای Edge شما تنها یک آدرس IP برای ایمیل های خروجی تعریف شده است.

نرم افزارهای ارسال ایمیل همچون Ironpot و برخی از نرم افزارهای ضد اسپم لینوکس این امکان را به شما می دهند که چندین آدرس IP را برای ایمیل های ارسالی در نظر بگیرید تا با این مشکل مواجه نشوید، اما آیا Exchange نیز همچنین امکانی دارد؟

البته به این شکل خیر، اما روشی برای تنظیم Custom Transport Agent در Exchange وجود دارد.


Load Balance کردن Transport Agent

مقدار Send Connector در این سیستم دارای خصوصیتی تحت عنوان "SourceIPAddress" می باشد. این آدرس IP یکی از آدرس هایی خواهد بود که Exchange برای ارسال ایمیل از آن استفاده خواهد نمود.
پس در اولین مرحله تعدادی آدرس IP اضافه خواهیم نمود.

192.168.1.240 EDGE Server IP 192.168.1.241 Outbound SMTP IP Address 1 192.168.1.242 Outbound SMTP IP Address 2 192.168.1.243 Outbound SMTP IP Address 3

در تنظیمات ما، سرور Edge در محیط DMZ  میباشد و یک ارتباط NAT یک به یک در شبکه ما فی ما بین آدرسهای داخلی و خارجی وجود دارد.

ممکن است تصور کنید با اضافه کردن چندین آدرس IP مشکل حل خواهد شد اما اشتباه کرده اید!

Microsoft Exchange در بین چندین Send Connector که یک Cost برای آنها تعریف شده است امکان Load Balance ندارد.
این نرم افزار با شرایط زیر نسبت به انتخاب Send Connector اقدام می کند:

1- اگر در تنظیمات گیرنده Send Connector مقدار مشخصی مانند contoso.com تعریف شده باشد نسبت به "*" دارای اولویت است.
2- ردیفی را انتخاب خواهد کرد که دارای کمترین Cost می باشد.
3- اگر چندین ردیف با Cost یکسان وجود داشته باشد بر مبنای نام آنها به ترتیب حروف الفبا انتخاب خواهد کرد.

ممکن است شما بخواهید با استفاده از یک اسکریپت نام Send Connector را هر دقیقه یکبار تغییر دهید که پیشنهاد نمی شود! بهتر است از روش هوشمندانه زیر استفاده کنید:


مرحله بعدی تنظیم Send Connector ها می باشد:

New-SendConnector Connector1 -AddressSpaces "connector1.local" -SourceIPAddress 192.168.1.241 New-SendConnector Connector2 -AddressSpaces "connector2.local" -SourceIPAddress 192.168.1.242 New-SendConnector Connector3 -AddressSpaces "connector3.local" -SourceIPAddress 192.168.1.243

در SDK Exchange 2010 به بالا روشی برای ارسال ایمیل ها به ازای هر گیرنده وجود دارد و صرفا شما کافیست به ازای هر گیرنده آنها را به Connector مربوطه متصل نمائید.
با استفاده از تابع RoutingOverride ما تمامی ایمیل های در صف انتظار را می توانیم به سمت Connector مورد نظر خود هدایت کنیم.

اطلاعات تکمیلی در خصوص تابع RoutingOverride در لینک زیر موجود می باشد:

http://msdn.microsoft.com/en-us/library/microsoft.exchange.data.transport.routingoverride(EXCHG.140).aspx


نحوه نصب routeBalancer

برای نصب این Agent می بایست اسکریپت installRouteBalancer.ps1 را اجرا کنید و سپس مراحل زیر را انجام دهید.

1- سرویس MSExchangeTransport را غیر فعال کنید.
2- فولدر "C:\Program Files\Microsoft\Exchange Server\V14\TransportRoles\agents\routeBalancer" را ایجاد کنید.
3- فایلهای routeBalancer.dll  و RouteBalancerConfig.xml را در پوشه ای که ایجاد کرده اید کپی کنید.
4- Agent را نصب و فعال کنید.
5- سرویس MSExchangeTransport را فعال کنید.

نحوه مدیریت سیستم:
این Agent تعداد Send Connector ها را می خواند و همچنین آدرس های IP را از RouteBalancerConfig.xml نیز می خواند. این فایل می بایست در کنار فایلهای dll دیگر باشد.
در صورتی که تمایل به عدم ارسال از یک آدرس IP دارید، مثلا برای غیر فعال کردن Connector2 می بایست:

1- ابتدا مقدار Address Space را درون Send Connector ها از "connector3.local" به "connector2.local" تغییر دهید.
2- سپس "connector2.local" را به اسمی دیگر مثلا "disabled.local" تغییر نام دهید.
3- نام Send Connectory را مثلا به "Disabled" تغییر نام دهید. (فقط جهت شفاف سازی و اطلاع خودتان، تغییر در نام آنها تاثیری بر Agent ندارد)
4- مقدار numConnectors در فایل RouteBalancerConfig.xml را از 3 به 2 تغییر دهید.
5- سرویس MSExchangeTransport  را ریستارت کنید.

دانلود Agent و اسکریپت installRouteBalancer.ps1

آیا این پاسخ به شما کمک کرد؟

انجمن پشتیبانی میزبانی زاگریو

انجمن پرسش و پاسخ میزبانی زاگریو
پاسخ به پرسش های شما در زمینه فن آوری اطلاعات و صنعت میزبانی وب

 چاپ این مقاله

خوانده شده

مدیریت از راه دور توسط Powershell

Windows PowerShell: Implicit Remoting یکی از ویژگیهای کمتر شناخته شده در  Windows PowerShell 2.0...

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

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

اتصال به SQL Server با استفاده از SQL Managment Studio

نرم افزار SQL Server Management Studio و با به اختصار SSMS یک محیط یکپارچه برای مدیریت، اعمال...

ده ویژگی سیستم عامل Microsoft Nano Server

  1-    Nano Server چیست؟ Nano Server یک نسخه مقایسه ای  headless از Windows Server می باشد که...

آموزش نصب Windows Server 2012 - Core Mode - بخش اول

در این آموزش نحوه نصب ویندوز سرور 2012 نسخه Core - بخش اول را به شما آموزش می دهیم.به دلیل عدم...

Powered by WHMCompleteSolution