Установка IPAM в Windows Server 2016

IPAM — IP Address Management — набор инструментов, входящих в состав Windows Server и предназначенный для централизованного управления инфраструктурой IP адресов. Он позволяет собирать информацию и управлять DNS серверами и зонами, DHCP серверами и IP областями, собирать логи с контроллеров домена, Network Policy серверов.

IPAM впервые появился в Windows Server 2012 и с этого времени претерпел существенные изменения.

Развитие функционала IPAM:

Интересная таблица сравнения Windows Server IPAM с основными конкурентами: DDI_Competitor_analysis_2016

Краткий обзор функционала IPAM в Windows Server 2016

Ключевой функционал IPAM можно описать следующей схемой:

IPAM в составе Windows Server 2016 позволяет:

  • Управлять IP адресами (информация свободен/занят, резервация, ассоциация с FQDN, настройка жизненного цикла)
  • Управлять DNS и DHCP серверами в нескольких лесах Active Directory
  • Настраивать DHCP серверы
  • Создавать, настраивать и управлять DHCP областями и опциями
  • Настраивать DHCP Failover
  • Настраивать DNS серверы
  • Создавать, настраивать и управлять DNS зонами и записями, как AD интегрированными, так и зонами в файлах
  • Хранение истории использования динамических и статических адресов
  • Интеграция с SCVMM позволяет управлять IP адресами виртуальной инфраструктуры
  • Поддержка Role Based Access Control (управление доступом на основе ролей)

Архитектура

IPAM состоит из следующих компонент:

  • IPAM клиент — компьютер под управлением ОС Windows 8 или новее, Windows Server 2012 или новее. Клиент взаимодействует с IPAM сервером по протоколу Windows Communication Foundation (WCF) по порту TCP 48885.
  • IPAM сервер — сервер — член домена Active Directory под управлением Windows Server 2016. IPAM сервер взаимодействует с управляемыми серверами, IPAM клиентами и базой данных IPAM.
  • База данных IPAM — Windows Internal Database (WID) или SQL Server Enterprise
  • Запланированные задания (Scheduled Tasks) — Используются IPAM сервером для сбора статистических данных с управляемых серверов в определённые промежутки времени
  • Управляемые серверы (Managed Servers) — контроллеры домена, NPS, DNS, DHCP серверы под управлением Windows Server 2008 или новее.

На следующей схеме показан вариант использования одного IPAM сервера для управления DNS/DHCP/NPS/DC/VMM в разных лесах:

Максимальная конфигурация

Один IPAM сервер может поддерживать до 150 DHCP серверов или 40 000 областей. До 500 DNS серверов или 350 зон. Один IPAM сервер может хранить собираемые данные (кто получал аренду адреса, когда; информацию о входе пользователей в систему) для 100 000 пользователей в течении 3 лет, используя Windows Internal Database. WID не поддерживает политики очистки, поэтому администратору придётся очищать данные из WID вручную по мере необходимости.

Ограничения

  • IPAM сервер должен быть установлен на сервере, входящем в домен Active Directory
  • IPAM поддерживает только контроллеры домена, серверы DHCP, DNS и NPS под управлением Windows Server 2008 и выше
  • IPAM нельзя устанавливать на контроллеры домена
  • Следует избегать установки IPAM на DHCP/DNS серверах. Например, если IPAM установлен на DHCP сервере, то обнаружение DHCP будет отключено.
  • IPAM не может управлять сторонними продуктами. Только Windows DNS, Windows DHCP.
  • Нет интеграции с Azure
  • IPAM не поддерживает DNSSEC
  • IPAM не масштабируется. Можно разместить базу данных IPAM в кластере SQL, но добавить дополнительный IPAM сервер к этой же базе данных нельзя.
  • IPAM поддерживает только выпуск Enterprise SQL Server
  • IPAM не проверяет согласованность IP-адресов с маршрутизаторами и коммутаторами.

