Изучаем Linux, 302 (смешанные среды): NetBIOS и WINS

Конфигурирование Samba для управления системой имен и просмотра сетевого окружения

В сетях SMB/CIFS используется нестандартная схема имен. Хотя для обращения друг к другу современные клиенты могут использовать доменные Интернет-имена, более старые клиенты используют для этого разработанную компанией Microsoft службу Windows Internet Name Service (WINS), которая также известна как сервер имен NetBIOS (NetBIOS Name Server, NBNS). Таким образом, важную роль играют правильная настройка Samba для разрешения имен, а также настройка просмотра сетевого окружения – механизма, позволяющего серверам узнавать, какие общие ресурсы доступны в сети.

Об этой серии

Эта серия статьей поможет вам освоить задачи администрирования операционной системы Linux. Вы можете использовать материалы этих статей для подготовки к экзаменам программы LPIC третьего уровня (LPIC-3).

Чтобы посмотреть описания статей этой серии и получить ссылки на них, обратитесь к нашему перечню материалов для подготовки к экзаменам LPIC-3. Этот перечень постоянно дополняется новыми статьями по мере их готовности и содержит текущие (по состоянию на ноябрь 2010 года) цели экзаменов сертификации LPIC-3.

Краткий обзор

В этой статье рассматриваются следующие темы:

  • Windows Internet Name Service (WINS).
  • Сетевая базовая система ввода-вывода (NetBIOS).
  • Функции локального главного браузера.
  • Функции главного браузера домена.
  • Разрешение имен.
  • Конфигурирование и использование Samba в качестве сервера WINS/NBNS.
  • Просмотр сетевого окружения, выборы браузера и объявление служб NetBIOS.

Эта статья поможет вам подготовиться к сдаче экзамена LPI 302 (специализация "Смешанные среды") и содержит материалы цели 314.2 темы 314. Цель имеет вес 7.


Предварительные требования

О факультативном экзамене LPI-302

Как и многие другие программы, программа сертификации Linux Professional Institute (LPIC) предусматривает различные уровни сертификации, где для получения каждого последующего уровня необходимо обладать более глубокими знаниями и практическим опытом. Экзамен LPI-302 – это факультативный экзамен третьего уровня программы LPIC, требующий продвинутых знаний в области системного администрирования Linux.

Для получения сертификата LPIC третьего уровня (LPIC-3) необходимо успешно сдать два экзамена первого уровня (101 и 102), два экзамена второго уровня (201 и 202), а также базовый экзамен 301 третьего уровня (LPIC-3). Если вы получили сертификат третьего уровня, вы можете сдавать факультативные экзамены по определенным специализациям, например, экзамен LPI-302.

Предполагается, что читатель умеет работать с командной строкой Linux, знает основы конфигурирования Samba и имеет общее представление о структуре конфигурационного файла smb.conf. Также будет полезно понимание основ системы доменных имен (DNS), поскольку с этой технологией связаны некоторые темы, рассматриваемые в этой статье.


Что такое разрешение имен NetBIOS

Создайте ваш собственный канал

Вы можете создать ваш собственный RSS, Atom или HTML канал обновлений и получать уведомления о новых или обновленных статьях нашего сайта. Для этого перейдите на страницу developerWorks RSS feeds, выберите зону Linux, установите флажок Статьи и введите в качестве ключевой фразы Linux Professional Institute, после чего выберите требуемый тип канала.

Обычно имена компьютеров не зависят от используемого протокола. Тем не менее, при использовании протоколов SMB/CIFS возникают определенные проблемы с именами компьютеров, поскольку эти протоколы разрабатывались без привязки к стеку TCP/IP. Отдельно следует отметить то, что протоколы SMB/CIFS начинали разрабатываться в сетях, в которых использовались протоколы NetBIOS и NetBEUI (NetBIOS Extended User Interface) со своими собственными правилами. Когда протоколы SMB/CIFS были модифицированы для работы с TCP/IP, то некоторые старые соглашения о NetBIOS-именовании также были адаптированы для работы с TCP/IP. Иногда при работе с современными клиентами и серверами SMB/CIFS возникает необходимость в соблюдении этих схем именования, поэтому следует понимать определенные правила, включая различные способы, с помощью которых NetBIOS интерпретирует имена, и роль WINS серверов в сети.

Что такое NetBIOS

На рисунке 1 изображены два сетевых стека (для клиента и для сервера), использующих модель OSI. В этой модели SMB/CIFS можно рассматривать как стек протоколов уровня представлений. В исходной реализации (до адаптации к TCP/IP) протоколы SMB/CIFS использовали протокол NetBIOS на сеансовом уровне, который, в свою очередь, использовал протокол NetBEUI на транспортном уровне.

Рисунок 1. NetBEUI и NetBIOS – протоколы сеансового и транспортного уровня стека сетевых протоколов
Рисунок 1. NetBEUI и NetBIOS – протоколы сеансового и транспортного уровня стека сетевых протоколов

