Глава 8

Параметры настройки сети в реестре

Настройка сети в Windows XP в основном основана на тех же функциональных возможностях, которые обеспечивались в Windows 2000. Это относится к построению локальных сетей, возможности коммутируемого и удаленного подключения. Как и в Windows NT 4.0/2000, установка базовых параметров настройки сети в Windows XP происходит во время инсталляции операционной системы. При этом большинство проблем связано именно с сетевыми адаптерами компьютеров. Многие недостатки Windows NT 4.0/2000, справедливо вызывавшие нарекания пользователей, были устранены в Windows XP, чего нельзя сказать о проблеме неправильного распознавания сетевых адаптеров во время установки — эта проблема в Windows XP по-прежнему может возникать. При этом возможность отказаться от автоматического распознавания сетевого адаптера в процессе инсталляции пользователю не предоставляется.

Во всех подобных случаях применяется общеизвестный выход из положения: операционная система устанавливается без сетевого адаптера (его следует физически удалить из компьютера), затем, когда установка операционной системы успешно завершится, следует добавить сетевые адаптеры с помощью утилиты Установка и удаление программ (Add/Remove Hardware), а потом произвести установку сетевых компонентов.

 

Установка сетевых компонентов с помощью утилит Панели управления

По мере добавления сетевых компонентов и конфигурирования параметров настройки сети, в реестр Windows NT/2000/XP добавляются новые ключи и параметры. Тем не менее, прежде, чем мы раскроем редактор реестра и углубимся в детали, давайте рассмотрим наиболее простые методы установки сетевых параметров и компонентов. В Windows NT 4.0, как известно, для выполнения этой задачи предназначалась утилита Сеть (Network) из Панели управления (Control Panel). Раскрывающееся при этом диалоговое окно Сеть (Network) имеет 5 вкладок:

 

Рис. 8.1. Окно Сетевые подключения

В Windows 2000 для конфигурирования сетевых компонентов служит утилита Сеть и удаленный доступ к сети (Network and Dial-up Connections), а в Windows XP — утилита Сетевые подключения (Network Connections), которые объединяют функциональные возможности двух независимых утилит из Панели управления (Control Panel) существовавших в Windows NT 4.0: Сеть (Network) и Удаленный доступ (Dial-up Connections). Вызов утилиты Сетевые подключения (Network Connections) из Панели управления (Control Panel) в Windows XP раскрывает одноименное окно (рис. 8.1).

 Примечание 

Некоторые условия, такие как неисправности сетевой карты, могут препятствовать появлению значка подключения к сети в папке Сетевые подключения (Network Connections).

Обратите внимание, что появление значка Подключение по локальной сети (Local Area Connection) в этом окне изменяется в соответствии со статусом соединения. Изначально, если компьютер не определяет сетевой адаптер, то значок подключения к локальной сети не будет отображаться в папке Сетевые подключения (Network Connections). Возможные состояния соединений в локальной сети и соответствующие этим состояниям значки представлены в табл. 8.1.

Таблица 8.1. Значки состояния соединения в локальной сети

Значок

Описание

Сетевой адаптер установлен правильно и обнаружен (распознан) компьютером. Связь с локальной сетью установлена (соединение с сетью активно)

Сетевой адаптер физически присутствует, однако кабель отсоединен от компьютера

Кабель отсоединен от компьютера или хаба. Этот значок появляется на панели задач одновременно с предыдущим значком

Сетевой адаптер присутствует в системе, однако его драйвер отключен

Нет

Сетевой адаптер не обнаружен

Чтобы просмотреть или модифицировать параметры настройки сети, выполните щелчок правой кнопкой мыши на значке Подключение по локальной сети (Local Area Connection), и в контекстном меню выберите команду Свойства (Properties). На экране появится диалоговое окно Подключение по локальной сети - свойства (Local Area Connection Properties) — рис. 8.2. Расположенное в верхней части этого окна поле Подключение через (Connect using) указывает сетевой адаптер, используемый для подключения к локальной сети. Пользователь может конфигурировать сетевые адаптеры, нажав расположенную ниже этого поля кнопку Настроить (Configure). Следует отметить, что таким образом можно только настроить уже установленные сетевые адаптеры, а добавление новых сетевых адаптеров следует производить при помощи утилиты Установка и удаление программ (Add/Remove Hardware) из Панели управления (Control Panel). Диалоговое окно, которое раскрывается при нажатии кнопки Настроить (Configure), полностью соответствует окну свойств сетевого адаптера, открываемому при использовании Диспетчера устройств (Device Manager) — рис. 8.3. Это окно позволяет только сконфигурировать свойства сетевого адаптера, для которого уже установлен драйвер.

Рис. 8.2. Диалоговое окно Подключение по локальной сети - свойства

В списке Отмеченные компоненты используются этим подключением (This connection uses the following items) перечислены сетевые протоколы и сервисы, используемые данным сетевым адаптером, а кнопки Установить (Install), Удалить (Uninstall) и Свойства (Properties) позволяют установить, удалить или сконфигурировать сетевые протоколы и сервисы.

