Улучшенный механизм трансляции сетевых адресов NAT в Forefront TMG
Долгие годы администраторам брандмауэров ISA Server приходилось уворачиваться от камней, в огромных количествах кидаемых в огород функции преобразования сетевых адресов Network Address Translation (NAT) в ISA Server. К нашему с вами счастью наследник престола Forefront TMG уже сейчас, в рамках программы бета-тестирования продукта, может похвастаться улучшенным функционалом трансляции сетевых адресов NAT (Enhanced NAT Functionality). Сегодня я постараюсь познакомить вас с теми возможностями, которые этот самый расширенный функционал NAT в Forefront TMG предоставляет в наше распоряжение.
Найди десять отличий
Полагаю, большинство читателей помнят эту увлекательную забаву, печатаемую на последних страницах популярных журналов для самых юных читателей :) Сейчас мы с вами и займемся этим увлекательным процессом. Максимально сосредоточившись открываем консоль управления Forefront TMG, переходим в центр управления Networking на вкладку Network Rules.
Многократные победители конкурсов “Веселых картинок” сразу заметят дополнительный столбец совершенно неорганично вписавшийся в привычный интерфейс настройки сетевых правил ISA Server. Этот самый столбец NAT Addresses для сетевого правила Internet Access гордо демонстрирует значение Default IP Address.
“Неужели Forefront TMG позволяет управлять назначением IP-адресов в процессе преобразования NAT” – подумаете вы. Да, да и ещё раз да. Вы будете правы, но отчасти :)
Непосредственно после этой фразы я начну объяснение “Почему?”
Когда мы были молодыми…
Если уж в чем-то разбираться, то разбираться до конца – вот единственно прогрессивный метод.
Представьте себе, что на внешнем сетевом интерфейсе ISA Server назначено несколько IP-адресов. Вполне штатная ситуация, не так ли? Эти несколько IP-адресов используются для публикации внутренних серверов и для обслуживания исходящих сетевых подключений.
Безусловно, вы задействуете все преимущества нескольких внешних IP-адресов, создав несколько объектов Web Listener и Network Listener с различными параметрами аутентификации пользовательских запросов. Вы также можете безопасно опубликовать несколько различных веб-узлов по протоколу HTTPS, назначив на различные IP-адреса различные SSL-сертификаты.
Согласитесь, очень радужная нарисовалась картина. Только вот все вышесказанное относиться к сценарию обработки входящих запросов (inbound connections) к внутренним серверам компании с помощью ISA Server. Все радужные оттенки мгновенно поблекнут, если вам будет необходимо организовать отправку всех запросов с конкретного внутреннего сервера во внешнюю сеть с определённым публичным IP-адресом (outbound connections).
В этот самый момент вас постигнет разочарование – ISA Server не поддерживает так называемый механизм Static NAT. И реализовать подобный сценарий с помощью ISA Server не получится. Все запросы во внешнюю сеть будут отправлены через внешний сетевой интерфейс с IP-адреса по умолчанию вне зависимости от наличия других адресов на этом сетевом адаптере.
Что ж с ISA Server вроде забрались. Пришло время вернуться к незабвенному столбцу NAT Addresses.
Разведка боем
Давайте попробуем реализовать последний сценарий с помощью Forefront TMG. Итак, перед нами стоит задача реализовать отправку всех исходящих запросов от внутреннего почтового сервера Mail Server во внешнюю сеть с определенного внешнего IP-адреса.
В нашем распоряжении есть интерфейс внешней сети с двумя IP-адресами, как показано на снимке экрана.
Снова открываем консоль управления Forefront TMG (не забыв максимально сосредоточиться на этом процессе), переходим в центр управления Networking на вкладку Network Rules. Для того, чтобы разобрать так заинтересовавший нас параметр NAT Addresses, мы создадим новое сетевое правило, запустив мастер Create a New Network Rule из панели задач.
Мастер любезно предложит нам ввести имя сетевого правила. Не станем его огорчать =) Далее необходимо будет указать источники сетевого трафика. В нашем примере источником будет выступать внутренний почтовый сервер Mail Server. Добавляем в список источников специально созданный для почтового сервера объект компьютера с именем Mail Server.
После этого переходим к указанию объектов, которым предназначается трафик данного сетевого правила. В нашем случае мы добавляем в список назначений внешнюю сеть External.
Далее необходимо определится с типом маршрутизации, применяемой к трафику данного сетевого правила. В нашем случае необходимо отметить пункт Network Address Translation (NAT). Мы же механизмы трансляции сетевых адресов в Forefront TMG разбираем как-никак :)
И вот то, ради чего мы всё это затеяли. На странице NAT Address Selection представлены опции, с помощью которых мы можем управлять механизмом преобразования сетевых адресов NAT. Давайте подробно рассмотрим каждую из представленных на снимке экрана опций.
![]()
Всего в наше распоряжение предоставлено три возможных варианта:
- Always use the default IP address – данная опция представляет собой единственно возможный вариант преобразования сетевых адресов исходящих запросов в ISA Server. В случае выбора данной опции все исходящие запросы Forefront TMG будут отправлены с IP-адреса по умолчанию соответствующего сетевого интерфейса (в нашем случае сетевого подключения External Network).
- Use the selected IP address – Эта опция позволяет вручную выбрать сетевой адрес, который будет использоваться в качестве IP-адреса источника в пакетах исходящих соединений Forefront TMG, подпадающих под создаваемое сетевое правило.
- Use selected IP addresses for each network – данная опция позволяет вам контролировать назначение IP-адреса источника исходящих пакетов на каждом конкретном сетевом интерфейсе. Данную опцию имеет смысл задействовать в сценариях, когда у вас несколько сетевых интерфейсов или же вы настраиваете массив из нескольких брандмауэров Forefront TMG без балансировки сетевой нагрузки с помощью NLB.
- В нашем сценарии необходимо выбрать опцию Use the selected IP address, так как показано на предыдущем снимке экрана. После чего мастер извещает нас о завершении создания сетевого правила, представив экран с параметрами.
После всех этих замысловатых манипуляций мы получаем следующую конфигурацию сетевых правил.
Таким образом вы получили решение поставленной задачи. Весь сетевой трафик от почтового сервера Mail Server во внешнюю сеть будет проходить по сетевому правилу Mail Server. В рамках данного правила для всех пакетов будет выполняться трансляция адресов NAT с подстановкой в качестве IP-адреса источника заданный нами внешний адрес.
Разбор полётов
В рамках сегодняшней нашей встречи мы рассмотрели улучшенный механизм преобразования сетевых адресов NAT, реализованный в Forefront TMG.
Возможность контроля за преобразованием сетевых адресов с помощью функции NAT Address Selection расширяет границы сферы применения продуктов семейства Forefront Edge Security, в частности сетевого брандмауэра Forefront TMG. И хотя функция NAT Address Selection не является полноценной реализацией, так называемого, статического NAT (Static NAT), это несомненно серьезный шаг в правильном направление.
Примечание: я как-то встречал способ реализации static NAT на брандмауэре ISA Server с помощью дополнительной конфигурации службы Routing and Remote Access Service (RRAS) в Windows Server 2003. Но подобные сценарии выходят за рамки функционала самого ISA Server.
Related Posts
- Новый механизм автообнаружения в Forefront TMG Beta 2
- Легенды и мифы ISA Server/TMG – Режим работы с единственным сетевым адаптером
- Впервые в России эксклюзивный курс по Forefront TMG 2010
- Виртуализация ISA Server/Forefront TMG и работа сетевой подсистемы
- Настройка сетевых интерфейсов Microsoft ISA Server