Топологии развёртывания IPAM

  • Централизованная — один IPAM сервер на всю организацию. Поскольку 1 IPAM сервер может управлять достаточно большим количеством управляемых объектов, то большинству организаций достаточно одного сервера.
  • Распределённая — в каждом регионе или филиале свой IPAM сервер. Подходит для тех случаев, когда в каждом регионе или филиале развитая инфраструктура с большим количеством DHCP/DNS серверов и со своим отделом поддержки, которому можно делегировать управление этим сервером.
  • Гибридная — центральный IPAM сервер в связке с региональными или филиальными IPAM серверами. IPAM сервер безагентный, он не берёт монопольно под свой контроль DHCP или DNS серверы. Можно иметь несколько IPAM серверов, управляющих одними и теми же DNS, DHCP серверами. Поэтому можно настроить центральный IPAM, который будет «видеть и знать» всё, что происходит в организации, включая регионы и отдельные IPAM для регионов, которые будут управлять только региональной инфраструктурой.
    Базовая схема гибридной топологии выглядит следующим образом:

Взаимодействие с управляемыми серверами

Управляемые серверы должны быть Windows Server 2008 или новее.

IPAM сервер взаимодействует с управляемыми / контролируемыми серверами на периодической основе используя следующие технологии удалённого управления:

IPAM клиент

IPAM клиент — это компьютер Windows Server или Windows 10 с установленными RSAT, который подключается к серверу IPAM. IPAM сервер поддерживает множественные конкурентные подключения от разных IPAM клиентов. Но IPAM клиент не поддерживает одновременные подключения к нескольким IPAM серверам и может подключаться только к одному IPAM серверу.

Для Windows 10 теперь есть несколько версий RSAT

В разделе рекомендаций сказано:
When to use WS_1803 RSAT Package: When managing Windows Server, version 1803 or Windows Server, version 1709
When to use WS2016 RSAT Package: When managing Windows Server 2016 or previous versions

Т.е. для управления серверами 2016 и предыдущими нужно устанавливать пакет WS2016 RSAT. Для управления серверами 1709, 1803 — WS_1803 RSAT

Причём, в русской версии страницы загрузки RSAT, этой рекоммендации на момент написания статьи нет.

Ещё одно важное замечание. На момент написания статьи Windows 10 1803/1709 не могут подключиться к IPAM серверу, т.к. при подключении IPAM требует установить IPAM клиент, хотя тот уже установлен:

Пока для подключения к IPAM серверу следует использовать Windows 10 1607, 1703 или Windows Server 2016 с установленным IPAM клиентом. Об этом также написано на странице загрузки RSAT на англ. языке:

Issue: IPAM in Server Manager prompts to install even though IPAM is already installed
Impact: IPAM users on Windows 10 1803/1709 (April 2018 Update/Fall Creators Update)
Resolution: Use IPAM from an RSAT package installed on Windows 10 1607 (Anniversary Update) or 1703 (Creators Update)

Установка IPAM клиента на Windows Server 2016:

Системные требования

IPAM сервер должен быть членом домена Active Directory. Установка в рабочей группе не поддерживается. Установка на контроллере домена также не поддерживается.

Не рекомендуется совмещать какие-либо серверные роли с IPAM.

IPAM сервер можно установить на Server Core.

Минимальные и рекомендуемые требования к аппаратному обеспечению сервера следующие:

Компонент Требования
Процессор Минимум: 1.4 GHz (x64 processor)

Рекомендуется: quad-core, 2.66 GHz

Память

Минимум: 2 GB RAM

Рекомендуется: 4 GB RAM или больше

Диск Минимум: 10 GB

Рекомендуется: 80 GB или больше

Конечно, это лишь ориентировочные показатели — отправная точка, конкретные требования будут зависеть от размера управляемой инфраструктуры и количества IPAM клиентов.

Если количество управляемых IP подсетей /24 для IPv4 и /64 для IPv6 меньше 20 000, то можно обойтись одним IPAМ сервером, в противном случае рекомендуется использовать несколько серверов.

Более детальная информация по планированию: IPAM Deployment Planning

База данных IPAM может размещаться как в WID, так и в полноценном SQL Server. В данной статье я рассмотрю установку IPAM сервера на Windows Server Core с базой данных на выделенном SQL сервере.

Подготовка SQL базы данных IPAM

IPAM поддерживает только выпуск Enterprise SQL Server!