Расположенный в нижней части окна флажок При подключении вывести значок в области уведомлений (Show icon in notification area when connected) — см. рис. 8.2 — позволяет задать режим, при котором статус соединения с локальной сетью можно просмотреть с помощью индикатора, расположенного на панели задач (рис. 8.4).

Рис. 8.3. Диалоговое окно свойств установленного сетевого адаптера

Рис. 8.4. Индикатор на панели задач позволяет отображать статус соединения с локальной сетью

Как уже говорилось, утилиты Сеть и удаленный доступ к сети (Network and Dial-up Connections) в Windows 2000 и Сетевые подключения (Network Connections) в Windows XP объединяют функциональные возможности утилит Сеть (Network) и удаленный доступ (Dial-up Connections), существовавших в Windows NT 4.0. Это внешнее изменение отражает тот факт, что в реализацию таких компонентов сетевой подсистемы Windows 2000/XP, как сервис удаленного доступа (RAS, Remote Access Service) и DUN (Dial-up Networking) был внесен ряд усовершенствований, перечисленных ниже.

 

Рис. 8.5. Программа Мастер новых подключений предоставляет пошаговые инструкции по установлению и конфигурированию сетевых соединений

Рис. 8.6. Программа Мастер новых подключений позволяет устанавливать сетевые соединения разнообразных типов

 

Рис. 8.7. Включение брандмауэра подключения к Интернету

Кроме этих функций в Windows XP есть несколько усовершенствований.

 

Сетевые параметры в реестре Windows NT 4.0

При установке сетевых компонентов в реестр добавляется соответствующая информация. Каждый из сетевых компонентов представлен в двух областях реестра:

Последующие разделы описывают общую организацию и содержимое регистрационной информации программного обеспечения и сервисов сетевых компонентов. Далее приводятся сведения о привязке сетевых компонентов и обработке зависимостей (dependency handling).

 

Типы сетевых компонентов в реестре Windows NT 4.0

В табл. 8.2 описаны типы сетевых компонентов.

Таблица 8.2. Типы сетевых компонентов

Тип компонента

Описание

Adapter

Адаптер. Представляет собой физическое устройство

Driver

Драйвер. Программный компонент, непосредственно ассоциированный с физическим устройством

Transport

Транспорт. Программный компонент, используемый сервисами

Service

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

Basic

Маркер, используемый для представления имени фундаментального класса (т. е. класса, не имеющего родителя)

 

Установка сетевых компонентов в реестре Windows NT 4.0

Установка сетевых компонентов любого типа создает в реестре Windows NT 4.0 вложенные ключи как для сервисов, так и для сетевого программного обеспечения. Следовательно, установка единственного сетевого компонента обычно приводит к созданию в реестре следующих вложенных ключей:

 

Регистрационная информация программного обеспечения для сетевых компонентов

Поскольку установка карты сетевого адаптера приводит к созданию в реестре отдельных элементов для драйвера и для самого адаптера, ключ Software должен содержать несколько вложенных ключей, описывающих сетевой компонент. Для каждого сетевого компонента в ключах регистрации соответствующего драйвера и адаптера создается специальный вложенный ключ с именем NetRules, который идентифицирует сетевой компонент как часть общего комплекса сетевых средств.

К примеру, стандартный регистрационный элемент для драйвера Etherlink II содержится под ключом HKEY_LOCAL_MACHINE\Software\Microsoft \Elinkii \CurrentVersion.

Стандартные параметры для драйвера могут включать следующее:

Description = 3Com Etherlink II Adapter Driver 
  InstallDate = 0x2a4e01x5 
 RefCount =0x1 
  ServiceName = Elnkii 
 SoftwareType = driver 
 Title = 3Com Etherlin II Adapter Driver

Вложенный ключ NetRules, ассоциированный с драйвером Etherlink II, может содержать такие параметры:

bindable = elnkiiDriver  elnkiiAdapter тon exclusive  
  bindform = "ElnkllSys" yes no container 
  class = REG_MULTI_SZ "elnkiiDriver basic" 
  Infname = OEMNADE2.INF  
  InfOption = ELNKII 
 type = elnkiiSys ndisDriver elnkiiDriver 
  use = driver 

Параметры вложенных ключей NetRules определены в разделах справочной системы Windows NT, посвященных реестру. Информация, относящаяся к основным значимым элементам для сетевых адаптеров и драйверов, поддерживается системой, и пользователи не должны вносить изменения в эти значения. Сам адаптер Etherlink описывается ключом Networkcards, расположенным под ключом HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\Current Version\NetworkCards\Wetcard#.

Стандартные параметры для адаптера могут выглядеть следующим образом:

Description = 3Com Etherlin II Adapter Driver 
 InstallDate = 0x2a4e01x5 
 Manufacturer = Microsoft 
 ProductName = Elnkii 
 ServiceName = Elnkii.02 
 Title = [01] 3Com Etherlink II Adapter 

 