В операционной системе Linux протоколы NetBIOS и NetBEUI отсутствуют. Все функции протоколов SMB/CIFS и NetBIOS выполняет Samba. Вместо использования NetBEUI Samba осуществляет сетевые взаимодействия через протоколы TCP и UDP. Иногда комбинацию двух протоколов NetBIOS over TCP/IP называют механизмом NBT, который отвечает за реализацию следующих служб:

  • Служба имен. В сетях TCP/IP компьютеры имеют имена, которые назначили им люди, но взаимодействуют они с помощью IP- и MAC-адресов. В NetBEUI не используются IP-адреса, а используются только имена и MAC-адреса. Таким образом, NBT берет на себя задачу создания IP-адресов, которые не требуются для работы в SMB/CIFS over NetBIOS и NetBEUI сетях. Этому вопросу посвящена первая половина нашей статьи.
  • Служба датаграмм. Эта служба представляет собой отдельный тип сетевого взаимодействия, при котором не создается постоянного подключения. В сетях TCP/IP ее логическим эквивалентом является протокол UDP, поэтому NBT использует UDP для функций, не требующих использования служб датаграмм (например, выборы браузера, о которых пойдет речь во второй половине этой статьи).
  • Служба сеансов. Операции NetBIOS создают долговременные подключения для большинства запросов на передачу данных, например, при монтировании файлового ресурса пользователем. Логически этот тип служб соответствует протоколу TCP стека TCP/IP, поэтому для таких подключений NBT использует протокол TCP.

На практике NBT упоминается не часто: при упоминании имен, используемых в сетях SMB/CIFS, и их сопоставлениях с IP-адресами обычно говорят об NetBIOS-именах или о разрешении имен NetBIOS. NetBIOS-имена разделяются на две группы:

  • Имя компьютера. Это имя, так же, как и DNS-имя компьютера, относятся к определенному компьютеру. На практике удобнее, чтобы имя компьютера совпадало с его DNS-именем. Имя компьютера не должно быть уникальным во всем мире, но должно быть уникальным в пределах вашей сети (по крайней мере, в пределах рабочей группы или домена).
  • Имя рабочей группы. Это имя охватывает все компьютеры в сети. В простой конфигурации SMB/CIFS (без использования домена) имя рабочей группы – это просто способ организации компьютеров, позволяющий находить их в сетевом окружении, о чем будет рассказано во второй половине этой статьи. В доменном сетевом окружении имя рабочей группы назначается домену, предоставляющему различные сервисы на уровне домена, о чем рассказывается в статье "Изучаем Linux, 302 (смешанные среды): управление доменом."

Такая двухуровневая система именования является одной из причин, по которым работа в сетях NetBIOS ограничена локальной сетью, в то время как с глобальная сеть Интернет, построена на TCP/IP. При использовании лишь двух уровней именования не имеет смысл создавать имена в таком количестве, которое обеспечило бы их уникальность среди миллионов компьютеров.

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

NetBIOS-имена могут иметь длину до 15 символов, содержать буквы, цифры и следующие символы:

! @ # $ % ^ & ( ) - ' { } . ~

На практике лучше всего ограничиться буквами и, возможно, цифрами. Регистр символов в именах не учитывается. В этой статье я использую заглавные буквы для NetBIOS-имен и строчные – для DNS-имен.

Хотя операционные DOS, Windows и IBM Operating System/2 (OS/2) поддерживают NetBEUI, сегодня практически везде они используют NBT (даже в тех сетях, в которых все компьютеры могут использовать NetBEUI). Основные принципы работы NBT и системы разрешения имен NetBIOS одинаковы для всех этих платформ.

Способы разрешения NetBIOS-имен

Предположим, что пользователь работает за клиентским компьютером и хочет получить доступ к серверу с именем SPEAKER. Он запускает соответствующее клиентское приложение и вводит в качестве имени сервера SPEAKER. Что происходит в этот момент? В сетях NBT существует четыре различных способа разрешения имен:

  • Широковещательное разрешение имен. Клиент может послать широковещательное сообщение, получаемое всеми компьютерами в сети и содержащее запрос IP-адреса, связанного с именем хоста SPEAKER. После этого компьютер с указанным именем ответит ему и тогда клиент сможет начать установку соединения для последующей передачи данных. Этот тип разрешения имен иногда называется B-режимом разрешения имен (B mode), а использующий его компьютер – B-узлом (B-node).
  • Использование сервера имен. Клиент может обратиться к серверу NBNS, или WINS (эти два названия являются синонимами). Так же, как и DNS-сервер, WINS-сервер хранит сопоставления имен компьютеров и их IP-адресов. Однако WINS-сервер получает эти данные на основе широковещательных сообщений, рассылаемых компьютерами при их загрузке, а не путем просмотра локального конфигурационного файла или обращений к другим серверам. Этот способ разрешения имен иногда называется P-режимом разрешения имен (P-mode).
  • Использование файла lmhosts. Сопоставления имен компьютеров и их IP-адресов хранятся в конфигурационном файле с именем lmhosts (обычно он хранится в директории /etc/samba в системах с Samba-сервером или в директории C:\WINDOWS\SYSTEM32\DRIVERS\ETC в системах Windows). Этот файл похож на файл /etc/hosts, который выполняет те же самые функции для имен хостов TCP/IP.
  • Использование DNS. Хотя система DNS и не является частью NBT, можно настроить Samba на ее использование для разрешения NetBIOS-имен (это же относится к современным операционным системам Windows).

