Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Using Samba

Using Samba

Robert Eckstein, David Collier-Brown, Peter Kelly
1st Edition November 1999
1-56592-449-5, Order Number: 4495
416 pages, $34.95

Buy the hardcopy

Table of Contents


1.4 Вариации Microsoft 

Наконец, мы можем говорить о версиях Microsoft в отношении сетевого протокола CIFS/SMB. И, как вы наверное уже представляете, есть несколько моментов, которые необходимо обсудить.

1.4.1 Домены Windows

Напомним, что рабочая группа - это набор компьютеров в сети SMB, которые находятся  в одной подсети и представлены одной рабочей группой SMB. Домен Windows идет дальше этого. Это рабочая группа компьютеров SMB с одним дополнением: сервером, выступающем в роли контроллера домена. Для того, чтобы иметь домен Windows, вам необходимо иметь также контроллер домена[6]. Иначе, это будет всего лишь рабочая группа. Взгляните на Рисунок 1.11.

[6] Домены Windows называются "Доменами Windows NT" по определению Microsoft, поскольку они подразумевают, что компьютеры с Windows NT выступают в роли контроллеров домена. Тем не менее, поскольку Samba может выполнять данную функцию, мы просто назывем их  "доменами Windows" для избежания путаницы.

Рисунок 1.11: Простой домен Windows

Figure 1.11

Всего существует два различных протокола, которые использует контроллер домена (сервер входа ): один для соединения с компьютерами под управлением Windows 95/98 и один для соединения с компьютерами под управлением Windows NT. В то время, как Samba на текущий момент поддерживает протокол контроллера домена для  Windows 95/98 (который позволяет ей выступать в виде контроллера домена для компьютеров Windows 9 x), в то же время он полностью не поддерживает протокол для компьютеров с Windows NT. Тем не менее, команда разработчиков  Samba обещает поддержку протокола контроллера домена для Windows NT в  Samba 2.1.

В чем вся сложность? Протокол, который использует контроллер домена Windows для соединения со своими клиентами и другими контроллерами домена, закрыт Microsoft. Это привело команду разработчиков Samba к использованию так называемой "обратной разработки" протокола контроллера домена, для того, чтобы узнать, какой код какую выполняет задачу.

1.4.1.1 Контроллеры Домена

Контроллер домена - это нервный центр домена Windows, точно также, как и сервер NIS - это нервный центр сетевой информационной службы Unix. Контроллер домена выполняет несколько обязанностей. Одна из обязанностей связана с аутенификацией. Аутенификация - это процесс разрешения или запрета доступа пользователя  к ресурсу на другом сетевом компьютере, обычно осуществляемое при помощи пароля.

Каждый контроллер домена использует менеджер безопасности (SAM) для работы с комбинациями имя пользователя-пароль. Затем контроллер домена формирует центральный репозитарий паролей, которые привязаны к именам пользователей (один пароль на пользователя), что более эффективно, чем использование  каждого компьютера клиента для содержания сотни паролей на каждый доступный сетевой ресурс.

В домене Windows, когда не авторизованный клиент запрашивает доступ к ресурсам сервера, сервер подумает и спросит контроллер домена, авторизован ли пользователь. Если это так, то сервер установит сессионное соединение с правами доступа, которые он имеет для данной службы и пользователя. Если нет, то в соединении будет отказано. После того, как пользователь  однажды прошел аутенификацию в контроллере домена, клиенту будет возвращен специальный идентификатор, после чего пользователю не придется снова проходить авторизацию в домене для доступа к ресурсам. С этого момента, пользователь считается "вошедшим" в домен. Посмотрите на  Рисунок 1.12.

Рисунок 1.12: Использование контроллера домена для аутенификации

Figure 1.12