Данный шаг необходим, если вы решили использовать отдельный SQL сервер для размещения базы данных IPAM сервера. Для небольших развёртываний вполне подходит предлагаемый по умолчанию вариант с использованием WID, т.к. база данных действительно очень мала. Использование отдельного SQL сервера оправдано, если есть особые требования к отказоустойчивости и резервному копированию базы данных IPAM.

Подробную информацию по вариантам настройки базы данных для IPAM сервера см. в https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/dn758115(v%3dws.11)

Для подключения к базе данных я буду использовать Windows аутентификацию, поэтому создадим аккаунт для учётной записи компьютера IPAM сервера. Также создадим базу данных IPAM_DB:

CREATE LOGIN [contoso\IPAM$] FROM WINDOWS 
CREATE DATABASE IPAM_DB 
GO 
USE IPAM_DB 
CREATE USER IPAM FOR LOGIN [contoso\IPAM$] 
ALTER ROLE DB_OWNER ADD MEMBER IPAM 
USE MASTER 
GRANT VIEW ANY DEFINITION TO [contoso\IPAM$]

Команды можно выполнить в sqlcmd или в SSMS. В SQL Server Management Studio (SSMS) нужно открыть редактор запросов:

Вставляем сценарий в окно редактора запросов:

Не забываем изменить [contoso\IPAM$] на учётную запись своего IPAM сервера и запускаем выполнение запроса:

Проверяем успешность выполнения сценария:

Установка IPAM сервера

Для удобства дальнейшего управления сервером Server Core я включаю следующие правила брандмауэра:

Enable-NetFirewallRule -DisplayName "Windows Management Instrumentation (DCOM-In)"
Enable-NetFirewallRule -DisplayGroup "Remote Event Log Management"
Enable-NetFirewallRule -DisplayGroup "Remote Service Management"
Enable-NetFirewallRule -DisplayGroup "Remote Volume Management"
Enable-NetFirewallRule -DisplayGroup "Windows Firewall Remote Management"
Enable-NetFirewallRule -DisplayGroup "Remote Scheduled Tasks Management"
Enable-NetFirewallRule -DisplayGroup "Windows Management Instrumentation (WMI)"
Enable-NetFirewallRule -DisplayGroup "File and Printer sharing"

Устанавливаем IPAM сервер:

Install-WindowsFeature IPAM -IncludeManagementTools

Подготовка к работе (Provisioning)

Запускаем Server Manager из состава RSAT или с любого удобного сервера, на котором установлен IPAM клиент и добавляем наш сервер. В левой панели появится соответствующий пункт:

В открывшемся разделе задач подключаемся к IPAM серверу:


Дожидаемся информации об успешном подключении:

Запускаем мастер подготовки IPAM-сервера: 

В разделе настройки базы данных выбираем вариант использовать WID или SQL Server:

Указываем учётные данные с которыми IPAM сервер будет подключаться к базе данных:

Далее необходимо выбрать метод настройки управляемых серверов (DNS, DHCP, NPS серверов, контроллеров домена). Мастер может автоматически создать нужные объекты групповой политики, чтобы все параметры были настроены без нашего участия. Это отличная возможность, т.к. экономит уйму времени. Префикс GPO должен быть уникальным для каждого сервера IPAM в лесу Active Directory, если таких серверов несколько. В моём случае установлен один IPAM сервер, поэтому префикс GPO будет просто соответствовать имени сервера IPAM.

Проверяем все введённые параметры на сводной странице и нажимаем «Применить»:

Если IPAM сервер должен управлять серверами в других доменах, то необходимо вручную выполнить создание объектов GPO для таких доменов с помощью Invoke-IpamGpoProvisioning.

После завершения работы мастера объекты GPO не создаются, по крайней мере на момент написания статьи. Поэтому создаём политики вручную. На сервере IPAM запускаем:

Invoke-IpamGpoProvisioning -domain contoso.com -gpoprefixname IPAM -Ipamserverfqdn ipam.contoso.com

Скорее всего, мастер спотыкается на предупреждении, которое получает в ответ на свою попытку удалить Authenticated Users из создаваемого объекта GPO. Напомню, что логика работы GPO была изменена в 2016 году и теперь для применения пользовательской части каждый компьютер должен иметь разрешение на чтение политик. Т.е. удалять Authenticated Users из ACL GPO теперь некорректно, о чём, видимо, забыли разработчики IPAM. При ручном запуске Invoke-IpamGpoProvisioning мы имеем возможность подтвердить удаление Authenticated Users из создаваемых объектов:

Политики назначаются на уровне домена и после добавления управляемых серверов в IPAM их учётные записи будут автоматически добавлены в ACL созданных объектов GPO с разрешением Apply GPO.

Возвращаем разрешение Read для Authenticated Users на каждый созданный объект GPO:

Запускаем мастер обнаружения серверов:

В открывшемся мастере нажимаем кнопку «Get Forests«, которую смогли перевести как «Леса Get» на русский 🙂

Закрываем мастер и снова открываем его, чтобы выбрать нужный лес и домен. Сразу почему-то они не отображаются.

Выбираем необходимые лес и домен и нажимаем кнопку «Добавить«:

Проставляем галочки нужных серверов для обнаружения и нажимаем OK:

Следующим шагом запускаем непосредственно обнаружение серверов:

Ход обнаружения отобразится в Server Manager. Дожидаемся завершения обнаружения:

После завершения обнаружения переходим к пятому шагу:

Откроется перечень обнаруженных серверов:

Для каждого сервера, которым мы хотим управлять необходимо изменить статус управляемости. Это можно сделать как для отдельного сервера, так и для групп серверов:

Статус серверов изменился на «Управляемый»:

Откроем GPMC и проверим состояние делегирования созданных ранее политик. Как видим, в ACL были добавлены соответствующие учётные записи управляемых серверов:

Доступ к управляемым серверам IPAM получит как только серверы применят групповую политику. Можно ускорить этот процесс, выполнив на управляемых серверах  gpupdate /force

Для DHCP серверов необходим перезапуск службы DHCP после применения политик.

Обновим статус серверов после применения политик:

После завершения этой задачи и обновления консоли управляемые сервера должны стать доступны, но, как и в WS 2012, 2012 R2 на данном этапе бывают проблемы. В политиках создаются правила брандмауэра, создаются задания по запуску сценария ipamprovisioning.ps1 в планировщике задач. Часто встречается проблема с запуском этого сценария.

Если проблема связана с настройками, которые выполняет сценарий ipamprovisioning.ps1 (создание общих папок, добавление группы IPAMUG в локальные группы управляемого сервера), то его можно попробовать запустить вручную с повышением привилегий. Параметры запуска и расположение сценария можно посмотреть в групповой политике для конкретного типа управляемых серверов или в планировщике задач, где соответствующая GPO создаёт задание на запуск этого сценария.
Пример ручного выполнения сценария ipamprovisioning.ps1 на DHCP сервере:

Как видно, проблема с запуском в данном случае была связана с тем, что файл ipamprovisioning.ps1 который мы запускаем по UNC пути считается полученным из Интернет. И сценарий при запуске через планировщик просто ожидает подтверждения выполнения.
Internet Explorer в режиме «Enhanced Security Configuration» по умолчанию не доверяет ни одному UNC пути, в этом случае нужно добавить имя домена *.contoso.com, с которого начинается UNC путь в Доверенные сайты (Trusted Sites) Internet Explorer:

Сделать, конечно, это лучше с помощью GPO на все серверы.

Также встречал проблему с доступом IPAM к NPS серверу после применения GPO и создания соответствующих правил брандмауэра. Для разблокировки NPS, вручную добавляю группу IPAMUG в локальную группу Event Log Readers.

Возникающие проблемы можно диагностировать поэтапно согласно документации по ручной настройке управляемых серверов. Т.е. проверить все ли условия были выполнены в автоматическом режиме.
Для DHCP серверов: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj878311(v%3dws.11)
Для DNS серверов: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj878346(v%3dws.11)
Для Контроллеров домена и NPS: https://docs.microsoft.com/en-us/previous-versions/windows/it-pro/windows-server-2012-R2-and-2012/jj878317(v%3dws.11)
Документация по ручной настройки относится к Windows Server 2012 R2, Windows Server 2012, но в 2016, я полагаю, процедуры не сильно изменились и для понимания выполняемых настроек она пригодится.

Также см. статью IPAM: Управление адресным пространством

 

 

Добавить комментарий