Многие компьютеры будут настроены на использование нескольких методов разрешения имен для повышения шансов нахождения требуемого компьютера с минимальными усилиями. В качестве основного метода разрешения NetBIOS имен старые операционные системы Microsoft Windows 9x или Windows Me по умолчанию используют B-режим, а большинство современных версий Windows – систему доменных имен DNS.

WINS-сервер (независимо от того, является ли он Linux-компьютером с установленным сервером Samba или Windows-сервером) должен прослушивать широковещательные сообщения с запросами на разрешение имен, хранить сопоставления NetBIOS-имен и IP-адресов и отвечать на запросы клиентов. На практике это означает, что WINS-сервер должен быть всегда доступен (или почти всегда, насколько это возможно). Часто на роль WINS-сервера отлично подходит контроллер домена. Если на каком-либо компьютере работает собственный DNS-сервер, то этот компьютер также может быть кандидатом на эту роль. Необходимо явно настроить выбранный компьютер на работу в качестве WINS-сервера, о чем будет рассказываться в следующем разделе применительно к серверам Samba.


Конфигурирование системы разрешения имен в Samba

Определившись с требованиями и способами разрешения NetBIOS-имен, можно приступать к настройке системы разрешения имен в Samba. Эта задача делится на две части: настройка параметров сервера Samba, работающего в качестве клиента, и настройка параметров Samba, работающего в качестве WINS-сервера.

Настройка Samba в качестве клиента

Следующие параметры файла smb.conf влияют на то, как Samba себя в сети и выполняет разрешение NetBIOS-имен:

  • netbios name. С помощью этого параметра задается NetBIOS-имя, заявляемое сервером. Если этот параметр не задан, то по умолчанию используется часть DNS-имени компьютера, соответствующая имени хоста; например, если DNS-имя компьютера tunesmith.example.com, то NetBIOS-именем будет TUNESMITH.
  • netbios aliases. С помощью этого параметра один компьютер может заявлять несколько NetBIOS-имен, например, aliases = PRILL HALRLOPRILLALAR. Эти имена заявляются в дополнение к любому имени, заданному с помощью параметра netbios name.
  • workgroup. С помощью этого параметра задается имя рабочей группы или домена. Для просмотра сетевого окружения и правильной работы служб домена необходимо задать для этого параметра правильное значение. По умолчанию значением этого параметра является WORKGROUP.
  • name resolve order. Этот параметр принимает от одной до четырех опций и управляет тем, какой из четырех способов разрешения имен будут использовать программы пакета Samba. Для серверной части этот параметр не имеет большого практического значения, однако он влияет на то, как будут выполнять разрешение имен такие утилиты, как, например, smbclient.
  • wins server. С помощью этого параметра задаются имена или IP-адреса компьютеров, настроенных на работу в качестве WINS-серверов. Заметим, что установка этого параметра не гарантирует, что к этим серверам будут выполняться обращения – эта функциональность настраивается с помощью параметра name resolve order.

Обычно для нормальной работы достаточно задать значение параметра netbios name без настройки параметра netbios aliases, однако при определенных обстоятельствах требуется использовать оба этих параметра. Например, если сервер Samba должен выполнять функции серверов, которые выводятся из эксплуатации, то параметр netbios aliases поможет настроить его так, что он будет отвечать на запросы, направляемые этим компьютерам. Если вы хотите использовать для NetBIOS-адресации одно имя, а для всех остальных задач – другое, то вам помогут параметры netbios name и netbios aliases.

При использовании параметра name resolve order указываются одна или несколько из четырех опций, разделенные пробелом:

  • lmhosts. Эта опция указывает на использование файла /etc/samba/lmhosts, который будет рассмотрен более подробно ниже.
  • host. Эта опция указывает на традиционный способ разрешения имен TCP/IP, включающий в себя использование DNS-сервера, файла /etc/hosts или других методов в зависимости от локальной конфигурации среды TCP/IP.
  • wins. Эта опция указывает на использование WINS-сервера, который указывается с помощью параметра wins server.
  • bcast. Если указать эту опцию, то клиенты Samba будут выполнять разрешение имен с использованием широковещательных запросов NetBIOS.

По умолчанию параметр name resolve order использует четыре метода в указанном выше порядке. Эта очередность подходит для многих ситуаций, однако, ее можно изменить. Например, если в сетевом окружении не используется файл lmhosts, а вместо методов DNS предпочтительнее использовать методы NetBIOS , то можно указать следующее значение:

name resolve order = wins bcast host

Если для разрешения имен используется WINS-сервер, то следует убедиться, что конфигурация содержит параметр wins server. В противном случае Samba не сможет обнаружить WINS-сервер, и результат будет такой же, как если бы в параметре name resolve order не была указана опция wins.