Трансляция сетевых адресов, не имен Артем. Было бы хорошо поправить.
@YTugarev
Большое спасибо, коллега. Действительно, ошибочка вышла. Что для меня, признаться, странно :)
Теперь всё отредактировано. Можно отправлять в печать =)
Артем, а не подскажете где вы видели решение static NAT для ISA? У меня есть задача где нужна эта фича.
@VitoFox
Прошу прощения за столь долгое ожидание ответа. К сожалению, я нигде не видел подобных решений. И мне неизвестно, каким образом подобный функционал можно получить на ISA Server :(
Советую Вам переходить на Forefront TMG 2010, благо этот продукт уже вышел:
http://sinitsyn.org/2009/11/3-goda-ozhidaniya-3-bukvy-nazvaniya-3-bukvy-statusa-forefront-tmg-2010-rtm/
Артем, с наступающим праздником тебя!
Получил довольно неприятную ситуацию с NAT в TMG 2010.
У меня конфигурация сети с TMG в роли Back firewall. На границе стоит железный роутер с функцией балансировки трафика. При установке указал, что Perimeter с Public addresses (на внешнем сетевом интерфейсе TMG 3 реальных IP-адреса).
Настроил все под ключ: рулезов наделал,сети, субсети, VPN-канал поднял на филиал.
Дошло время снимать сливки от новой версии – лезу вкусить Enhanced NAT Functionality, переключаю на Use the selected IP address … и бац : комбобокс пустой :(
Не дает сволочь выбрать адрес для выхода на External.
Зато (в юморе MS не занимать!!!) могу выбирать IP-адрес если в Destination выбрать Perimeter.
Ну и что мне делать? :(
Пока в голову приходит только одно – сказать TMG, что нет у меня никакого периметра и он стоит на границе сети … Может MVP-шный мозг что-то лучше придумать сможет ;)
Благодарю за поздравления, примите в свою очередь мои ;)
Честно говоря, мне удивительно, что Вас такое положение вещей удивляет (прошу прощения за тавтологию).
Вы сами выбрали конфигурацию, в которой отношений NAT существует ТОЛЬКО между Внутренней сетью и Периметральной. То есть TMG может контролировать преобразование сетевых адресов в пакетах, проходящих ТОЛЬКО между этими сетями.
А за трансляцию сетевых адресов между Периметральной и Внешней сетями должен отвечать Front Firewall :)
Артем! я не выбирал “конфигурацию, в которой отношений NAT существует ТОЛЬКО между Внутренней сетью и Периметральной”.
Был представлен при установке выбор топологи из нескольких (4-х) вариантов, где каждая была вербально и в картинках описана. Фактически TMG выступает в роли Back firewall, что и было выбрано.
Если посмотреть Network Rules, то там четко прописаны отношения Internal к External как NAT, т.е. такие же как Internal к Perimeter (что собственно разумно, и не понимаю о каком “ТОЛЬКО” идет речь). А вот почему настройки этого правила оказались ущербными я так и не понял.
Отношения Perimeter к External меня вообще не волнуют, как и ТМG :-)
Я сам для себя в этой ситуации сделал вывод (возможно и не верный, попытайтесь переубедить ;), что выбор топологии Back firewall в текущей реализации TMG – чушь полная и не рекомендована к выбору. Она легко заменяется выбором роли Edge и созданием SubNet – с именем Perimeter (или DMZ) и созданием соответствующих правил взаимоотношений с серверами в этой подсети.
Короче, делать сеть Perimeter имеет смысл только в 3-leg топологии.
И еще один вывод: сделав глупость и выбрав при инсталляции Back firewall будете мучительно ручками переводить TMG в режим Edge firewall, т.к. Wizard не может автоматически переконфигурировать шлюз (правда, когда я правил уже 3-й сервер, это у меня заняло не более 5 минут).
С уважением, Сергей
Как здорово, что нам представилась возможность обсудить данную проблему при встрече на еминаре TechDays :)
Сергей, я, как и обещал, постараюсь пообщаться с продуктовой группой насчет доработки пользовательского интерфейса TMG.
Здравствуйте, Артём. Подскажите, пожалуйста, как можно настроить работу сервера SMTP не через IP-адрес по умолчанию, если этот SMTP находится на самом TMG (Microsoft Exchange 2010 – Edge Transport)?