Регистрационная информация сервисов для сетевых компонентов

Ключ реестра HKEY_LOCAL_MACHINE\system\currentcontroiset\services представляет собой регистрационную область для сервисов (в т. ч. и для сетевых сервисов), где содержится информация, используемая при их загрузке в память. Ключи реестра, расположенные в составе этого ключа, содержат сведения, необходимые для загрузки сервиса, в том числе местоположение исполняемого файла, тип сервиса, критерии его запуска и т. д.

Регистрационные данные программного обеспечения каждого из сетевых компонентов, описание которых было приведено в предыдущем разделе, в обязательном порядке содержат параметр ServiceName, значение которого представляет собой имя сервиса соответствующего сетевого компонента. Это имя используется как символическая ссылка на параметры данного сервиса, расположенные В составе ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentContrclSet\ Services\<ServiceWame>.

Некоторые сетевые компоненты фактически представляют собой не один сервис, а целый их набор. Каждый из таких сервисов имеет собственный вложенный ключ в составе ключа реестра HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlset\services. Как правило, в составе такого сетевого компонента имеется так называемый "главный" сервис, от которого зависят все остальные сервисы набора.

Проиллюстрируем сказанное, продолжив рассмотрение примера, приведенного в предыдущем разделе. Параметр serviceName для драйвера адаптера Etherlink имел значение Einkii. В составе ключа HKEY_LOCAL_HACHINE \SYSTEM\CurrentcontrolSet\services обязательно появится вложенный ключ с этим именем, и информация этого ключа будет определять путь к файлу драйвера, зависимые сервисы (dependencies), а также другие сведения, необходимые для запуска. В составе ключа Elnkii помимо параметров могут находиться и другие вложенные ключи, которые определяют параметры и правила привязки для этого драйвера.

Для адаптера Etherlink параметр ServiceName имел значение Einkii02, которое также появляется в качестве вложенного ключа в составе ключа Services. Этот ключ определяет правила привязки и физические параметры сетевого адаптера, например, используемый им адрес ввода/вывода и номер прерывания. Установка этих параметров сетевого адаптера осуществляется на вкладке Адептеры (Adapters) окна Сеть (Network).

 

Привязка сетевых компонентов

Чтобы сетевое программное обеспечение компьютера функционировало надлежащим образом, в память должны быть загружены все необходимые программные компоненты. Кроме того, должны быть установлены соответствующие связи между ними и другими компонентами. Эти взаимосвязи часто называются привязкой (binding). Чтобы установить оптимальный набор привязок между различными сетевыми компонентами, система ищет в реестре следующую информацию:

В процессе запуска системы выполняется просмотр ключа HKEY_ LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services в поисках информации о привязках для каждого сервиса. Если такая информация найдена, то в составе вложенных ключей, характеризующих сетевые компоненты, будут созданы вложенные ключи Linkage, в составе которых и будет сохранена эта информация. К примеру, в качестве данных параметра Bind, расположенного в ключе HKEY_LOCAL_MACHINE\SYSTEM\ CurrentCcntrolSet\Services\LanmanWorkstation \Linkage может содержаться следующая строка:

  Bind\Device\Nbf_Elnkii01\Device\Nbf_Elnkii02

Параметр Bind описывает информацию привязки, используемую редиректором Windows NT, если на компьютере установлены два сетевых адаптера. В этом случае к символическому имени адаптера добавляется в качестве индекса номер сетевой карты. Это имя присоединяется к имени транспорта, через который осуществляется доступ к сетевой карте. Имена генерируются системой в соответствии с ограничениями, налагаемыми правилами, действующими в отношении сетевых компонентов.

Привязки подчиняются требованию применимости (usability), которое означает, что эта процедура должна завершаться либо адаптером, который представляет собой физическое устройство, либо логической конечной точкой (logical endpoint), которая может представлять собой программный компонент, управляющий всеми дальнейшими информационными взаимодействиями. Это требование позволяет избежать загрузки ненужных программных компонентов. Например, пользователь может работать в сети, а затем принять решение об удалении сетевой карты. Без ограничения применимости привязки продолжают соединять между собой компоненты и требовать их загрузки, несмотря на то, что без сетевого адаптера это совершенно бесполезно. Приведенный ниже пример показывает, как работают программные компоненты Nbf.sys и Srv.sys в комплексе с двумя сетевыми адаптерами Etherlink II и одним адаптером IBM Token Ring. Ключ HKEY_LOCAL_MACHINE \SYSTEM\CurrentControlSet\Services\Nbf\Linkage содержит следующие параметры:

Bind = "Device\ElnkII1"      
  "Device\ElnkII2"  
 "DeviceMbmTokl1
 Export = "\Device\Nbf\ElnkII1"      
  "\Device\Nbf\ElnkII2" 
  "\Device\Nbf\IbmTok1"      
 Route = "ElnkllSys      Elnkll1" 
 "ElnkllSys ElnkII2" 
 "IbmtokSys IbmTok1"      

 В ключе HKEY_LOCAL_MIACHINE\SYSTEM\ CurrentControlSet\Services\Srv\Linkage могут присутствовать следующие значения:

Bind = "Device\Nbf\ElnkII1"      
 "Device\Nbf\ElnkII2" 
  "Device\Nbf\IbmTokl1
 Export = "\Device\Srv\Nbf\ElnkII1"      
  "\Device\Srv\Nbf\ElnkII2"  
 "\Device\Srv\Nbf\IbmTok1"      
 Route = "Nbf ElnkllSys      Elnkll1"  
  "Nbf ElnkllSys ElnkII2" 
  "Nbf IbmtokSys      IbrnTok1" 

Имена в параметрах Bind и Export строятся на основании имен объектов, определенных в ключах NetRuies для соответствующих компонентов. Следовательно, эти параметры могут отличаться от фактических имен сервисов, хотя в приведенном примере, для упрощения восприятия, они совпадают. Имена, содержащиеся в параметре Route, представляют собой имена вложенных ключей ключа services, включая полный нисходящий маршрут по иерархии привязки протокола.

Когда система завершает процедуру привязки для сетевых компонентов, и результаты ее выполнения сохраняются в реестре, может возникнуть необходимость проинформировать некоторые сетевые компоненты о внесенных изменениях. К примеру, TCP/IP может потребовать ввода IP-адреса для каждого вновь сконфигурированного сетевого адаптера. Если ключ NetRuies для сетевого компонента содержит параметр Review, который имеет ненулевое значение, то INF-файл для этого сетевого компонента будет проверяться всякий раз после изменения привязок.

 

Обработка зависимостей для сетевых компонентов

Сервисы могут зависеть от других сервисов и драйверов, а те в свою очередь — от следующих драйверов и сервисов и т. д. Система может устанавливать перечисленные ниже типы зависимостей:

 

Специфические зависимости

Специфическая зависимость (specific dependency) представляет собой просто имя необходимого сервиса. По умолчанию система генерирует явные имена для всех зависимых сервисов, обнаруженных в процессе генерирования привязок. Специфические зависимости помечаются в реестре значением Use, которое в этом случае появляется в составе ключа NetRules соответствующего компонента.

Предположим, что сервис Workstation зависит от NBF (NetBIOS Frame), который соединяется с двумя платами сетевых адаптеров и, следовательно, зависит от их драйверов. Система помечает NBF как сервис, зависимый от драйверов двух сетевых карт, а сервис Workstation — как сервис, зависимый от драйверов сетевых карт и от NBF.

 

Групповые зависимости

Часто возникает ситуация, когда сервис должен загружаться только в том случае, если будет успешно загружен один из членов набора зависимостей. В предыдущем примере сервис Workstation не должен загружаться, если в процессе загрузки операционной системы инициализация драйверов обеих сетевых карт оказалась невозможной.

При таком подходе используются групповые зависимости. Любой сервис (драйвер, транспорт или иной) может идентифицировать себя как входящий в группу сервисов. Например, все драйверы сетевых карт в Windows NT обрабатываются как члены группы NDIS.

В реестре групповые зависимости помечаются значимым элементом Use, который появляется в составе ключа NetRules соответствующего компонента. Группы представляют собой символические имена, перечисленные в ключе HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\GroupOrderList.

 

Статические зависимости

Статической зависимостью (static dependency) называется обязательный сервис, который должен стартовать при любых обстоятельствах.

Чтобы сервис был гарантированно сконфигурирован как зависимый от другого сервиса, в ключе Linkage для соответствующего компонента можно создать значимый элемент OtherDependencies. Значение OtherDependencies имеет тип REG_MULTI_SZ, поэтому оно может содержать столько имен сервисов, сколько необходимо.

 

Сетевые параметры в реестре Windows 2000 и Windows XP

По сравнению с Windows NT 4.0, в состав сетевых средств Windows 2000/XP был внесен ряд усовершенствований, которые не могли не повлиять на хранение информации о сетевых параметрах в реестре. Основными нововведениями являются NDIS 5.0 (Windows 2000) и NDIS 5.1 (Windows XP), поддержка Plug and Play, управление электропитанием, а также новый формат файлов INF для установки сетевых компонентов.

 

Установка сетевых компонентов в реестре Windows 2000/XP

Для установки сетевых компонентов Windows 2000/XP требуются:

Инсталлятором класса называется динамически загружаемая библиотека (DLL), которая выполняет установку, конфигурирование или удаление из системы устройств определенного класса. Установка сетевых компонентов Windows 2000/XP производится сетевым инсталлятором класса Windows 2000/XP (Windows 2000/XP network class installer) или инсталлятором класса, разработанным поставщиком устройства.