1.4.1.2 Первичный и вторичный контроллеры домена 

    Контроллер домена, который активен на текущий момент в домене называется главным контроллером домена (PDC). Тем не менее в домене может быть один или более вторичных контроллеров домена (BDCs), который войдет в силу, если главный контроллер домена упадет или станет недоступен. BDCs часто синхронизируют свои базы SAM с главным контроллером домена, поэтому при необходимости любой из них может выполнять службы DC без беспокойства клиентов. Отметим, что BDCs, тем не менее, имеют только доступные для чтения копии базы SAM; они могут обновлять свои базы данных только путем синхронизации с PDC. Сервер в домене Windows может использовать базу SAM любого первичного или вторичного контроллера для аутенификации пользователя, который пытается получить доступ к ресурсам и войти в домен.

Отметим, что по многим аспектам, понятие рабочей группы Windows и домена Windows пересекаются. Это не было актуально до появления концепции домена Windows в  Windows NT 3.5 ,после чего домены Windows были разработаны с обратной совместимостью с рабочими группами, существующими в  Windows for Workgroups 3.1. Нам следует запомнить, что домен Windows- это просто рабочая группа Windows с добавлением одного или более контроллеров домена.

Samba может выполнять роль главного контроллера домена для компьютеров под управлением Windows 95/98 без каких-либо проблем. Тем не менее, Samba 2.0 может выступать в качестве главного контроллера домена только в целях аутенификации; на текущий момент он не может выполнять другие роли главного контроллера домена. (В то время, как вы читаете это, Samba 2.1 возможно уже доступна, поэтому вы можете использовать Samba как  PDC для клиентов NT.) К тому же, Microsoft использует закрытый протокол для синхронизации данных SAM, Samba на текущий момент не может служить, как вторичный контроллер домена.

1.4.2 Просмотр

Просмотр - это ответ на вопрос пользователя: "Какие компьютеры находятся в сети Windows?" Отметим, что здесь отсутствует связь с браузером из World Wide Web.

Перед просмотром, пользователи должны знать имя компьютера, к которому они хотят получить доступ, а затем вручную ввести  UNC, как показано далее, в определенном приложении или файловом менеджере для получения доступа к ресурсу:

\\HYDRA\network\

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

1.4.2.1 Уровни просмотра

Как мы отметили в начале раздела, всего существует два типа просмотра в сети SMB/CIFS:

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

Для просмотра актуальных ресурсов на компьютере пользователь должен установить соединение с определенным компьютером, но эта информация не может быть получена через список просмотра. Просмотр списка ресурсов на компьютере может быть выполнен после нажатия на иконке компьютера, когда он присутствует в сетевом окружении в Windows 95/98 или NT. Как вы видели в начале данного раздела, компьютер ответит списком доступных ресурсов, которые могут быть доступны после успешной аутенификации пользователя.

Каждый из серверов в рабочей группе Windows нуждается в анонсе своего присутствия у главного локального браузера после того, как он зарегистрировал имя NetBIOS, а затем (теоретически) анонсировать свой уход из рабочей группы после выключения. Именно главный локальный браузер несет ответственность за запись серверов. Отметим, что главный локальный браузер не обязательно тот же самый компьютер, что и сервер имен NetBIOS (NBNS), который мы обсудим позже.

ПРЕДУПРЕЖДЕНИЕ: Сетевое окружение Windows может вести себя странно: до тех пор, пока вы не выберите определенный компьютер для просмотра, окно Сетевого окружения может содержать данные, которые устарели. Это означает, что окно Сетевого окружения может отображать компьютеры, которые уже не в сети, или наоборот, не показывать компьютеры, которые только что вошли в сеть. Короче говоря, после того, как вы выбрали сервер и соединились с ним вы можете быть уверены, что ресурсы и принтеры присутствуют в сети.

В отличие от тех ролей, которые вы видели ранее, почти каждый компьютер Windows (NT Server, NT Workstation, 98, 95, или Windows 3.1 для Workgroups) может выступать в роли главного локального браузера. Как и контроллер домена, главный локальный браузер может иметь один или более вторичных браузеров в локальной сети на случай, если главный локальный браузер не будет работать или станет недоступен. Для предупреждения этого, локальный вторичный браузер регулярно синхронизирует список просмотра с главным локальным браузером. Давайте добавим в нашу диаграмму домена Windows главный локальный и главный вторичный браузеры. Результаты показаны на Рисунке 1.13.

