Переключение smarthosts в Exchange при использовании двойной глобальной сети
Я хотел бы знать, возможно ли настроить Exchange 2003/2007 для переключения между smarthosts на основе используемого в настоящее время соединения WAN.
Пример сценария: у меня есть два WAN-соединения с разными провайдерами. Exchange работает за двойным маршрутизатором WAN. Маршрутизатор настроен на возврат к вторичной глобальной сети в случае сбоя основной глобальной сети. Смарт-хост, установленный в Exchange, является SMTP-сервером основного провайдера. Поскольку набор интеллектуальных хостов в Exchange позволяет только ретрансляцию с IP-адресов основной WAN, отправка почты не будет работать, когда маршрутизатор возвращается к вторичной WAN.
Отправка почты напрямую через DNS MX - это вариант, но у интернет-провайдеров есть динамические IP-адреса, которые часто попадают в черный список.
Заранее спасибо!
4 ответа
Нет ничего встроенного в Exchange 2003 или 2007, чтобы сделать это для вас. Однако Exchange 2007 можно управлять с помощью Powershell, а компонент, который управляет вашим smarthost, является соединителем отправки в Exchange 2007, и вы можете написать скрипт Powershell, который изменяет этот атрибут без особых усилий. То, хотите ли вы, чтобы это каким-то образом запускалось автоматически, или нет, будет определять, насколько сложным это должно быть.
#Adding Exchange Snap In to execute Exchange CmdLets in this script
Add-PSSnapin Microsoft.Exchange.Management.PowerShell.Admin
#Enter an IP to use as the monitor, you may need to put a static entry on your router
$Srvname = "4.2.2.2"
$ping = new-object System.Net.NetworkInformation.Ping
#enter your primary smarthost IP
$primary = "1.1.1.1"
#enter your failover smarthost IP
$failover = "2.2.2.2"
$test = $ping.send($Srvname)
if (!$test)
{
Set-SendConnector "INDENTITY OF SEND-CONNECTOR" -SmartHosts $failover
Write-host "Changed outbound send connector to $failover"
}
elseif ($test.status -eq "Request timed out.")
{
Set-SendConnector "INDENTITY OF SEND-CONNECTOR" -SmartHosts $failover
Write-host "Changed outbound send connector to $failover"
}
elseif ($test.status -eq "Success")
{
Set-SendConnector "INDENTITY OF SEND-CONNECTOR" -SmartHosts $primary
Write-host "$primary is up, no changes were made"
}
Else
{
Write-Host "Failed with status..."
$test.status
}
Я предполагаю, что вы имеете в виду динамический IP, назначенный вам вашим провайдером. Если это так, это не должно иметь никакого отношения к способности вашего сервера Exchange использовать DNS для выполнения поиска MX для исходящей электронной почты. Ловкий ip от вашего провайдера может привести к тому, что вы попадете в черный список, но это не вызовет проблем на вашем сервере Exchange при поиске записей MX или создании исходящих SMTP-соединений.
Но здесь есть хитрость - вы должны быть в состоянии сделать это на маршрутизаторе. В такой настройке. например, exchange переадресует внутренний IP-адрес маршрутизатора. Оттуда маршрутизатор будет двигаться вперед в зависимости от условий соединения wan.
По крайней мере, с RouterOS, который находится в возможных конфигурациях.