Устранение неполадок в работе службы «Обозреватель компьютеров»
Несмотря на то, что при использовании глобальной сети отсутствует централизованный метод определения полноты списка обзора, существует метод, позволяющий проверить, представлены ли серверы конкретного сегмента в списке обзора удаленного сегмента. Данный метод может быть применен для всех сегментов, соединенных глобальной сетью. Однако результаты проверки могут меняться, если после выборов обозревателя изменятся роли серверов. Поэтому результаты проверки остаются достоверными, только если все серверы в домене, включающем каналы глобальной сети, сохраняют свои роли и ни один из серверов не включается и не отключается.
Описанные ниже проверки выполняются с помощью программы Browstat.exe, входящей в состав пакета Microsoft Windows Resource Kit. Образцы выходных данных приводятся только для протокола TCP/IP. Для устранения проблем со службой обозревателя (и большинства других проблем с сетью) администратор должен знать точную топологию сети и конфигурации маршрутизаторов. Предположим, клиент, находящийся в удаленном сегменте, не видит в списке обзора сервер из другого сегмента.
Поскольку служба обозревателя имеет четкие временные параметры и использует широковещательные пакеты, описанные ниже шаги должны выполняться не ранее чем через 48 минут (полный цикл прохождения информации обозревателей в многосегментной сети, содержащей домены).
Следует помнить, что для обозревателей чрезвычайно важным является разрешение имен. Поэтому необходима надежная инфраструктура разрешения имен на основе серверов WINS. В противном случае большой объем времени может быть потрачен на решение проблем, причиной которых являются сбои при разрешении имен.
1. | Найдите основной обозреватель сегмента, в котором находится сервер. Выполните на компьютере этого сегмента следующую команду: browstat status Результат может выглядеть следующим образом:Status for domain Имя_домена on transport \Device\NetBT_IEEPRO1 Browsing is active on domain. Данные сведения показывают, какой из серверов является основным обозревателем в сегменте. Однако эти данные могут быть получены от другого основного обозревателя, если он ответит быстрее, чем локальный обозреватель. В итоговых данных присутствует также строка «\Device\Protocol_NIC», которую можно использовать в качестве параметра команды browstat. Чтобы найти локальный основной обозреватель в сегменте клиента, выполните следующую команду: Если определить основной обозреватель не удается, можно произвести выбор принудительно, перезапустив службу «Обозреватель компьютеров» на контроллере домена, в который входит сегмент с этим сервером. Через несколько минут выполните команду повторно. Чтобы инициировать выбор, можно также выполнить следующую команду на сервере в требуемом сегменте: |
2. | Определите, присутствует ли имя недоступного сервера в списке основного обозревателя. Основной обозреватель является первым в цепочке взаимодействия, котрый должен содержать имя недостающего сервера. Это позволяет проверить, получает ли основной обозреватель от сервера пакеты с данными о сервере. Обратите внимание, что строка «\device…» взята из приведенных выше результатов выполнения команды. Выполните следующую команду: browstat view \device\netbt_ieepro1 \\Имя_основного_обозревателя | findstr /i имя_недоступного_сервера Если имя указанного сервера содержится в списке основного обозревателя, будет получен ответ следующего вида: \\Имя_недоступного_сервера NT 04.00 (W,S,NT,PBR,DFS) “Description” of server \\Имя_недоступного_сервера Если данное имя сервера отсутствует в списке основного обозревателя, выполните следующую команду на любом компьютере сегмента, содержащего недоступный сервер: browstat forceannounce \device\netbt_el59x1 Имя_домена Или же выполните следующую команду с консоли этого сервера: browstat announce \device\netbt_el59x1 Имя_домена Также следует убедиться в целостности сети. Для этого можно проверить, способен ли сервер подключаться к общим ресурсам основного обозревателя.Кроме того, можно перезагрузить сервер, чтобы вызвать отправку пакетов объявлений узла. |
3. | Определите, получает ли контроллер PDC имя сервера от основного обозревателя. Выполните следующую команду: browstat view \device\netbt_ieepro1 \\Имя_контроллера_PDC | findstr /i Имя_недоступного_сервера Результат должен выглядеть следующим образом: \\Имя_недоступного_сервера NT 04.00 (W,S,NT,PBR,DFS) “Description” of server \\Имя_недоступного_сервера Наиболее вероятной причиной отсутствия имени сервера являются сбои при разрешении имен. Чтобы контроллер PDC мог получить список серверов от основного обозревателя, основной обозреватель сервера должен послать пакет объявления основного обозревателя, используя 138 порт протокола UDP. Для этого он должен выполнить разрешение имени имя_домена<1b>. Чтобы контроллер PDC мог ответить и получить имя сервера, он должен выполнить разрешение имени основного обозревателя. (Чтобы основной обозреватель сервера мог получить список с контроллера PDC, он должен выполнить разрешение имени контроллера PDC.)Таким образом, разрешение имен является чрезвычайно важным. Чтобы убедиться, что основной обозреватель сервера может произвести разрешение имени имя_домена<1b>, выполните следующую команду: browstat getpdc \device\netbt_el59x1 Имя_домена Чтобы убедиться, что основной обозреватель и контроллер PDC могут выполнять взаимное разрешение имен, подключитесь с контроллера PDC к общему ресурсу основного обозревателя и наоборот. Если любая из этих проверок не может быть выполнена, необходимо устранить неполадки при разрешении имен. |
4. | Определите основной обозреватель сегмента, содержащего клиентский компьютер. Для этого выполните в этом сегменте действия, описанные в шаге 1. |
5. | Определите, содержится ли имя недоступного сервера в списке основного обозревателя этого сегмента. Выполните следующую команду: browstat view \device\netbt_ieepro1 \\Основной_обозреватель_клиентского_сегмента | findstr /i Имя_недоступного_сервера Если имя сервера присутствует в списке, результат должен выглядеть следующим образом: \\Имя_недоступного_сервера NT 04.00 (W,S,NT,PBR,DFS) “Description” of server \\Имя_недоступного_сервера Наиболее вероятной причиной отсутствия имени сервера являются сбои при разрешении имен. Убедитесь, что основной обозреватель данного сегмента в состоянии разрешить имя имя_домена<1b>. Для этого выполните следующую команду: browstat getpdc \device\netbt_el59x1 Имя_домена Кроме того, основной обозреватель должен быть в состоянии выполнить разрешение имени контроллера PDC. Чтобы проверить это, выполните подключение к общему ресурсу контроллера PDC.Если любая из этих проверок не может быть выполнена, необходимо устранить неполадки при разрешении имен. |
6. | Определите резервный обозреватель сегмента, содержащего клиентский компьютер. Чтобы снизить загрузку основного обозревателя, клиент может отправлять запросы на получение списка обзора резервному обозревателю (если он доступен). Таким образом, все клиенты могут использовать резервные обозреватели. Существуют два способа определения локальных резервных обозревателей.
На основном обозревателе выполните следующую команду: |
7. | Определите, содержится ли имя недоступного сервера в списках резервных обозревателей. При этом необходимо проверить наличие имени отсутствующего сервера в списках всех резервных обозревателей сегмента. Выполните следующую команду для каждого резервного обозревателя: browstat view \device\netbt_ieepro1 \\Имя_резервного_обозревателя | findstr /i Имя_недоступного_сервера Если имя сервера не содержится в списке резервного обозревателя, убедитесь, что резервный обозреватель может подключаться к общим ресурсам основного обозревателя. Роль резервного обозревателя является наиболее динамичной. В зависимости от нагрузки, основной обозреватель назначает резервные обозреватели из числа потенциальных резервных обозревателей. Подождите 12 минут и повторите шаги 6 и 7. |
За дополнительной информацией о причинах отсутствия имени компьютера в списке обозрения обратитесь к следующей статье Microsoft Knowledge Base: kb231312 Computer Name Missing in the Browsing List
Проблемы при использовании нескольких сетевых интерфейсов
Контроллер PDC должен формировать единый общедоменный список и не может использовать несколько сетевых интерфейсов. Все основные обозреватели удаленных сегментов подключаются к контроллеру PDC. Поскольку при наличии на контроллере PDC нескольких сетевых интерфейсов нет гарантии, что все удаленные обозреватели будут подключаться к одному и тому же интерфейсу, то чтобы был сформирован единый общедоменный список, необходимо иметь на контроллере PDC был только один сетевой интерфейс. Все основные обозреватели также должны иметь один сетевой интерфейс. Каждые 12 минут основной обозреватель подключается к контроллеру PDC и запрашивает общедоменный список, после чего посылает контроллеру PDC пакет, предлагающий подключиться к основному обозревателю и получить его локальный список. Поскольку контроллер PDC не хранит IP-адреса всех сетевых интерфейсов основного обозревателя, при подключении к основному обозревателю он получает только список компьютеров, информация о которых поступила через данный сетевой интерфейс.
Прочее
Чтобы избежать частой смены ролей обозревателей и выполнить данные проверки, может потребоваться назначить в каждом сегменте компьютеры, хранящие общедоменный список. Если серверы часто включаются и отключаются, может потребоваться установка в каждом сегменте контроллера BDC (при небольшом количестве сегментов) или, как минимум, сервера, являющеося членом домена, на котором параметру реестра IsDomainMaster присвоено значение True. Это даст серверу преимущество при выборах основного обозревателя сегмента.
Если ни одна из приведенных выше проверок не проходит, проверьте, не возникает ли на каком-нибудь из обозревателей ошибка «конфликта имен». Для этого выполните следующую команду:
nbtstat -n
Для удаленной проверки с помощью данной команды используйте параметры -A или -a.
Обозреватели очень чувствительны к настройкам маршрутизаторов в глобальной сети. Поскольку при выборах обозревателей используется рассылка широковещательных пакетов, широковещательные пакеты протокола UDP не должны маршрутизироваться. Причиной ошибок может также являться то, что широковещательные пакеты протокола UDP пересылаются в одну сторону, но не пересылаются в другую. Это может привести к непрервному циклу выборов и вызвать появление событий обозревателя с кодом 8003.
Еще одним средством, используемым для решения проблем, является просмотр сетевого трафика с помощью таких анализаторов протоколов, как сетевой монитор Microsoft. Чтобы увидеть обмен данными при выборах обозревателя, можно перезапустить службу «Обозреватель компьютеров». Однако после перезапуска этой службы роли обозревателей могут измениться. Тем не менее, данный метод позволяет отследить обмен данными между основным обозревателем и контроллером PDC, когда основной обозреватель запрашивает у контроллера PDC общедоменный список и когда контроллер PDC запрашивает локальный список у основного обозревателя. Поскольку полный цикл обмена завершается в течение одной-двух минут после запуска службы обозревателя на основном обозревателе, необходимо настроить анализатор протокола, чтобы он мог сохранять такой объем данных.
До выхода Windows NT 4.0 размер списка серверов, возвращаемого службой обозревателя, ограничивался 64 килобайтами. Если список превышал этот размер, он обрезался. Чтобы избежать этого, все обозреватели должны работать под управлением Windows NT версии 4.0 или более поздней.