Рисунок 1.13: Домен Windows с главным и вторичным браузером

Figure 1.13

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

  • Если присутствует от 1 до 32 рабочих станций под управлением Windows NT в сети или от 1 до 16 компьютеров с Windows 95/98 в сети, главный локальный браузер создаст один вторичный браузер в дополнение к главному локальному браузеру.

  • Если количество рабочих станций  Windows NT от 33 до 64 или количество Windows 95/98 от 17 до 32, главный локальный браузер создаст два вторичных браузера.

  • Для каждой группы из  32 рабочих станций NT или 16 компьютеров с Windows 95/98, главный локальный браузер создаст один вторичный браузер.

Вообще не существует какого-либо предела вторичных браузеров, которые могут быть созданы главными локальными браузерами.

1.4.2.2 Выборы браузеров

Просмотр - это критический аспект любой рабочей группы Windows. Тем не менее, не все работает идеально в сети. На пример, давайте представим, что Windows NT Server на рабочем столе CEO маленькой компании является главным локальным браузером - до тех пор, пока его не выключат. С этого момента Windows NT Workstation соглашается принять на себя его работу. Тем не менее, этот компьютер сейчас работает над большой, плохо написанной программой, которая сильно загрузила его процессор. Мораль: просмотр весьма ощутим к серверам, которые входят и выходят из сети. Поскольку практически каждый компьютер Windows может служить браузером, должен существовать способ того, кто возьмет на себя эту работу. Этот процесс принятия решения называется  выборами.

Алгоритм выборов встроен практически во все версии ОС Windows, поэтому каждая из них может согласиться кто станет главным локальным браузером, а кто вторичным. Выборы могут быть проведены в любое время. На пример, давайте представим, что CEO закончил работу с сообщением и перезагружает сервер. Как только сервер появляется в сети, он анонсирует свое присутствие и производятся выборы для того, чтобы увидеть может ли компьютер в другом отделе выполнять роль главного браузера.

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

   Эти значения описывают какая ОС имеет приоритет и будет выполнять роль главного локального браузера. (Раздел 6, Пользователи, Безопасность и Домены, описывает процесс выборов более детально.) Разработанная архитектура архивирования этих данных выполнена достаточно плохо и имеет встроенные проблемы с безопасностью. В то время, как домен просмотра может быть совмещен с доменом безопасности, алгоритм выборов не входит во взаимодействие с компьютерами, которые становятся браузерами. Поэтому возможно, что если любой компьютер с работающей службой браузера для собственной регистрации проходит процедуру выборов и (после победы) может выполнять изменения в списке просмотра. Тем не менее, просмотр - это ключевая особенность сети Windows, сеть и обратная совместимость реализованы и используются уже несколько лет.

1.4.3 Может ли рабочая группа Windows разделена на несколько подсетей?

Да, но большинство людей, которые работают с этим имеют головную боль. Разбиение на несколько подсетей изначально не задумывалось при разработке Windows NT 3.5 или Windows for Workgroups. В результате, домен Windows который работает в одной или более подсетей, на самом деле "склеивает" вместе две или более рабочих групп, которые имеют одинаковое название. Хорошая новость заключается в том, что вы все еще можете использовать главный контроллер домена для слежения за аутенификацией в каждой подсети. Плохие новости заключаются в том, что не все так просто с просмотром.

Как было отмечено ранее, каждая подсеть должна иметь свой собственный главный локальный браузер. Когда домен Windows работает в нескольких подсетях, системный администратор должен выбрать один из компьютеров в качестве главного браузера домена. Главный браузер домена сохранит список просмотра для домена Windows. Этот список просмотра создается путем периодической синхронизации списка для каждого главного локального браузера со списком просмотра главного браузера домена. После синхронизации, главный локальный браузер и главный браузер домена будут содержать одинаковые записи. Взгляните на Рисунок 1.14 в качестве иллюстрации.