Если стандартный инсталлятор класса не предоставляет всех функциональных возможностей, необходимых для конкретного устройства, поставщик этого устройства может разработать так называемый вспомогательный инсталлятор, который представляет собой динамически загружаемую библиотеку Win32, реализующую функции, недостающие для установки индивидуального устройства.

Существуют следующие классы сетевых компонентов:

Сетевой инсталлятор класса определяет класс устанавливаемого сетевого компонента по значению параметра classGuid. Параметр ciassGuid представляет собой так называемый глобальный уникальный идентификатор (Globally Unique Identifier, GUID) для этого класса. Значения GUID можно получить с помощью утилиты Uuidgen.exe (более подробную информацию о ней можно найти в документации Windows Platform SDK).

Классы сетевых компонентов и соответствующие им значения ciassGuid перечислены в табл. 8.3.

Таблица 8.3. Классы сетевых компонентов и соответствующие им значения ClassGuid

Класс сетевого компонента

Значение ClassGuid 

Net {4D36E972-E325-11CE-BFC1-08002BE10318}

NetTrans

{4 D36E973-E325-11CE-BFC1- 08002BE10318}

NetClient

(4D36E974-E325-11CE-BFC1-08002BE10318}

NetService

{4D36E975-E325-11CE-BFC1-08002BE10318}

 

Рис. 8.8. Содержимое ключа реестра HKEY_LOCAL_MACHINE\SYSTEM \CurrentControlSet\Control\Class\ {4D36E972-E325-11CE-BFC1- 08002ВЕ10318 } определяет параметры инсталлятора класса сетевых адаптеров

Информация инсталляторов классов хранится в реестре в составе ключа HKEY_LOCAL_MACHINE\SYSTEM\CurrentCcntrolSet\Contrcl\Class. Для каждого инсталлятора класса в составе этого ключа имеется вложенный ключ с именем... Нет, не ждите, что это будет имя типа ";;et" — это как раз будет значение ClassGuid (рис. 8.8) — то самое, которое приведено в табл. 8.3 для класса Net (сетевые адаптеры).

Файлы INF содержат сведения, необходимые инсталлятору класса сетевого компонента для установки этого компонента. Подробную информацию о формате INF-файлов -можно найти в документации, поставляемой в составе программного продукта Windows Driver Development Kit (DDK).

Компоненты сетевого программного обеспечения, такие как сетевые протоколы, сервисы или сетевые клиенты, могут иметь уведомляющие объекты, которые позволяют отображать пользовательский интерфейс для ручного конфигурирования соответствующих компонентов, предоставляют ручной контроль за процессом привязки (binding) и т. д. Обратите внимание, что аппаратные компоненты (сетевые адаптеры) тоже способны предоставлять и пользовательский интерфейс, и программный контроль над привязкой протоколов, но все эти задачи выполняются не уведомляющими объектами, а через INF-файл или через вспомогательный инсталлятор. На рис. 8.9 приведена информация об уведомляющем объекте, который выполняет конфигурирование протокола NWLink.

Рис. 8.9. Информация об уведомляющем объекте, конфигурирующем протокол NWLink

Если драйвер для сетевого устройства не входит в поставку Windows 2000/ХР, поставщик должен предоставлять поддержку обновления версий для программного обеспечения, управляющего работой этого устройства.

В дополнение к перечисленным файлам, для установки сетевых компонентов требуется следующее:

 

Регистрационная информация сетевых адаптеров

Как и в Windows NT 4.0, в Windows 2000/XP имеются вложенные ключи регистрации программного обеспечения для всех установленных на компьютере карт сетевых адаптеров. Эти ключи находятся по адресу HKEY_LOCAL_ MACHINEXSOFTWARE\ Microsoft\Windows NT\ CurrentVersion\NetworkCards\ Netcard# (рис. 8.10).

 Примечание 

Обратите внимание, что нумерация начинается с 1, а не с 0, как в большинстве случаев.

Помимо этого, в составе ключа HKEY_LOCAL_MACHINE имеются еще два вложенных ключа, содержащих информацию о сетевом адаптере.

 

Рис. 8.10. Ключ реестра HKEY_LOCAL_MACHINE\ SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards\2 в реестре Windows XP

Рис. 8.11. Информация о сетевом адаптере Realtek RTL8139 Family PCI Fast Ethernet в составе ключа HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Enum

Рис. 8.12. При конфигурировании сетевого адаптера приложение Сетевые подключения из Панели управления отображает информацию реестра, хранящуюся в составе ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum

Кроме того, каждый из ключей драйвера содержит стандартный набор обязательных вложенных ключей: Linkage и Ndi. Типичное содержимое ключа Linkage для драйвера сетевой карты показано на рис. 8.14. Как видно из приведенной иллюстрации, стандартными параметрами, содержащимися в составе этого ключа, являются параметр Export, значение которого указывает список создаваемых объектов, параметр RootDevice, задающий корневое устройство, и параметр upperBind, определяющий привязку протоколов.

