Во-первых, давайте начнем с картинки, чтобы проиллюстрировать мою проблему ...
Естественно, IP-адреса были скрыты из соображений безопасности.
У меня есть внутренняя LAN 192.168.1.x за ISA Server 2004. В этой сети находится ряд стационарных рабочих станций, почтовый сервер POP3 (не Exchange) и мобильные клиенты с поддержкой WAP. Все устройства обслуживаются DHCP (хотя и с зарезервированными адресами, если применимо).
Что касается Интернета, у меня есть подключенный к ADSL маршрутизатор с рядом общедоступных IP-адресов. Порт WAN на маршрутизаторе имеет IP-адрес 123.0.0.241, порт LAN - 123.0.0.246.
Между ними у меня ISA Server 2004 с двумя сетевыми картами. Первый подключен к маршрутизатору и имеет общедоступный IP-адрес 123.0.0.242. Маршрутизатор настроен на маршрутизацию трафика, а не на использование NAT. Сервер ISA публикует почтовый сервер POP3 на своем общедоступном IP-адресе 123.0.0.242.
Проблема в том ...
Когда мобильные устройства находятся на месте и подключены к WAP, они принадлежат подсети 192.168.1.x и подключаются к почтовому серверу напрямую, не беспокоя ISA-сервер.
Однако, будучи удаленными, они теперь должны получить доступ к серверу POP3 через сервер ISA на 123.0.0.242.
Мне нужна единая конфигурация для мобильных устройств, которая будет работать независимо от того, находятся они на месте или за его пределами.
Если я настрою их на общедоступный IP-адрес ISA-сервера (123.0.0.242), они не смогут связаться с почтовым сервером, когда они находятся на сайте, потому что IP-адрес находится не на той стороне ISA-сервера.
Очевидно, что если я настрою их с частным IP-адресом почтового сервера, они не смогут получить к нему доступ за пределами площадки.
Я пробовал подход с разделением DNS, при котором полное доменное имя почтового сервера разрешается как 192.168.1.2 на месте и 123.0.0.242 за пределами сайта. Проблема в том, что TTL DNS слишком длинный, поэтому мне приходится ждать целую вечность, пока устройства обновят IP-адрес. DNS-сервер с выходом в Интернет не мой, и я не могу контролировать TTL.
Я попытался связать полное доменное имя почтового сервера как с общедоступным, так и с частным IP-адресами, полагаясь на циклическое переключение DNS-клиента при отказе, чтобы в конечном итоге выбрать правильный IP-адрес. Помимо того факта, что использовать частный IP-адрес в чужой сети - это действительно плохая идея, некоторые устройства, похоже, неохотно переключаются на альтернативный адрес, когда вы переходите с одного места на другое или наоборот.
Я не могу привязать общедоступный IP-адрес как к внутреннему, так и к внешнему адаптерам на ISA-сервере, поскольку ISA-сервер горько жалуется (я не могу винить его).
Итак, я в тупике. Я хочу, чтобы как внутренние, так и внешние клиенты имели доступ к почтовому серверу с помощью общедоступного IP-адреса. У меня есть запасные адреса, так что я могу использовать другой, если это поможет.
Но я не знаю, куда идти дальше. Любые предложения будут с благодарностью приняты!
Разделенный DNS должен быть работоспособным.
Я бы подумал, что локальный кеш DNS системы сбрасывается при переключении беспроводных сетей ... но теперь, когда я думаю об этом, я не пробовал этого раньше (и я не могу найти никакой документации так или иначе).
Если это кеш ОС, это легко преодолеть:
HKLM\SYSTEM\CurrentControlSet\Services\Dnscache\Parameters\MaxCacheTtl
Время указывается в секундах, поэтому уменьшите его до пары минут; более частые запросы к DNS-серверу в вашей локальной сети никогда никому не повредят.
Но я подозреваю, что проблема не в этом. Я подозреваю, что приложение почтового клиента является виновником хранения старых данных разрешения хоста ... что немного усложняет задачу. Зависит от вашего почтового приложения, но, в худшем случае, пользователям может потребоваться перезапустить свое клиентское приложение, если оно не будет отбрасывать данные из больше не подключенной сети.
Наконец, обязательное примечание безопасности:
Если вы используете стандартный порт 110 POP3, без компонента SSL для соединения, это плохо; это становится очень и очень плохой вещью в общедоступной сети Wi-Fi. POP3 - это протокол открытого текста; все данные аутентификации и вся почта представлены в виде открытого текста и будут доступны для передачи кому-либо еще в той же сети Wi-Fi.
Если вы застряли в использовании POP3 без шифрования, выбросьте эту архитектуру из окна и используйте VPN с удаленным доступом.