Рисунок 1.14: Рабочая группа, которая находится в более чем одной подсети

Figure 1.14

Звучит хорошо? Тем не менее, это не совсем нирвана по нескольким причинам:

  • Если существует главный контроллер домена, то он всегда играет роль главного браузера домена. По задумке Microsoft, два типа ресурса  NetBIOS <1B> не могут (к сожалению) быть разделены.

  • Компьютеры с Windows 95/98 не могут становиться или даже взаимодействовать с главным браузером домена. Группа разработчиков  Samba считает, что это маркетинговое решение  Microsoft, которое заставляет клиентов иметь в каждой подсети рабочей группы хотя бы одну рабочую станцию Windows NT (или сервер Samba).

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

Samba при необходимости может выступать как главный браузер домена в домене Windows. В дополнение, он также может выступать как главный локальный браузер для сети Windows, синхронизируя свой список просмотра с главным браузером домена.

1.4.4 Служба имен Интернет Windows (WINS)

Служба имен Интернет Windows (WINS) - это реализация сервера имен NetBIOS (NBNS) от  Microsoft. Поэтому WINS владеет многими характеристиками NetBIOS. Во-первых, WINS проста; вы можете иметь только один компьютер с именем fred или рабочую группу вроде CANADA или USA. В дополнение, WINS динамичен: когда клиент впервые входит в сеть, ему необходимо сообщить свое имя, адрес и рабочую группу локальному серверу WINS. Этот сервер WINS будет хранить эту информацию так долго, пока клиент будет периодически обновлять регистрацию  WINS, которая указывает, что он еще в сети. Отметим, что сервера WINS не специфичны к домену или рабочей группе; они могут появиться где угодно и служить кому угодно.

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

Активный на текущий момент сервер WINS называется  главным сервером  WINS. Вы также можете установить вторичный сервер WINS, который вступит в силу если главный сервер WINS упадет или станет недоступен. Отметим, что здесь не происходит выборов для того, чтобы определить какой компьютер станет главным или вторичным сервером WINS - выбор сервера  WINS  постоянен и должен быть переопределен системным администратором. Оба сервера, как главный, так и вторичный сервера WINS будут периодически синхронизировать свои базы данных адресов.

В семействе ОС Windows только  NT Workstation или  NT server могут выступать в роли сервера WINS. Samba может также функционировать как главный сервер WINS, но не как вторичный сервер WINS.

1.4.5 Что может делать Samba?

Вау! Вы наверное не думали, что сеть Microsoft может быть на столько сложной, не так ли? Теперь давайте покажем, где Samba может нам помочь. Таблица 1.6 суммирует те роли, которые может и не может выполнять Samba в домене Windows NT  или рабочей группе Windows. Как вы видите, многие из протоколов домена NT являются закрытыми и не документированы Microsoft, Samba не может правильно синхронизировать свои данные с сервером Microsoft и не может выступать в большинстве случаев как вторичный сервер. Тем не менее с версией  2.0. x, Samba имеет ограниченную поддержку протокола аутенификации в главном контроллере домена и каждый день становится все более и боле функциональнее.


Таблица 1.6: Роли Samba (как  2.0.4b)

Роль

Может ли выполнять?

File Server

Да

Printer Server

Да

Primary Domain Controller

Да (рекомендуется Samba 2.1 или выше)

Backup Domain Controller

Нет

Windows 95/98 Authentication

Да

Local Master Browser

Да

Local Backup Browser

Нет

Domain Master Browser

Да

Primary WINS Server

Да

Secondary WINS Server

Нет


Previous: 1.3 Getting Familiar with a SMB/CIFS Network Next: 1.5 An Overview of the Samba Distribution
1.3 Разбираемся с сетью SMB/CIFS  Book Index 1.5 Обзор дистрибутива  Samba

O'Reilly Home | O'Reilly Bookstores | How to Order | O'Reilly Contacts
International | About O'Reilly | Affiliated Companies

© 1999, O'Reilly & Associates, Inc.