Рис. 8.13. Параметры драйвера сетевого адаптера в реестре Windows XP

Рис. 8.14. Типичное содержимое ключа Linkage для драйвера карты сетевого адаптера

Ключ Ndi содержит вложенные ключи и параметры, которые зависят от типа установленного сетевого компонента. Если установленный сетевой компонент имеет ассоциированный с ним сервис или драйвер устройства, то в составе ключа Ndi обязательно появляется параметр service, который указывает имя соответствующего сервиса или драйвера устройства (рис. 8.15). Если с компонентом ассоциировано несколько сервисов, то в составе ключа Ndi должен присутствовать еще один обязательный параметр — Coservices с типом данных REG_MULTI_SZ, который перечисляет все сервисы, ассоциированные с данным компонентом, включая основной сервис, указанный параметром service. Этот параметр обязателен для сетевых компонентов типа NetTrans (транспортные протоколы), NetClient (сетевые клиенты) и NetService (сетевые сервисы). Компоненты типа Net (адаптеры) такого параметра не имеют, что и видно из рис. 8.15 (с сетевым адаптером ассоциирован только драйвер RTL8139).

Рис. 8.15. Параметр . . \Ndi\Service указывает имя ассоциированного с сетевым компонентом драйвера или сервиса

Дальнейшая конфигурационная информация о сетевых средствах Windows 2000/XP находится в составе ключа реестра HKEY_LOCAL_MACHINE \SYSTEM\current Controlset\Control\Network. Обратите внимание на вложенные ключи с именами в виде длинных последовательностей букв и цифр, заключенных в фигурные скобки (рис. 8.16) — внимательный читатель быстро обнаружит, что эти имена на самом деле представляют собой те самые значения ClassGuid, которые были перечислены в табл. 8.3.

Рис. 8.16. Содержимое ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Control\Network

Рис. 8.17. Информация о свойствах соединения с локальной сетью в реестре

Рис. 8.18. Взаимосвязь информации реестра с параметрами соединения с локальной сетью, устанавливаемыми с помощью утилиты Сетевые подключения в Панели управления

Последовательно раскрывая эти ключи и исследуя их содержимое, можно обнаружить всю необходимую информацию о конфигурации сетевых средств. Например, раскрыв вложенный ключ с именем {4D36E972-E325-HCE-BFC1-08002ВЕl0318} (как вы помните, эта строка обозначает сетевые адаптеры), вы обнаружите на нижнем уровне иерархии ключ с именем connection (рис. 8.17). Легко обнаружить, что этот ключ задает свойства соединения с локальной сетью: строковый параметр Name задает значение подключение по локальной сети ("Local Area Connection"), которое вы видите в окне Сеть и удаленный доступ к сети (Network and Dial-up Connections), строковый параметр pnPinstanceio — это ссылка на ключ с информацией о нашем сетевом адаптере под ключом Еnum, и, наконец, двоичный параметр showicon устанавливает режим отображения индикатора статуса соединения с локальной сетью. Эта взаимосвязь параметров реестра с пользовательским интерфейсом и утилитами Панели управления (Control Panel) показана на рис. 8.18.

 

Регистрационная информация сетевых компонентов

Регистрационная информация сетевых сервисов располагается в составе ключа реестра HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services.

В составе этого ключа реестра, помимо ключей, характеризующих прочие сетевые компоненты, присутствуют и ключи сервисов, ассоциированных с сетевыми адаптерами (в предыдущем разделе было показано, что в составе ключа реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Control\Class \ {4D36E972-E325-11CE-BFC1-08002BE10318}\0000\Ndi имеется строковый параметр Service, который и указывает имя соответствующего сетевого сервиса или драйвера, в нашем примере— RTL8139). Вложенный ключ rtisi39, характеризующий параметры сервиса, ассоциированного с сетевым адаптером Realtek RTL8139 Family PCI Fast Ethernet, показан на рис. 8.19.

Рис. 8.19. Ключ реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services\rtl8139 содержит конфигурационную информацию драйвера сетевого адаптера RTL8139

Кроме того, в составе ключа HKEY_LOCAL_MACHINE\ SYSTEM\Current ControlSetNServices присутствуют вложенные ключи, характеризующие каждый из установленных сетевых компонентов (рис. 8.20).

Рис. 8.20. Ключ реестра HKEY_LOCAL_MACHINE\ SYSTEM\CurrentControlSet\Services содержит вложенные ключи для каждого из установленных сетевых компонентов

 

Настройка сетевых средств путем редактирования реестра

Разумеется, максимально полное и подробное описание всех сетевых средств Windows NT/2000/XP, а также соответствующих им элементов реестра в рамки одной главы уложить просто невозможно (эта тема заслуживает отдельной книги). Тем не менее, автор надеется, что данная глава помогла читателю получить представление о том, как параметры настройки сети хранятся в реестре, и каким образом эти параметры связаны с информацией, отображаемой административными утилитами из Панели управления (Control Panel). Сразу же стоит отметить, что тема эта настолько же интересна и неисчерпаема, как и сами по себе исследования реестра, и читателя, решившего исследовать ее самостоятельно, ждет на этом пути множество интереснейших находок и открытий.

