вторник, 24 июля 2012 г.

Проблема с NAT и Web Proxy при использовании TMG 2010 с несколькими сетевыми адаптерами для внутренних сетей

TMG сервер применяет NAT и WebProxy при попытке обратиться по HTTP протоколу от сервера "А", находящемуся в одном сегменте локальной сети, настроенному на сетевом адаптере "А", к Серверу "Б", находящимуся в другом сегменте сети, назначенному сетевому адаптеру "Б".

Все остальные виды трафика успешно маршрутизируются между внутренними сетями без применения NAT и proxy.

Мониторинг трафика на TMG (штатными средствами) и на FreeBSD (с помощью TCPDump) выявил крайне интересную вещь: при обращении к удалённому серверу виртуализации с запросом POST HTTP://192.168.100.31/wsman по 80-му порту из сети 192.168.64.0/24, TMG сервер применял NAT, посылая запрос, используя для пакетов "Исходный адрес" 10.0.0.2. (см. рисунок ниже).


АНАМНЕЗ:

  • Сервер VMM находился в подсети 192.168.64.0/24, расположенной за TMG сервером ( см. правый нижний угол рисунка). TMG смаршрутизирован через сервисную сеть 10.0.0.0/24 с FreeBSD01, которая в свою очередь обслуживает VPN до дочернего офиса, а так же маршрут в сегмент 172.25.1.0/24.
  • Сервер виртуализации находился в удалённом расположении за FreeBSD02 (см. левый верхний угол рисунка)
  • Диапазоны 10.0.0.0/24, 172.25.1.0/20, 192.168.100.0/24 объеденены в сеть TMGtoBSD Service, диапазон 192.168.64.0/24 определён в Internal. Сети находятся в отношениях ROUTE.
  • Весь трафик между внутренними сетями разрешен.
  • Все тесты PING, NSLOOKUP, TRACERT, PATHPING завершались успешно.
  • Все необходимые службы включены и запущены на всех серверах.
  • WSUS сервер из сети 172.25.1.0/24 определил IP адреса серверов из подсети 192.168.64.0/20, как адрес 10.0.0.2; Адреса компьютеров из других подсетей отображаются в консоли WSUS верно.
  • Исключения прокси сервера настроены в TMG для внутренних сетей и на клиентах в свойствах Internet Explorer.





РЕШЕНИЕ:

Вероятнее всего проблема заключалась в штатных веб-фильтрах HTTP протокола.

Необходимо:
  • Создать пользовательский протокол HTTP с используемым портом 80.
  • Создать правило разрешающее весь HTTP трафик пользовательского прототкола во внутренних сетях для всех пользователей.
  • Создать правило запрещающее весь HTTP трафик протокола, определённого в TMG по-умолчанию, во внутренних сетях.
  • Правило разрешающее весь HTTP трафик пользовательского прототкола должно иметь более высокий приоритет.