Использование Microsoft ISA и RRAS для настройки доступа в интернет пользователей находящихся
в разных vlan.
Легенда такова. Имеется плоская сеть, вида 10.0.0.x все пользователи в которой получают
доступ в интернет через ISA сервер.
Теперь усложним условие. Разделим нашу сеть на несколько виланов. Преимущества такого
разделения очевидны, гибкость, безопасность и т.д. При этом, необходимо чтобы пользователи
как и раньше имели доступ в интернет через ISA сервер.
Не будем затрагивать вопрос настройки vlan и маршрутизации между ними, все это описывается
в другой статье.
В результате мы получаем несколько vlan (пускай будет 20 штук), с адресацией вида:
…
10.0.10.x
10.0.11.x
10.0.12.x
…
10.0.20.x
В каждой сети первый адрес (10.0.x.1) является шлюзом по умолчанию
Так как первоначально, при настройке сервера ISA, мы указали в качестве сети Internal
диапазон адресов 10.0.0.0 — 10.0.0.255 наши новые сети не попадают в категорию внутренних
защищенных сетей, и клиенты не смогут получить необходимый доступ к внешней сети. Необходимо
внести изменения в конфигурацию ISA сервера. Открываем оснастку вышеозначенного сервера, в
разделе Networks переходим к конфигурации сетей. Выбираем сеть Internal, в контекстном меню
выбираем ее свойства и на закладке Adresses добавляем новые диапазоны, содержащие наши виланы.
…
10.0.10.0 — 10.0.10.255
10.0.11.0 — 10.0.11.255
10.0.12.0 — 10.0.12.255
…
10.0.20.0 — 10.0.20.255
Теперь все сети у нас прописаны как положено, но доступ в интернет у пользователей пока что
отсутствует. ISA занает какие сети можно пропускать, но так как у него есть только Default
Gateway 10.1.1.1 , который прописан на внешнем интерфейсе, он не знает маршрутов по
которым он может пропускать трафик к этим сетям. Пытаемся с ISA сервера пинговать шлюз
произвольно выбранной сети:
С:\>ping 10.0.15.1
Обмен пакетами с 10.0.15.1 по 32 байт:
Превышен интервал ожидания для запроса.
Заданный узел недоступен.
Статистика Ping для 10.0.15.1:
Пакетов: отправлено = 2, получено = 0, потеряно = 2 (100% потерь),
С:\>
Попутно, при конфигурации дополнительных сетей на ISA сервере, в аллертах мониторинга будет
выведено сообщение об ошибке в конфигурации сервера, опять же, по той причине что нет ни
одного маршрута к указанным сетям.
Таким образом, чтобы у нас все работало так как задумывается, и обеспечить ISA информацией
о необходимых маршрутах нам необходимо на ISA сервере поднять маршрутизацию. Поскольку в сети
уже существует маршрутизация, обеспечивающая прохождение трафика между сетями, мы будем
привязываться к ней. Маршрутизация постоена на протоколе динамической маршрутизации OSPF,
(Open Shortest Path First) следовательно на той физической машине на которой установлен ISA
сервер надо запустить службу RRAS (Routing and Remote Access Service) и настроить в оснастке
RRAS работу протокола OSPF.
Открываем оснастку RRAS, (если она не установлена, добавляем ее через добавление и удаление
ролей сервера в консоли управления сервером). К сожалению, в версии WinServ 2003 64bit
майкрософт перестала поддерживать протокол OSPF и некоторые другие возможности, поэтому
описываемый способ подойдет только для 32 битных машин.
Выбираем в консоли управления наш сервер, в контекстном меню выбираем Настроить и включить
маршрутизацию. Пробегаем по мастеру настройки. Выбираем вариант выборочной настройки (Custom),
ставим галочку напротив пункта маршрутизация LAN и жмем Finish. Раскрываем узел
IP-маршрутизация, в контекстном меню раздела Общие выбираем пункт Новый протокол
маршрутизации. Из предложенных выбираем OSPF и видим что он добавляется в раздел IP
маршрутизации. Теперь надо только его настроить.
Поскольку у нас только одна область для маршрутизации, и все маршрутизаторы находятся в ней,
мы не добавляем никаких новых областей кроме 0.0.0.0. В свойствах области необходимо проверить,
разрешена ли передача пароля открытым текстом. Привязываем к протоколу новый интерфейс
(указываем конечно внутренний). В свойствах интерфейса прописываем пароль по которому наш
маршрутизатор будет связываться со своими соседями и ставим нулевой приоритер маршрутизатора.
На этом этапе мы не сможем увидеть нормальную работу маршрутизаторов, поскольку трафик
которым они обмениваются перехватывается ISA сервером. К сожалению, ни где в системе не видно
явным образом что служебный трафик маршрутизатора отбрасывается исой. На самом деле,
маршрутизатор находящийся там же где установлен ISA не видит ни одного соседствующего
маршрутизатора. Если запустить снифер и посмотреть что происходит с трафиком на внутреннем
интерфейсе маршрутизатора то видно что от соседствующего маршрутизатора приходит правильный
Hello пакет, и видно что наш маршрутизатор так же в свою очередь шлет Hello пакет, но
ожидаемого установления связи не происходит.
Поэтому, возвращаемся в консоль управления ISA сервером и делаем еще пару дополнительных
настроек. В Toolbox необходимо добавить протокол OSPF, поскольку ISA о нем ничего не знает.
При добавлении нового протокола называем его OSPF (чего еще изобретать), в окне Protocol-type
указываем IP-Level, в окне номера протокола ставим 89, Direction выбираем Send Receive.
Теперь в правилах Firewall надо создать правило разрешающее прохождение трафика через ISA
сервер. Называем его например OSPF Access, в качестве сети назначения указываем нашу сеть
Internal и маршрутизатор, в качестве получателя указываем Localhost, подтверждаем что данное
правило действует для всех пользователей.
Готово, теперь прейдя в консоль управления маршрутизатором, в контексте протокола можно
выбрать пунк Показать соседей, после чего мы должны увидеть остальные маршрутизаторы.
При этом можно проконтролировать состояние основного маршрутизатора, должно быть в состоянии
Полный. Проверяем прохождение трафика.
C:\>ping 10.0.15.1
Обмен пакетами с 10.0.15.1 по 32 байт:
Ответ от 10.0.15.1: число байт=32 время<1мс TTL=255
Ответ от 10.0.15.1: число байт=32 время<1мс TTL=255
Ответ от 10.0.15.1: число байт=32 время<1мс TTL=255
Ответ от 10.0.15.1: число байт=32 время<1мс TTL=255
Статистика Ping для 10.0.15.1:
Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),
Приблизительное время приема-передачи в мс:
Минимальное = 0мсек, Максимальное = 0 мсек, Среднее = 0 мсек
C:\>
Настройка закончена. После этих операций все наши виртуальные ЛВС, которые прописанны на
ISA могут спокойно выходить в интернет.