Ниже будут описаны некоторые из методов настройки сети путем редактирования реестра.

 

Автоматическое конфигурирование IP-адресов

В состав Windows 2000/XP включено множество разнообразных усовершенствований, многие из которых сразу же бросаются в глаза и вызывают оживленную дискуссию среди пользователей. Тем не менее, есть и множество относительно неброских нововведений, которые все же существенно упрощают настройку и конфигурирование системы. Одним из таких усовершенствований является возможность автоматического конфигурирования IP-адресов (начиная с Windows 2000 Release Candidate 2 эта функциональная возможность называется "Automatic Private IP Addressing" или APIPA). В чем же заключается эта функциональная возможность, и как она работает?

Как известно, при инсталляции Windows 2000/XP стандартный вариант установки сетевых средств включает в свой состав протокол TCP/IP, причем по умолчанию предполагается, что IP-адрес и маску подсети клиентский компьютер будет получать от сервера DHCP. Многим пользователям, имеющим опыт конфигурирования свойств TCP/IP в сетях Windows NT 4.0, известны проблемы, возникающие в случае конфликта IP-адресов или в ситуациях, когда сервер DHCP оказывался недоступным. Функция автоконфигурирования IP-адресов, введенная в Windows 2000/XP, позволяет клиентам DHCP автоматически конфигурировать свой IP-адрес и маску подсети в условиях, когда сервер DHCP временно недоступен.

Для конфигурирования компьютера в качестве клиента DHCP следует установить переключатель Получить IP-адрес автоматически (Obtain ah IP address automatically) на вкладке Общие (General) окна Свойства: Протокол Интернета (TCP/IP) (Internet Protocol (TCP/IP) Properties) — рис. 8.21.

Примечание

Все клиентские компьютеры Windows 2000/XP по умолчанию конфигурируются как клиенты DHCP, поэтому если при инсталляции операционной системы был выбран стандартный вариант установки сетевых средств, то компьютер уже сконфигурирован как клиент DHCP, и пользователю не требуется выполнять для этой цели никакие дополнительные действия.

При загрузке клиента DHCP ищет сервер DHCP, чтобы получить от него конфигурационную информацию TCP/IP (как правило, это IP-адрес, маска подсети, и, возможно, некоторые другие опции DHCP). Если клиент не может получить эту информацию от сервера DHCP, он использует APIPA и автоматически устанавливает себе IP-адрес из диапазона адресов (от 169.254.0.1 до 169.254.255.254), специально зарезервированных для этой цели и не используемых в Интернете. В качестве маски подсети в этом случае используется стандартная маска подсети класса В: 255.255.0.0. Поскольку в случае самоконфигурирования клиент выбирает IP-адрес из указанного диапазона случайным образом, в сети могут возникать конфликты IP-адресов, для разрешения которых служит протокол ARP (Address Resolution Protocol). Выбрав произвольный IP-адрес из зарезервированного диапазона, клиент отправляет в сеть пакет ARP, и если на этот пакет не отвечает ни один из остальных компьютеров, он сохраняет этот адрес. Если выбранный IP-адрес уже используется другим компьютером, то делается до 10 повторных попыток выбора другого IP-адреса. Клиент использует эту конфигурационную информацию до тех пор, пока сервер DHCP не станет снова доступен. На основании всего сказанного несложно понять, что функциональная возможность APIPA очень удобна в небольших немаршрутизируемых сетях.

Рис. 8.21. Вкладка Общие окна Свойства: Протокол Интернета (TCP/IP)

 Примечание 

Внимательно взглянув на окно Свойства: Протокол Интернета (TCP/IP) (Internet Protocol (TCP/IP) Properties), представленное на рис. 8.21, вы, вероятно, обратите внимание на одно из наиболее полезных свойств в Windows ХР — так называемую альтернативную адресацию (Alternate Addressing), которое по достоинству оценили многие пользователи мобильных компьютеров. Проблема заключается в том, что такие компьютеры часто подключаются к нескольким сетям. При этом в одном случае используется статический IP-адрес, а в другом назначение адреса происходит динамически. Смена подключений каждый раз требует перенастройки установок IP. В Windows XP эта проблема успешно решена. Теперь пользователь может сконфигурировать портативный компьютер так, чтобы сначала использовать динамический IP-адрес, а затем— альтернативный IP-адрес, если DHCP-сервер недоступен. Для того чтобы использовать эту функциональную возможность, откройте окно Свойства: Протокол Интернета (TCP/IP) (Internet Protocol (TCP/IP) Properties) и выберите переключатель Получить IP-адрес автоматически (Obtain an IP address automatically), а затем перейдите на вкладку Альтернативная конфигурация (Alternate Configuration) (рис. 8.22) и сконфигурируйте альтернативный IP-адрес. Обратите внимание, что второй адрес может быть как постоянным, так и назначаемым с помощью APIPA.