Если вы планируете использовать и обслуживать файл lmhosts, то следует понимать его формат, который соответствует формату файла /etc/hosts. Для каждого компьютера в этом файле имеется строка, начинающаяся с IP-адреса и заканчивающаяся NetBIOS-именем. Комментарии начинаются с символа решетки (#). Файл lmhosts может выглядеть примерно так:

# Edit this file when adding or removing machines
192.168.7.5  NESSUS
192.168.7.8  PRILL
192.168.7.56 TUNESMITH

Настройка Samba в качестве WINS-сервера

В дополнение к параметрам Samba, влияющим на разрешение NetBIOS-имен, можно задать ряд параметров, позволяющих серверу Samba работать в качестве WINS-сервера:

Репликация WINS

WINS-серверы Windows могут выполнять процесс, который называется репликацией WINS и позволяет обмениваться данными между несколькими WINS-серверами, расположенными в разных подсетях. К сожалению, в Samba версии 3 репликация WINS не поддерживается, хотя она запланирована в Samba версии 4. Какое-то время поддержку репликации WINS обеспечивала утилита wrepl, однако она никогда не имела статуса законченного продукта, и впоследствии от нее отказались.

На практике отсутствие репликации WINS не является серьезной проблемой для большинства конфигураций, поскольку возможно использовать параметры dns proxy или wins proxy; кроме того, в наши дни для разрешения имен в большинстве случаев используется система DNS.

  • wins support. Если этот логический параметр установлен в Yes, то Samba работает в качестве WINS-сервера. По умолчанию этот параметр установлен в No.
  • wins proxy. Этот логический параметр определяет, будет ли Samba отвечать на широковещательные запросы разрешения всех имен, кроме собственного. Установка этого параметра в Yes (по умолчанию он установлен в No) может повысить надежность разрешения NetBIOS-имен, если сетевое окружение разделено на несколько подсетей или если часть компьютеров настроена на использование широковещательных запросов, а часть – на использование WINS-серверов.
  • dns proxy. Если этот логический параметр установлен в Yes (это значение используется по умолчанию), то происходит следующее: если WINS-сервер Samba не содержит нужного NetBIOS-имени в файле, отвечающем за разрешение имен, то поиск этого имени выполняется в системе DNS с применением локально настроенных параметров DNS.
  • max wins ttl. При работе с WINS-сервером Samba хранит накопленную информацию об именах в течение определенного временного интервала, устанавливаемого на основе клиентского запроса и данного параметра. Значение параметра задается в секундах и по умолчанию составляет 518400 (6 дней).
  • min wins ttl. Этот параметр работает так же, как и параметр min wins ttl, но задает минимальный временной интервал для хранения информации о полученных именах. Значение этого параметра по умолчанию составляет 21600 (6 часов).

Как правило, для настройки работы Samba в качестве WINS-сервера достаточно задать параметр wins server = Yes. Поскольку не существует способа автоматического обнаружения клиентами WINS-серверов, то необходимо настроить клиентские компьютеры и указать для них требуемый WINS-сервер. Самый простой способ сделать это (по крайней мере, на Windows-клиентах) – это настроить необходимые параметры на DHCP-сервере. Популярный сервер доменных имен named можно настроить с помощью его конфигурационного файла dhcpd.conf, обычно расположенного в директории /etc. Необходимо задать два параметра, которые уже могут присутствовать в начале конфигурационного файла:

option netbios-name-servers 192.168.7.2;
option netbios-node-type 8;

Первая из этих двух строк определяет IP-адрес WINS-сервера Samba. Вторая строка задает тип узла, определяя способ разрешения имен. В этой сроке можно указать значения от 1 до 8, однако полезными являются только четыре из них:

  • 1. Клиентские компьютеры должны использовать только широковещательные сообщения, т. е. являются B-узлами.
  • 2. Клиентские компьютеры должны использовать только WINS-сервер, т. е. являются P-узлами.
  • 4. Клиентские компьютеры должны сначала использовать широковещательные сообщения, а если это не срабатывает, то использовать WINS-сервер. Такие клиентские компьютеры иногда называют M-узлами.
  • 8. Клиентские компьютеры должны сначала использовать WINS-сервер, а если это не срабатывает, то использовать широковещательные сообщения. Такие клиентские компьютеры иногда называют H-узлами.

В общем случае рекомендуется настраивать клиентские компьютеры в качестве H-узлов, поэтому на DHCP-сервере рекомендуется указывать тип NetBIOS-узла 8.


Что такое просмотр сетевого окружения

В компьютерном мире термин browsing (просмотр) обычно относится к всемирной WWW-сети; для просмотра Web-сайтов мы используем Web-браузеры, как вы делаете это сейчас. В контексте SMB/CIFS термин browsing означает нечто другое (хотя и похожее по смыслу): просмотр сетевого окружения означает процесс обнаружения доступных в сети ресурсов. Samba изначально имеет параметры конфигурации, влияющие на то, как она взаимодействует с клиентскими компьютерами и просматривает сетевое окружение. Однако, для того чтобы настраивать эти параметры, необходимо понимать ключевые принципы, на которых основаны механизмы просмотра сетевого окружения, например, принципы работы главного браузера и проведения выборов браузера.

Обзор механизма просмотра сетевого окружения

Если вы работали с общими файлами в Windows, то, вероятно, вы просматривали сетевое окружение, как показано на рисунке 2. На этом рисунке изображено окно Computer операционной системы Windows: узел Network в левой панели окна содержит список доступных в сети компьютеров – HARK, NESSUS и WEMBLETH. Можно щелкнуть мышью на каждом из этих компьютеров, чтобы посмотреть, какие общие ресурсы он содержит, щелкнуть на значке общего ресурса компьютера, чтобы узнать, какие на нем есть файлы, и т. д.

Рисунок 2. Просмотр сетевого окружения позволяет пользователям быстро находить серверы и общие ресурсы
Рисунок 2. Просмотр сетевого окружения позволяет пользователям быстро находить серверы и общие ресурсы

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

Официально существует два типа главных браузерей:

  • Локальные главные браузеры – обслуживают одну подсеть; прослушивают широковещательные сообщения, в которых компьютеры сообщают о себе и передают свои NetBIOS-имена, а также управляют своими списками просмотра, формируемыми на основе этих сообщений. Также они отвечают на широковещательные запросы обнаружения главных браузерей. Локальные главные браузеры выбираются на основе процесса, который называется выборами, поэтому в принципе, локальным главным браузером может стать любой компьютер (напомним, что протоколы SMB/CIFS были разработаны для использования в одноранговых конфигурациях, в которых все компьютеры являлись одновременно и клиентами, и серверами).
  • Главные браузеры доменов. Поскольку локальные главные браузеры формируют свои списки серверов, прослушивая широковещательные сообщения, то они не могут работать в нескольких подсетях (по крайней мере, без дополнительной помощи). В таких случаях в дело вступают главные браузеры доменов, которые взаимодействуют с локальными главными браузерами нескольких подсетей и обмениваются списками просмотра, позволяя компьютерам из различных подсетей видеть друг друга (хотя такой подход приводит к некоторым задержкам при внесении и удалении серверов из списков просмотра). Главные браузеры доменов должны быть указаны явным образом – они не назначаются в результате выборов. Обычно в роли главного браузера доменов выступают контроллеры доменов.

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

Главные браузеры могут иметь своих "заместителей", которые называются резервными браузерами. Резервные браузеры обслуживают списки просмотра, но в обычных ситуациях клиентские компьютеры к ним не обращаются. Назначение резервного браузера – взять на себя роль главного браузера, если последний окажется недоступен.

Выборы главного браузера

Выборы начинаются в тот момент, когда компьютер запрашивает об этом; обычно это происходит тогда, когда предыдущий главный браузер перестает отвечать на запросы, но некоторые системы (например, в Samba) могут инициировать выборы в момент загрузки или в любой другой момент времени. Как правило, вся процедура выборов занимает несколько секунд, в течение которых просмотр сетевого окружения становится невозможен, поэтому не стоит настраивать Samba на слишком частые запросы процедуры выборов. Выборы начинаются тогда, когда компьютер, запрашивающий их, рассылает широковещательный пакет с критериями выборов. Эти критерии можно ранжировать, как будет показано ниже. Любой компьютер, приоритет критерия которого выше, чем приоритет полученного критерия, посылает в ответ широковещательное сообщение со своим критерием. Компьютер, который считает себя победившим в выборах, продолжает рассылать свои широковещательные критерии выборов каждые 200-800 миллисекунд до тех пор, пока это не будет сделано четыре раза, после чего считается, что он победил в выборах, и он становится локальным главным браузером.

Критерии, используемые при выборе главного браузера, можно упорядочить следующим образом (в порядке убывания приоритета):

  1. Версия протокола выборов. Теоретически можно использовать несколько протоколов выборов, но на сегодняшний день используется только версия 1. Таким образом, этот критерий мог бы играть важную роль, но на практике это не так.
  2. Приоритет операционной системы. Каждая операционная система имеет свой приоритет от 0 до 255. Операционные системы с большим приоритетом являются более предпочтительными. Большинство операционных систем Microsoft имеют приоритеты от 1 до 32. Можно настроить приоритет для Samba, как будет описано в следующем разделе Настройка параметров просмотра сетевого окружения в Samba.
  3. Статус основного контроллера домена. Если компьютер является действующим основным контроллером домена, то он побеждает в выборах среди всех компьютеров с тем же самым приоритетом ОС и версией протокола выборов.
  4. Статус WINS-сервера. Если компьютер является действующим WINS-сервером, то он побеждает в выборах, если результат не был определен предыдущими факторами.
  5. Предпочитаемый главный браузер. Компьютер может быть назначен предпочитаемым главным браузером, что дает ему преимущество для победы в выборах.
  6. Текущий главный браузер. Если компьютер является действующим главным браузером, то получает преимущество для победы в выборах.
  7. Бывший главный браузер. Если компьютер работал в качестве главного браузера, но проиграл последние выборы и был понижен до статуса резервного браузера, то он получает небольшое преимущество для победы в выборах.
  8. Работающий резервный браузер. Если компьютер является действующим резервным браузером, то получает в выборах небольшой перевес в свою пользу.

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

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

Настройка параметров просмотра сетевого окружения в Samba

В Samba имеется множество параметров, влияющих на ее участие в выборах главного браузера и возможность работы в качестве главного браузера домена. В этой статье я расскажу о параметрах, которые можно использовать для "фальсификации" выборов, просмотра сетевого окружения с несколькими подсетями и получения статуса главного браузера домена. Также я расскажу о параметрах серверов Samba (даже если они не являются главными браузерами) для настройки общих ресурсов, которые видят пользователи, заходя на ваш компьютер в сетевом окружении.

Настройка Samba для победы в выборах

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

  • local master. Если этот параметр установлен в Yes (значение по умолчанию), то Samba принимает участие в выборах локального главного браузера. Если же этот параметр установлен в No, то Samba не принимает участия в выборах и, следовательно, не может победить в них.
  • os level. По умолчанию параметр os level в Samba равен 20. Это значение позволяет Samba выигрывать выборы у большинства клиентских операционных систем Microsoft, но не у серверных операционных систем, приоритет которых приближается к 32. Если вы хотите обеспечить абсолютную победу Samba в выборах, то задайте для этого параметра значение 255, что позволит выиграть выборы у всех компьютеров, за исключением серверов Samba с аналогичной конфигурацией. Не выставляйте это значение где только возможно, поскольку в сети с несколькими серверами Samba, только один из них можно "фальсифицировать" таким образом.
  • domain logons. Как рассказывалось в статье, содержащей материалы цели 312.4 экзамена LPIC, этот логический параметр настраивает сервер Samba на работу в качестве основного контроллера домена и, следовательно, влияет на выбор сервера Samba в качестве главного браузера.
  • wins support. Поскольку статус WINS-сервера влияет на исход выборов, то этот логический параметр также влияет на выбор сервера Samba в качестве главного браузера.
  • preferred master. Установка этого логического параметра в Yes указывает Samba послать запрос на проведение выборов при ее запуске. Также этот параметр устанавливает флаг "предпочитаемый главный браузер", используемый в процедуре выборов. По умолчанию этот параметр установлен в No.
  • browse list. Этот логический параметр (по умолчанию установлен в Yes) определяет, обслуживает ли сервер список просмотра. Если это так, то сервер может стать резервным или главным браузером (если этот параметр установить в No, то Samba не будет принимать участие в выборах).

В большинстве случаев серверы Samba нормально работают с настройками по умолчанию: они выигрывают выборы в конфигурациях с рабочими группами, где нет серверов под управлением ОС Windows Server, и позволяют выиграть выборы серверам под управлением ОС Windows Server или специально настроенным для этого серверам Samba в тех конфигурациях, где они есть.

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

  • Ненадежные локальные главные браузеры. Если компьютер, работающий в качестве главного браузера, будет выключен или отсоединен от сети, то это приведет к сбоям просмотра сетевого окружения. Такая ситуация может возникнуть в одноранговой сети, состоящей из множества компьютеров под управлением операционных систем с одинаковым приоритетом, в которой пользователи периодически выключают свои компьютеры. В такой ситуации хорошим решением будет являться настройка надежного сервера Samba, который будет выигрывать выборы (для этого необходимо поднять его приоритет и, возможно, изменить другие параметры).
  • Слишком много предпочитаемых главных браузерей. Если в качестве предпочитаемого главного браузера настроено более одного компьютера, то это может привести к повторяющимся запросам на проведение выборов, каждый из которых, в свою очередь, будет приводить к кратковременным сбоям просмотра сетевого окружения. Убедитесь в том, что в каждом сегменте сети в качестве предпочитаемого главного браузера настроен только один сервер Samba. Если предпочитаемым главным браузером является компьютер под управлением Windows (например, если это контроллер домена), то убедитесь в том, что ни один сервер Samba не настроен в качестве предпочитаемого браузера.

Включение просмотра нескольких подсетей для рабочей группы

Если вы используете конфигурацию рабочей группы, включающую в себя несколько подсетей, то просмотр сетевых ресурсов и разрешение имен может не работать между этими подсетями. Проблемы, связанные с разрешением имен, можно решить с помощью параметров WINS-сервера, которые обсуждались в первой половине этой статьи (можно также использовать для разрешения имен систему DNS). Однако для просмотра сетевого окружения может потребоваться использовать некоторые необычные параметры, которые есть только в Samba. Одним из способов является настройка WINS-сервера Samba в качестве главного браузера домена. В Samba это можно сделать без необходимости полной настройки домена, поскольку требуемая функциональность разделена на независимые модули. Тем не менее, если вы решите сделать это, то вам придется настроить один сервер Samba как в качестве WINS-сервера, так и в качестве главного браузера домена; если же вы решите не делать этого, то главный браузер домена не получит информацию обо всех остальных именах хостов, необходимых для его работы.

Если вы не можете настроить один компьютер в качестве WINS-сервера и главного браузера доменов, или вы не можете заставить все ваши компьютеры зарегистрироваться на WINS-сервере, то объединить несколько подсетей вам помогут следующие параметры:

  • remote browse sync. В этом параметре можно указать IP-адреса серверов Samba или целых подсетей, после чего Samba будет обмениваться списками просмотра со всеми серверами Samba или главными браузерами, которые она обнаружит в указанных подсетях. Важным ограничением этого параметра является то, что он работает только с серверами Samba (т. е. Samba не может обмениваться списками просмотра с локальными главными браузерами под управлением Windows).
  • remote announce. Samba может анонсировать информацию о себе в удаленные сети, передавая IP-адрес (включая широковещательный адрес подсети) и необязательное имя рабочей группы. Например, в сообщении 192.168.8.255/PAK Samba заявляет себя как локальный главный браузер для рабочей группы PAK в подсети 192.168.8.0/24. В отличие от параметра remote browse sync, этот параметр позволяет передавать списки просмотра любому главному браузеру, а не только серверам Samba.
  • enhanced browsing. Этот логический параметр (по умолчанию установлен в Yes) заставляет Samba искать и обмениваться списками просмотра с обнаруженными главными браузерами домена, используя для этого WINS-сервер или любые другие способы. Этот параметр позволяет обеспечить более надежный просмотр сетевого окружения, состоящего из нескольких подсетей, но также может не удалять несуществующие рабочие группы из списков просмотра, поэтому, если вы столкнулись с такой проблемой, то, возможно, следует установить этот параметр в No.

В общем случае обмен списками просмотра между подсетями можно обеспечить следующим способом: использовать в каждой подсети локальный главный браузер Samba, настроенный с помощью параметра remote browse sync, в котором указаны серверы Samba других подсетей. Если вы не знаете точно IP-адресов удаленных локальных главных браузерей, то можно указать широковещательный адрес подсети, например, 192.168.8.255 для сети 192.168.8.0/24.

Настройка параметров главного браузера домена

Обычно Samba берет на себя роль главного браузера домена, когда она настраивается в качестве контроллера домена. Это можно настроить принудительно, установив параметр domain master в Yes. Этот параметр может принимать логические значения Yes или No, а также значение Auto (значение по умолчанию), подставляющее в конфигурацию значение параметра domain logins, о котором рассказывалось в статье "Изучаем Linux, 302 (смешанные среды): управление доменом".

После того, как сервер Samba настроен в качестве контроллера домена и главного браузера домена, все члены домена не должны испытывать никаких сложностей с его использованием. Локальные главные браузеры из других подсетей могут обнаруживать главный браузер домена, используя запросы доменных имен, содержащие коды для идентификации главного браузера домена. Чтобы обеспечить еще более надежную работу, можно использовать на локальных главных браузерах Samba параметр remote browse sync.

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

Настройка локальных параметров просмотра

Большинство рассмотренных в этой статье параметров было связано с главными браузерами, поддерживающими списки компьютеров. Однако для того, чтобы можно было просматривать сеть, отдельные серверы должны сообщать о предоставляемых ими общих ресурсах. Обычно параметры по умолчанию обеспечивают нормальную работу, и большинство общих ресурсов появляются в списках просмотра. Частным исключением является ресурс HOMES: этот общий ресурс создается для каждого пользователя и обычно виден только тому пользователю, которому он принадлежит. Даже если сервер Samba не является главным браузером, для него также можно задать несколько параметров, отвечающих за настройку локальных файловых ресурсов и ресурсов печати:

  • preload. С помощью этого параметра указывается список общих ресурсов, которые должны присутствовать в списках просмотра, даже если обычно они не доступны. Например, можно указать домашние директории определенных пользователей: параметр preload = LOUIS позволит всем просматривать домашнюю директорию пользователя Louis. Этот параметр также называется auto services.
  • load printers. Этот логический параметр (по умолчанию установлен в Yes) определяет, будут ли доступны общие ресурсы печати, созданные командой PRINTERS.
  • browseable. Этот логический параметр по умолчанию установлен в Yes для большинства общих ресурсов, за исключением нескольких специальных типов. Если он установлен в Yes, то общий ресурс отображается в списках просмотра. Если же он установлен в No, то общий ресурс не отображается, но к нему могут получить доступ все пользователи, которые знают о его существовании.

Проверка работы NetBIOS и WINS

После того, как сервер Samba настроен в качестве WINS-сервера или главного браузера (а, может, и раньше), может возникнуть желание проверить работу службы разрешения NetBIOS-имен и функций просмотра сетевого окружения. Для этого в Samba имеется несколько инструментов. Самые примечательные из этих инструментов – это findsmb и smbtree (работа обоих основана на использовании низкоуровневых утилит, таких как nmblookup и smbclient, выполняющих всю "тяжелую" работу).

Программа findsmb – это инструмент, посылающий широковещательные запросы на обнаружение NetBIOS-компьютеров в сети и возвращающий результаты поиска. Обычно эта программа запускается без каких-либо опций, хотя можно указать ей адрес удаленной опрашиваемой подсети или опцию -r, устраняющую недостатки операционной системы Microsoft Windows 95.

Листинг 1. Пример вывода команды findsmb
$ findsmb

                                *=DMB
                                +=LMB
IP ADDR         NETBIOS NAME     WORKGROUP/OS/VERSION 
---------------------------------------------------------------------
192.168.7.1     CISCOC8231    +[	              ]
192.168.7.5     NESSUS        *[RINGWORLD] [Unix] [Samba 3.4.12]
192.168.7.9     HARK           [RINGWORLD] [Unix] [Samba 3.5.7]
192.168.7.56    TUNESMITH     +[RINGWORLD] [Unix] [Samba 3.0.28a-apple]

Этот листинг содержит не только имена и IP-адреса локальных компьютеров, но также информацию об их рабочих группах, операционных системах и версиях запущенных серверов Samba.

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

Листинг 2. Пример вывода команды smbtree
$ smbtree
Enter rodsmith's password: 
RINGWORLD
	\\WEMBLETH          	        wembleth server (Samba, Ubuntu)
		\\WEMBLETH\IPC$             IPC Service (wembleth server (Samba, Ubuntu))
                \\WEMBLETH\programs         User programs
	\\SEEKER         		seeker server (Samba, Ubuntu)
		\\SEEKER\rodsmith           Home Directories
		\\SEEKER\IPC$               IPC Service (seeker server (Samba, Ubuntu))
		\\SEEKER\MYTHTV             Home Directories
	\\NESSUS         		Nessus
		\\NESSUS\rodsmith           Home Directories
		\\NESSUS\hp4000             HP4000 via Ethernet
		\\NESSUS\Epson_RX500        EPSON Stylus Photo RX500
		\\NESSUS\IPC$               IPC Service (Nessus)
		\\NESSUS\cf                 Epson RX500 CF port
		\\NESSUS\floppy             Floppy Drive

Большая часть информации, выводимой командой smbtree, говорит сама за себя и включает сведения о рабочей группе или домене (в нашем примере это RINGWORLD), серверах (WEMBLETH, SEEKER и NESSUS) и доступных для просмотра общих ресурсах (а также описания, которые задаются с помощью опции comment). Ресурс IPC$ используется для выполнения фоновых задач и обычно скрыт от пользователей, однако smbtree показывает информацию о нем.

Можно использовать различные опции команды smbtree, влияющие на ее работу. В таблице 1 перечислены наиболее полезные из них. За дополнительной информацией о более продвинутых опциях обратитесь к man-странице smbtree.

Таблица 1. Опции команды smbtree
ОпцияДействие
-bили --broadcastВыполняет широковещательные запросы, а не запросы к локальному главному браузеру, для получения списка просмотра.
-Dили --domainsВыводит список известных доменов; не выводит информацию о доступных серверах и общих ресурсах.
-S или --serversВыводит список доменов и серверов; не выводит информацию об общих ресурсах.
-d level или --debuglevel=levelУстанавливает уровень детализации для записи в log-файлы; по умолчанию используется значение 0 (минимум информации). Для поиска и устранения проблем с сетью увеличьте уровень детализации.
-Nили --no-passОтключает запрос пароля, что может отразиться на выводимой информации.
-U username или --user=usernameЗадает имя пользователя, используемое для доступа к общему ресурсу. Также можно добавить знак процента (%) и пароль; например, опция teela%lucky задает имя пользователя teela и пароль lucky (заметим, что lucky – это очень слабый пароль; позаботиться об этом должна не Teela).
-S или --serversВыводит список доменов и серверов; не выводит информацию об общих ресурсах.

Ресурсы

Научиться

Получить продукты и технологии

  • Исходный код утилиты http://ftp.samba.org/pub/unpacked/standalone_projects/source4/libcli/wrepl/ доступен на Web-сайте Samba.

Обсудить

Комментарии

developerWorks: Войти

Обязательные поля отмечены звездочкой (*).


Нужен IBM ID?
Забыли Ваш IBM ID?


Забыли Ваш пароль?
Изменить пароль

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Профиль создается, когда вы первый раз заходите в developerWorks. Информация в вашем профиле (имя, страна / регион, название компании) отображается для всех пользователей и будет сопровождать любой опубликованный вами контент пока вы специально не укажите скрыть название вашей компании. Вы можете обновить ваш IBM аккаунт в любое время.

Вся введенная информация защищена.

Выберите имя, которое будет отображаться на экране



При первом входе в developerWorks для Вас будет создан профиль и Вам нужно будет выбрать Отображаемое имя. Оно будет выводиться рядом с контентом, опубликованным Вами в developerWorks.

Отображаемое имя должно иметь длину от 3 символов до 31 символа. Ваше Имя в системе должно быть уникальным. В качестве имени по соображениям приватности нельзя использовать контактный e-mail.

Обязательные поля отмечены звездочкой (*).

(Отображаемое имя должно иметь длину от 3 символов до 31 символа.)

Нажимая Отправить, Вы принимаете Условия использования developerWorks.

 


Вся введенная информация защищена.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=40
Zone=Linux
ArticleID=827812
ArticleTitle=Изучаем Linux, 302 (смешанные среды): NetBIOS и WINS
publish-date=07262012