Tuesday, December 1, 2009

Усовершенствования Windows Server 2008 R2: сервер DHCP


Сервер DHCP (Dynamic Host Configuration Protocol) предоставляет одну из наиболее востребованных функций в IP-сетях любого масштаба и развитости – функцию предоставления клиентам параметров конфигурации протокола IP и других параметров, необходимых клиентам для обнаружения и взаимодействия с сетевыми службами. Новая версия операционной системы Windows Server 2008 R2 привносит в свою реализацию сервера DHCP не только некоторые улучшения функционала ранних версий, но, что удивительно, и новый функционал.




Производительность.
Служба DHCP в Windows Server использует Microsoft Extensible Storage Engine (ESE, также известный как база данных JET) в качестве посредника хранения данных (конфигурации, списков резервирования, журналов аренды и пр.). Одной из возможностей ESE является возможность кэширования, позволяющая размещать в оперативную память избранные страницы или всю базу данных целиком, что существенно уменьшает время выборки и нивелирует зависимость между обращением к файлам базы и очереди к накопителю данных. Служба DHCP в Windows Server 2008 R2 использует эту возможность по умолчанию, задействовав режим «autotune cache», который указывает ESE, по возможности, загружать как можно больше страниц базы данных DHCP в оперативную память.
Такой механизм работы вызывает увеличение потребления оперативной памяти процессом, ассоциированным с сервером DHCP, например, в моменты обращения к журналу аренды с целью поиска соответствия или создания в этом журнале новой записи. В ситуации, когда сервер DHCP обслуживает запросы сотен клиентов в минуту и обладает журналом аренды для тысяч клиентов[i], размер оперативной памяти, выделяемой под эти нужды, может достигать сотен мегабайт. С целью предотвращения излишне агрессивного использования ресурса оперативной памяти, предусмотрена возможность определения максимально допустимого размера (в МБ), выделяемого для кэширования базы данных сервера DHCP: в разделе системного реестра, хранящего параметры службы DHCP[ii], можно задать параметр «JetDatabaseMaxCacheSize» (тип DWORD).
MAC-фильтрация.
Windows Server 2008 R2 привносит новый функционал в службу DHCP – фильтрацию клиентов по MAC адресам (MAC Based Filtering). Этот функционал предоставляет дополнительную возможность администраторам контролировать распределение адресного пространства по запросу от клиентов на основе протокола DHCP без необходимости обновления коммутирующего или клиентского оборудования.
В основе механизма MAC-фильтрации лежат разрешающий и запрещающий списки соответствия MAC адресов («issuance» и «denial» списки). Список может содержать как полностью определенный MAC адрес (конкретного сетевого адаптера), так и маску MAC адреса[iii], что позволяет управлять разрешениями обобщенно.
Как это работает?
Сервер DHCP обращается к спискам MAC фильтра при получении им сообщений (инспекции подвержены сообщения “Discover”, “Inform”, “Renew” и “Rebind”) от клиентов. В случае если сообщение исходит от клиента с MAC адресом, подпадающим под запись в запрещающем списке, DHCP сервер не выполняет обслуживание этого клиента (не отвечает ему). Если клиент подпадает под действие запрещающего списка на основе маски, но запись с его MAC адресом содержится в списке разрешающем, то обслуживание клиента осуществляется. В случае если MAC адрес клиента явно указан в запрещающем списке, то обслуживание клиента не осуществляется, вне зависимости от наличия соответствующей записи в списке разрешающем, т.е. явный запрет имеет абсолютный приоритет.
dhcpfilter-pic01
Как это использовать?
Важно понимать, что фильтрация на основе MAC адреса на сервере DHCP не может считаться действенным механизмом защиты доступа к сети! Данный функционал оправдан и рекомендован к использованию лишь как вспомогательное средство в сценариях, предполагающих применение ограничения в обслуживании службой DHCP доверенных узлов сети.
Управлять функционалом MAC-фильтрации можно из консоли управления сервером DHCP («DHCP Server», «dhcpmgmt.msc»): узел «Filters» («Фильтры»), а наблюдать за ее работой можно в журнале событий[iv].
Материалы по теме.
Основные сведения о протоколе DHCP
[i] Такой сценарий типичен, например, для распределенных множественных точек доступа к сети, предоставляющих своим клиентам возможности авто-конфигурирования их сетевых интерфейсов с помощью центрального сервера DHCP.
[ii] Путь в системном реестре:
«HKLM\SYSTEM\CurrentControlSet\Services\DHCPServer\Parameters».
[iii] Маска может содержать лишь один и только завершающий «wildcard».
Пример: «1A-2B-3C-*».
[iv] Event Viewer: Applications and Services Logs\ Microsoft\ Windows\ DHCP Server.