Рис. 8.22. Вкладка Альтернативная конфигурация в окне Свойства: Протокол Интернета (TCP/IP)

Тем не менее, возможны и такие ситуации, когда эту функциональную возможность требуется блокировать. Для этого проделайте следующее:

1. Вызовите редактор реестра Regedit.exe (если вы работаете в Windows 2000, запустите Regedt32.exe).

2. Раскройте ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\ TcpIP\Parameters\Interfaces.

3. Выделите вложенный ключ адаптера, для которого требуется блокировать АР1РА, добавьте в его состав параметр IPAutoconfigurationEnabled (тип данных REG DWORD) и установите для этого параметра значение 0 (значение по умолчанию равно 1). Изначально этот параметр в реестре не присутствует, и система подразумевает, что он имеет значение по умолчанию.

Примечание 

Добавлять параметр IPAutoconfigurationEnabled следует только в том случае, когда требуется блокировать APIPA. Если на компьютере установлено несколько сетевых адаптеров, и функцию APIPA требуется блокировать для каждого из них, добавьте параметр IPAutoconfigurationEnabled в состав ключа HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services\TcpipT \Parameters и установите его значение равным 0.

 

Блокировка динамической регистрации DNS

Компьютер, работающий под управлением Windows 2000/XP, пытается выполнять динамическую регистрацию на серверах DNS, указанных на вкладке Общие (General) окна свойств TCP/IP. Чтобы блокировать эту опцию, нажмите кнопку Дополнительно (Advanced) на вкладке Общие (General) окна Получить IP-адрес автоматически (Internet Protocol (TCP/IP) Properties), в раскрывшемся диалоговом окне Дополнительные параметры TCP/IP (Advanced TCP/IP Settings) перейдите на вкладку DNS (рис. 8.23) и сбросьте флажок Зарегистрировать адреса этого подключения в DNS (Register this connection's addresses in DNS).

Рис. 8.23. Вкладка DNS окна Дополнительные параметры TCP/IP

Если вы хотите проделать то же самое путем редактирования реестра, то раскройте ключ HKEY_LOCAL_MACHINE\SYSTEM\ CurrentControlSet\Services \Tcpip\parameters\interfaces, и установите значение параметра DisableDynamicUpdate (тип данных REG_DWORD) равным 1.

 

Блокировка восстанавливаемых сетевых соединений

Чтобы блокировать восстановление сетевых соединений, запустите Редактор реестра (Regedit), найдите ключ HKEY_USERS\.DEFAULT\ Software\Microsoft\ Windows NT\CurrentVersion\ Network\Persistent Connections (рис. 8.24) и установите для параметра saveConnections значение "nо".

 Примечание 

Чтобы блокировать восстановление сетевых соединений для всех пользователей, присвойте значение "по" параметру SaveConnections во всех уже существующих пользовательских профилях. Эта информация находится под ключом реестра HKEY_USERS\<User_SID>\ SOFTWARE\MicrosoftWindows NT\ CurrentVersion\Network\Persistent Connections (рис. 8.24.)

Рис. 8.24. Ключ реестра HKEY_USERS\.DEFAULT\ Software\Microsoft\ Windows NT\CurrentVersion\Network\Persistent Connections

 

Как установить NetBEUI в Windows XP

Вы, вероятно, обратили внимание, что протокол NetBEUI не включен в список инсталлируемых протоколов в Windows XP. Это объясняется тем, что данный протокол больше не поддерживается в Windows XP. Однако, файлы, необходимые для инсталляции NetBEUI (Netnbf.inf и Nbf.sys), включены в состав CD-ROM Windows XP и, при необходимости, вы можете установить этот протокол. Для установки NetBEUI в системе Windows XP выполните следующие действия:

1. Запустите утилиту Сетевые подключения (Network Connections) в Панели управления (Control Panel).

2. Щелкните правой кнопкой мыши на том адаптере, для которого вы будете использовать протокол NetBEUI, а затем выберите команду Свойства (Properties) из контекстного меню.

3. На вкладке Общие (General) нажмите кнопку Установить (Install).

4. Щелкните мышью на опции Протокол (Protocol), а затем нажмите кнопку Добавить (Add).

5. Выберите опцию Установить с диска (Have Disk), вставьте CD-ROM Windows XP, откройте папку Valueadd\msft\net\netbeui, щелкните мышью файл Netnbf.inf, а затем нажмите кнопку Открыть (Open).

6. Нажмите кнопку ОК.

 

Резюме

Итак, в этой главе мы кратко рассмотрели параметры настройки сети в реестрах Windows NT 4.0, Windows 2000 и Windows XP. В следующей главе мы перейдем к важному вопросу защиты реестра Windows NT 4.0 и Windows 2000 (в том числе и от удаленного доступа через сеть).

Используются технологии uCoz