Aprenda Linux, 302 (Ambientes Mistos): NetBIOS e WINS

Configurando o Samba para entregar nomes e gerenciar a navegação

A nomenclatura é incomum em redes SMB/CIFS. Embora clientes modernos possam usar nomes de domínio da Internet para referirem-se uns aos outros, clientes mais antigos contavam um sistema específico da Microsoft conhecido como servidor Windows Internet Name Service (WINS), ou NetBIOS Name Server (NBNS). Os dois termos são sinônimos. Portanto, é importante configurar o Samba adequadamente para a resolução de nome. Assim como é importante configurar navegação, que é o mecanismo pelo qual os servidores aprendem que compartilhamentos estão disponíveis em servidores específicos.

Roderick W. Smith, Consultant and author

Roderick Smith author photoRoderick W. Smith é consultor e autor de dezenas de livros sobre UNIX e Linux, incluindo The Definitive Guide to Samba 3, Linux in a Windows World e Linux Professional Institute Certification Study Guide. Ele é autor do software de particionamento GPT fdisk. Atualmente, Roderick reside em Woonsocket, Rhode Island.



17/Nov/2011

Sobre esta série

Esta série de artigos ajuda você a saber mais sobre as tarefas de administração de sistemas Linux. Também é possível usar o material desses artigos para se preparar para os exames de certificação do Linux Professional Institute nível 3 (LPIC-3).

Consulte o developerWorks roadmap for LPIC-3 para ver uma descrição de cada artigo da série e um link para cada um desses artigos. O roteiro está em andamento e reflete os objetivos atuais (março de 2011) em relação aos exames LPIC-3. À medida que cada artigo é concluído, eles são adicionados ao roteiro.

Visão geral

Neste artigo, saiba mais sobre estes conceitos:

  • Windows Internet Name Service (WINS)
  • Network input/output system (NetBIOS)
  • Recursos dos navegadores principais locais
  • Recursos do navegador principal de domínio
  • Resolução de nome
  • Configurando e usando o Samba como um WINS/NetBIOS Name Server (NBNS)
  • Navegação no NetBIOS, eleições e anúncios de serviço

Este artigo o ajuda na preparação para o Objetivo 314.2 no Tópico 314 do exame de especialização de Ambiente Misto do Linux Professional Institute (LPI) (302). O objetivo tem um peso de 7.


Pré-requisitos

Sobre o exame elegível LPI-302

O Linux Professional Institute Certification (LPIC) é como muitas outras certificações, pois também oferece certificações em níveis diferentes, e cada nível requer mais conhecimento e experiência que o anterior. O exame LPI-302 é um exame elegível de especialização no terceiro nível da hierarquia do LPIC e requer um nível avançado de conhecimento de administração de sistemas Linux.

Para obter a certificação LPIC nível 3 (LPIC-3), é necessário passar nos dois primeiros exames do primeiro nível (101 e 102), nos dois exames do segundo nível (201 e 202) e no exame principal do LPIC-3 (301). Depois de alcançar esse nível, é possível realizar os exames elegíveis de especialização, como o LPI-302.

Este artigo pressupõe que você tenha um conhecimento de trabalho das funções de linha de comando do Linux e um entendimento dos conceitos básicos da configuração do Samba. É necessário ter familiaridade com a estrutura geral do arquivo de configuração smb.conf. Também é necessário ter um entendimento básico de Domain Name System (DNS) como um ponto de comparação para alguns dos tópicos abordados neste artigo.


Entendendo a resolução de nome NetBIOS

Desenvolva seu próprio feed

É possível desenvolver um feed RSS, Atom ou HTML customizado para receber uma notificação sobre a inclusão de novos artigos ou a atualização do conteúdo. Acesse os feeds RSS do developerWorks . Selecione Linux como zona e Articles como tipo, e digite Linux Professional Institute como palavra-chave. Em seguida, escolha o tipo de feed preferencial.

Para a maior parte, os nomes de computador provavelmente serão os mesmos, independentemente do protocolo usado. No caso de protocolos Server Message Block (SMB)/Common Internet File System (CIFS), porém, há algumas preocupações em função do histórico do protocolo fora do âmbito TCP/IP comum. Especificamente, SMB/CIFS originados em redes que usavam protocolos NetBIOS e NetBIOS Extended User Interface (NetBEUI), que têm as próprias regras. Quando o SMB/CIFS foi modificado para funcionar com TCP/IP, algumas das antigas convenções de nomenclatura do NetBIOS precisaram ser adaptadas para o uso de TCP/IP. Embora nem sempre seja preciso seguir as convenções de nomenclatura do NetBIOS com clientes e servidores SMB/CIFS modernos, às vezes é preciso, então é necessário entender as regras, incluindo as diferentes maneiras como o NetBIOS resolve nomes e a função de um servidor WINS na sua rede.

Entendendo NetBIOS

A Figura 1 mostra uma representação de duas pilhas de rede (para cliente e servidor) usando o modelo Open System Interconnection. Pense no SMB/CIFS como uma pilha de protocolo em nível de representação nesse modelo. Na implementação pré-TCP/IP original, o SMB/CIFS contava com o NetBIOS no nível da sessão, que, por sua vez, contava com o NetBEUI no nível do transporte.

Figura 1. NetBEUI e NetBIOS são protocolos em camada de sessão e transporte na pilha de protocolo de rede
NetBEUI e NetBIOS são protocolos em camada de sessão e transporte na pilha de protocolo de rede

No Linux, não existe nem NetBIOS nem NetBEUI. O Samba assume os deveres de ambos nos protocolos SMB/CIFS e na implementação do NetBIOS. Em vez de usar o NetBEUI, o Samba comunica-se sobre TCP e User Datagram Protocol (UDP). A combinação de NetBIOS sobre TCP/IP é às vezes chamada de NBT, cujos deveres incluem:

  • O serviço de nome. Em sistema de rede TCP/IP, os computadores têm nomes usados por pessoas, mas os computadores comunicam-se usando endereços IP e endereços de hardware. No NetBEUI, os endereços IP não são usados— apenas nomes e endereços de hardware. O NBT, portanto, manipula a criação de endereços IP que não são exigidos em redes NetBEUI e SMB/CIFS sobre NetBIOS. A primeira metade deste artigo é dedicada a esse tópico.
  • O serviço de datagrama. Esse é um tipo de comunicação de rede que não cria uma conexão permanente. De modo geral, TCP/IP é equivalente a UDP, então o NBT usa UDP para recursos que exigem serviços de datagrama, como as eleições de navegador descritas na segunda metade deste artigo.
  • O serviço de sessão. Uma transação do NetBIOS forma uma conexão de longo alcance para a maioria das solicitações de transferência de dados, como quando um usuário monta um compartilhamento de arquivo. Esse tipo de serviço mapeia logicamente para a parte TCP do TCP/IP, então o NBT usa o TCP para essas conexões.

Na prática, o NBT não é muito mencionado. Geralmente, fala-se de nomes NetBIOS ou resolução de nomes NetBIOS ao descrever os nomes usados no sistema de rede SMB/CIFS e como eles são mapeados para endereços IP. Nomes NetBIOS vêm em duas partes:

  • O nome da máquina. Esse nome, como o nome da máquina em DNS, refere-se a um computador específico. Por uma questão prática, é melhor se esse nome for o mesmo que o nome da máquina DNS do computador. O nome da máquina pode não ser único no mundo, mas deve ser o único na rede, —pelo menos no domínio ou grupo de trabalho do computador.
  • O nome do grupo de trabalho. Esse nome se aplica a todos os computadores relacionados em uma rede. Em uma configuração simples (não de domínio) SMB/CIFS, o nome do grupo de trabalho é apenas uma maneira de reconhecer computadores para fins de navegação, conforme descrito na segunda metade deste artigo. Em uma rede configurada como domínio, o nome do grupo de trabalho é dado ao domínio, que fornece serviços em nível de domínio, conforme descrito em Aprenda Linux, 302 (ambientes mistos): Controle de domínio."

Esse sistema de nomenclatura de dois níveis é um dos motivos pelos quais o sistema de redes NetBIOS é local em escopo, pelo menos em comparação à Internet de abrangência global que é baseada em TCP/IP. Com apenas dois níveis de nomenclatura, é impraticável criar nomes suficientes que sejam únicos o suficiente para identificar, literalmente, bilhões de computadores.

No sistema de redes NetBIOS, cada computador é configurado com o próprio nome, que anuncia à rede usando uma transmissão. Essa abordagem descentralizada da nomenclatura permite a configuração fácil para usuários e administradores relativamente inexperientes —, desde que não tentem usar um nome que já esteja em uso.

Nomes do NetBIOS podem ter até 15 caracteres de comprimento. Eles podem conter letras, números e os seguintes símbolos:

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

Por uma questão prática, é melhor restringir nomes a letras e, talvez, números. Não há distinção entre maiúsculas e minúsculas para letras de nomes. Neste artigo, são usadas letras maiúsculas para nomes NetBIOS e letras minúsculas em nomes DNS.

Embora DOS, Windows e IBM Operating System/2 (OS/2) possuam suporte para NetBEUI, hoje, eles passaram a usar NBT amplamente, mesmo em redes em que todos os computadores podem usar NetBEUI. Os princípios básicos da operação do NBT e da resolução de nome do NetBIOS são os mesmos em todas essas plataformas.

Tipos de resolução de nome do NetBIOS

Suponha que um usuário sente em uma estação de trabalho e deseje acessar o servidor chamado SPEAKER. O usuário ativa o aplicativo cliente adequado e insere SPEAKER como o nome do servidor. O que acontece? Há quatro métodos diferentes de resolução de nome na rede:

  • Resolução de transmissão. O cliente pode enviar uma mensagem de transmissão, recebida por todos os computadores na rede local, pedindo o endereço IP associado ao nome de host SPEAKER. Então, esse computador deve responder, e o cliente pode iniciar a conexão para transferências de dados subsequentes. Esse tipo de resolução de nome é, às vezes, chamado de resolução de nome modo B , e um computador que usa esse método exclusivamente é chamado de nó B.
  • Usando um servidor de nome. O cliente pode contatar um servidor NBNS ou um servidor WINS. (Os dois termos são sinônimos.) Como um servidor DNS, um servidor WINS mantém um mapeamento dos endereços IP e nomes de host. Entretanto, um servidor WINS coleta esses mapeamentos com base nas transmissões que os computadores fazem quando inicializam, e não com base em um arquivo de configuração e consulta a outros servidores mantidos localmente. Esse método é, às vezes, chamado de resolução de nome modo P .
  • Usando lmhosts. Um arquivo de configuração chamado lmhosts (normalmente armazenado em /etc/samba em sistemas Samba, ou em C:\WINDOWS\SYSTEM32\DRIVERS\ETC em sistemas Windows) pode armazenar mapeamentos de endereços IP para nomes de host. Esse arquivo é similar ao arquivo /etc/hosts, que serve para um fim similar para os nomes de host TCP/IP.
  • Usando DNS. Embora não seja parte do NBT, é possível configurar o Samba para usar DNS para resolução de nome NetBIOS. (O mesmo é verdadeiro para versões modernas do Windows.)

Muitos computadores serão configurados para usar vários desses métodos de resolução de nome, e em uma ordem em particular, para maximizar as chances de encontrar o sistema desejado com o mínimo de alarde. Os sistemas Microsoft Windows 9x ou Windows Me antigos usavam resolução de modo B por padrão, mas a maioria das versões mais novas do Windows usa DNS como o método de resolução de nome NetBIOS principal.

Um servidor WINS, seja um computador Linux executando Samba ou um servidor Windows, deve escutar transmissões de nome, manter um mapeamento de endereços IP para nomes NetBIOS e responder a consultas sobre esses mapeamentos dos clientes. Na prática, isso significa que o servidor WINS deve estar disponível sempre —ou o mais perto disso que se possa gerenciar. Frequentemente, um controlador de domínio é um excelente candidato para funcionar como um servidor WINS. Se seu computador hospedar o próprio servidor DNS, ele pode ser uma boa escolha também. É necessário configurar explicitamente o computador escolhido como um servidor WINS —, uma tarefa que é descrita na próxima seção para servidores Samba.


Configurando as opções de resolução de nome do Samba

Com as necessidades e métodos da resolução de nome NetBIOS em mente, é possível prosseguir para a configuração das opções de resolução de nome do Samba. Elas enquadram-se em duas classes amplas: opções de cliente Samba e opções que controlam o comportamento do Samba como um servidor WINS.

Configurando as opções do cliente Samba

Pode-se desejar ajustar várias opções smb.conf que podem afetar o modo como o Samba apresenta-se à rede, ou como ele resolve nomes NetBIOS:

  • netbios name. Essa opção define o nome do NetBIOS que o servidor solita. Se essa opção for omitida, é assumida como padrão a parte do nome da máquina do nome de host DNS, como TUNESMITH , se o nome de host DNS for tunesmith.example.com.
  • netbios aliases. Um único computador pode solicitar mais de um nome NetBIOS. Para fazer isso, esta opção deve ser usada, como em netbios aliases = PRILL HALRLOPRILLALAR. Esses nomes são solicitados como acréscimo a qualquer conjunto por meio da opção netbios name .
  • workgroup. O nome de domínio ou grupo de trabalho é definido com essa opção. Para os recursos de domínio e navegação funcionarem corretamente, é necessário definir essa opção para o valor correto. O padrão é WORKGROUP.
  • name resolve order. Esse parâmetro assume uma ou mais entre quatro opções para controlar os quatro métodos de resolução de nome que o programa no conjunto Samba usa. Embora tenha pouco efeito prático sobre o lado do servidor, essa opção afeta o modo como ferramentas como smbclient resolvem nomes.
  • wins server. É possível especificar os nomes de host ou endereços IP de computadores configurados para funcionarem com servidores WINS com essa opção. Observe que especificar essa opção não garante que esses servidores serão consultados. A opção name resolve order determina esse detalhe.

Normalmente, a opção padrão netbios name funciona bem, e não há necessidade de uma opção netbios aliases . Entretanto, pode-se desejar usar uma ou mais dessas opções sob certas circunstâncias. Por exemplo, se configurar um servidor Samba para assumir os deveres de outros servidores que estão sendo aposentados, pode-se desejar usar netbios aliases para que o servidor Samba responda às consultas direcionadas aos nomes do computador aposentado. É possível usar netbios name ou netbios aliases se desejar usar um nome diferente para endereçamento NetBIOS do nome usado para outros fins.

Para usar name resolve order, é especificada uma ou mais entre quatro opções em uma lista separada por espaços:

  • lmhosts. Essa opção refere-se ao arquivo /etc/samba/lmhosts, que é descrito em mais detalhes em breve.
  • host. Essa opção se refere à resolução de nome TCP/IP normal, que pode incluir um servidor DNS, um arquivo /etc/hosts, ou outros métodos, dependendo da sua configuração TCP/IP local.
  • wins. Essa opção se refere à resolução de nome via servidor WINS. O servidor é especificado usando a opção wins server .
  • bcast. Se incluir essa opção, clientes Samba usarão a resolução de nome de transmissão NetBIOS.

A configuração padrão name resolve order usa as quatro origens na ordem recém-especificada. Em muitos casos, essa configuração padrão é suficiente, contudo, pode-se desejar ajustá-la. Por exemplo, se você não mantiver um arquivo lmhosts e desejar favorecer métodos NetBIOS sobre métodos DNS de resolução de nome, é possível alterar isso como segue:

name resolve order = wins bcast host

Se desejar usar um servidor WINS, deve garantir a inclusão do parâmetro wins server na sua configuração. Se não fizer isso, o Samba não terá como localizar o servidor WINS, e o efeito prático será o mesmo que se wins tivesse sido omitido na linha name resolve order .

Se desejar manter um arquivo lmhosts, deve entender o formato do arquivo, que é similar àquele de /etc/hosts. Cada computador tem uma entrada que ocupa uma única linha começando com o endereço IP do computador e termina com o seu nome do NetBIOS. Linhas de comentário começam com um sinal numérico (#). O resultado pode ser semelhante ao seguinte:

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

Configurando o Samba como um servidor WINS

Além das opções do Samba que afetam como ele resolve nomes do NetBIOS, é possível definir opções que permitem que o servidor Samba funcione como um servidor WINS:

Replicação WINS

Servidores Windows WINS podem usar um processo conhecido como replicação WINS para trocar dados entre servidores WINS em diferentes sub-redes. Infelizmente, o Samba versão 3 não possui suporte para replicação WINS, embora o suporte para esse recurso esteja planejado para o Samba versão 4. Durante certo tempo, uma ferramenta chamada wrepl fornecia suporte para replicação WINS. Entretanto, esse programa nunca passou do estágio experimental e, desde então, foi abandonado.

Por uma questão prática, o uso de opções como dns proxy e wins proxy aliado ao fato de que, agora, a maioria dos clientes usa DNS para grande parte dos objetivos de resolução de nome, torna a falta de suporte a replicação WINS desimportante para a maioria das instalações.

  • wins support. Configurar essa opção booleana para Yes faz com que funcione como um servidor WINS. O valor padrão é No.
  • wins proxy. Essa opção booleana determina se o Samba responderá a solicitações de transmissão pedindo nomes que não o próprio. Configurar essa opção para Yes (o padrão é No) pode melhorar a confiabilidade da resolução de nome do NetBIOS se sua rede abranger várias sub-redes ou se alguns computadores estiverem configurados para usar transmissões e outros para usar um servidor WINS.
  • dns proxy. Se essa opção booleana estiver definida para Yes (como o está por padrão), e seu servidor WINS do Samba não tiver um nome NetBIOS no arquivo que corresponda a uma solicitação de consulta, ele realiza uma consulta DNS usando as configurações definidas localmente para tentar encontrar um nome.
  • max wins ttl. Ao trabalhar como um servidor WINS, o Samba mantém informações sobre nomes coletados por um período de tempo limitado, conforme determinado pela solicitação do cliente e esse parâmetro. É necessário especificar um tempo em segundos. O valor padrão é de 518400 (6 dias).
  • min wins ttl. Essa opção funciona de maneira muito semelhante a min wins ttl, entretanto, define um tempo mínimo para armazenar os dados de nome. O valor padrão é 21600 (6 horas).

Normalmente, configurar wins server = Yes é suficiente para configurar o Samba como um servidor WINS —pelo menos na extremidade do Samba. Não há um método automático para clientes WINS localizarem servidores, porém, será preciso configurar os clientes para contar sobre o servidor WINS. A maneira mais fácil de fazer isso, pelo menos para clientes Windows, é ajustar a configuração do servidor Dynamic Host Configuration Protocol (DHCP). O servidor named popular pode ser configurado por meio do arquivo dhcpd.conf, que normalmente está em /etc. É necessário definir duas opções, que podem já estar presentes no alto do arquivo de configuração:

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

A primeira dessas linhas identifica o endereço IP do servidor WINS do Samba. A segunda define o tipo de nó , que determina os métodos de resolução de nome que são usados. Os valores variam de 1 a 8 , mas somente quatro são significativos:

  • 1. Os clientes devem usar transmissões sozinhas, ou seja, funcionam como nós B.
  • 2. Os clientes devem usar o servidor WINS sozinho, ou seja, funcionam como nós P.
  • 4. Os clientes devem usar transmissões primeiro, mas, se isso falhar, devem usar o servidor WINS. Esse cliente às vezes é chamado de nó M.
  • 8 . Os clientes devem usar um servidor WINS primeiro, mas se ele falhar, devem usar transmissões. Esse cliente às vezes é chamado de nó H.

Como uma regra geral, faz sentido configurar clientes como nós H, assim, é adequado passar um tipo de nó NetBIOS de 8 por meio do servidor DHCP.


Entendendo navegação

Na área da computação, o termo navegação normalmente se aplica à web: usamos navegadores da web para ler websites, como você está fazendo agora. No contexto de SMB/CIFS, porém, navegação significa outra coisa (embora seja similar): refere-se ao processo de descobrir quais recursos estão disponíveis na sua rede. Naturalmente, o Samba fornece opções de configuração que afetam como ele interage com seus clientes conforme eles realizam operações de navegação. Para ajustar essas configurações, é necessário entender alguns dos conceitos de navegação, como aqueles de navegador principal e eleições de navegador.

Uma visão geral de navegação

Se você usava recursos de compartilhamento de arquivo do Windows, é provável que tenha usado navegação, que é ilustrada pela Figura 2. Essa figura mostra a janela Janela de computador no Windows. No painel esquerdo, perto da parte inferior, um item Rede revela os computadores acessíveis na rede —HARK, NESSUS e WEMBLETH, no caso da Figura 2. É possível clicar em um desses computadores para ver os compartilhamentos que estão sendo oferecidos. Clique nos ícones de compartilhamento para ver os arquivos que eles contêm, e assim por diante.

Figura 2. Navegação permite que os usuários localizem servidores e compartilhamentos rapidamente
Navegação permite que os usuários localizem servidores e compartilhamentos rapidamente

Do ponto de vista do usuário, tudo isso acontece automaticamente, mas, é claro que há um esforço considerável nos bastidores para fazer com que tudo funcione. A navegação conta com um computador, conhecido como navegador principal, para compilar as listas de computadores. Quando um cliente navega na rede, ele contata o navegador principal para obter essa lista. O navegador principal, é claro, é um servidor. Esse servidor pode não precisar de muita configuração, mas se você desejar evitar desastres de navegação, como listas de navegação que esvaziam repentinamente sem motivo óbvio, é necessário entender um pouco sobre como a navegação funciona.

Oficialmente, há dois tipos de navegadores principais:

  • Navegadores principais locais Esses navegadores principais atendem uma única sub-rede. Eles escutam as mensagens transmitidas que os computadores usam para identificar-se e para solicitar um nome de NetBIOS e mantêm suas listas de navegação a partir dessas transmissões. Também respondem a consultas de transmissão que têm como objetivo localizar navegadores principais. Navegadores principais são designados por um processo conhecido como eleição, então, em princípio, qualquer computador pode tornar-se um navegador principal local. (Lembre que SMB/CIFS foi designado para uso em configurações de ponto a ponto, em que todos os computadores funcionam como clientes e servidores.)
  • Navegadores principais de domínio Porque os navegadores principais locais compilam as listas de servidor escutando mensagens transmitidas. Eles não podem trabalhar através de sub-redes— pelo menos, não sem alguma ajuda extra. É aqui que os navegadores principais de domínio entram. Eles comunicam-se com navegadores principais locais em várias sub-redes e trocam listas de navegação, permitindo que os computadores nessas diferentes sub-redes "vejam" uns aos outros. (Essa abordagem, no entanto, cria um atraso na aparição e desaparição de servidores.) Navegadores principais de domínio devem ser explicitamente configurados como tais. Eles não são designados por eleições. Normalmente, controladores de domínio funcionam como navegadores principais de domínio.

O Samba fornece opções, descritas em Configurando as opções de navegação do Samba, que permitem a um navegador principal local trocar listas de navegação com navegadores principais em outra sub-rede. Isso pode ser útil se você tiver uma rede de vários segmentos, mas não desejar executar uma configuração de domínio.

Navegadores principais locais também podem ter substitutos, conhecidos como navegadores de backup. Navegadores de backup mantêm as listas de navegação, mas normalmente não são chamados por clientes. A intenção é que eles possam assumir deveres do navegador principal com listas de navegação atualizadas se o navegador principal ficar indisponível.

Eleições de navegador principal

As eleições começam quando um computador chama outro, o que normalmente ocorre quando o navegador principal anterior não está respondendo a consultas. Entretanto, alguns sistemas (como o Samba) podem chamar eleições sempre que inicializarem, ou em outros momentos. As eleições normalmente levam alguns segundos para concluir, e a navegação não funcionará durante esse tempo, assim, não se deve configurar o Samba para ser agressivo demais em eleições exigentes. A eleição começa quando o computador que a chamou transmite seus critérios de eleição. Esses critérios podem ser classificados, conforme será descrito em breve. Qualquer outro computador que tenha uma classificação de critérios que supere a primeira transmite seus critérios em resposta. Um computador que acredita estar ganhando as eleições continuará a transmitir seus critérios a cada 200 a 800 milissegundos, até que tenha feito isso quatro vezes. Neste ponto, que ele declara a vitória e torna-se o navegador principal local.

Os critérios usados em uma eleição de navegador principal, em ordem decrescente de prioridade, são os seguintes:

  1. Versão de protocolo de eleição. Vários protocolos de eleição são teoricamente possíveis, mas, até o momento, apenas a versão 1 foi usada. Assim, embora esse recurso pudesse ser importante, na prática ele não é.
  2. Nível do sistema operacional. Cada sistema operacional tem uma classificação de 0 a 255 para preferência. Níveis mais altos de sistema operacional são preferenciais com relação aos mais baixos. A maioria dos sistemas operacionais Microsoft tem valores entre 1 e 32. É possível ajustar o sistema operacional Samba, como descrito a seguir, em Configurando as opções de navegação do Samba..
  3. Status do controlador de domínio primário. Se um computador for, atualmente, um controlador de domínio primário, ele ganha de qualquer outro computador no mesmo nível de sistema operacional e versão de protocolo de eleição.
  4. Status do servidor WINS. Um computador que atualmente esteja funcionando como servidor WINS ganhará uma eleição se os outros fatores não tiverem determinado o resultado.
  5. Navegador principal preferencial. Um computador pode ser designado como navegador principal preferencial, o que lhe dá um impulso na eleição.
  6. Navegador principal atual. Se o computador atualmente estiver funcionando como um navegador principal, ele recebe um impulso na eleição.
  7. Navegador principal anterior. Se o computador costumava funcionar como navegador principal, mas perdeu uma eleição recente e foi rebaixado para status de navegação de backup, ele obtém uma pequena vantagem na eleição.
  8. Executando o navegador de backup. Se o computador for, atualmente, o navegador de backup, ele obtém uma ligeira margem na eleição.

Se uma eleição for aberta e os resultados forem um empate, dois critérios de desempate adicionais podem ser usados:

  • Tempo de atividade. Se um computador estiver executando por mais tempo que outro, a máquina com mais tempo de execução ganha.
  • Nome do NetBIOS. O computador com o primeiro nome, quando classificado alfabeticamente, ganha a eleição se todos os outros critérios resultarem em empate.

Configurando as opções de navegação do Samba

Naturalmente, o Samba fornece muitas opções que afetam seu desempenho em eleições de navegador e sua capacidade de funcionar como um navegador principal de domínio. São descritas as opções que podem ser usadas para "burlar" uma eleição, aquelas usadas para permitir navegação através de sub-rede e aquelas necessárias para adquirir o status de navegador principal de domínio. Também são descritas as opções que podem ser definidas em servidores Samba (mesmo aqueles que não são navegadores principais) para ajustar os compartilhamentos que os usuários veem quando navegam no seu computador.

Configurando o Samba para ganhar uma eleição

As opções que podem afetar a habilidade do Samba de ganhar uma eleição de navegador principal local incluem as seguintes:

  • local master. Quando essa opção é definida para Yes (o padrão), o Samba participa das eleições de navegador principal local. Quando definida para No, ele não participa e, portanto, não pode ganhar uma eleição.
  • os level. O valor padrão do Samba para os level é 20, que é suficiente para ganhar eleições contra a maioria dos sistemas operacionais não de servidor Microsoft, mas não contra sistemas operacionais de servidor, que tendem a ter níveis de sistema operacional de 32. Se desejar garantir que um servidor Samba ganhe uma eleição, esse valor pode ser definido para 255. Assim, ele ganhará de qualquer outro, a não ser outro servidor Samba configurado de maneira similar. Entretanto, não defina essa opção extrema com frequência. Em uma rede com vários servidores Samba, um deve ser "manipulado" para ganhar a eleição.
  • domain logons. Como descrito no artigo sobre o Objetivo 312.4 do LPIC, essa opção booleana configura um servidor Samba para funcionar como um controlador de domínio primário, e, assim, afeta as chances do servidor em uma eleição de navegador.
  • wins support. Como o status do servidor WINS é um fator nas eleições, essa opção booleana pode afetar os resultados das eleições.
  • preferred master. Configurar essa opção booleana para Yes diz ao Samba para realizar uma eleição sempre que inicializar. Também define o sinalizador do navegador principal preferencial usado nas eleições. O valor padrão é No.
  • browse list. Esse parâmetro booleano, cujo valor padrão é Yes, determina se o servidor mantém uma lista de navegação. Se não mantiver, ele pode tornar-se um navegador principal ou de backup. (Se essa opção for definida para No, o Samba não participará das eleições.)

A maioria dos servidores Samba funciona bem com as configurações padrão. Eles cederão para sistemas operacionais Windows ou servidores Samba que foram configurados para ganhar as eleições, mas ganharão as eleições em configurações de grupo de trabalho que não contenha sistemas operacionais Windows Server.

Se você estiver com problemas de navegação, pode desejar investigar as configurações do servidor Samba. Os problemas frequentemente resultam de uma das duas condições a seguir:

  • Navegadores principais locais não confiáveis. Se um computador que funciona como navegador principal estiver desligado ou desconectado da rede, o resultado é uma interrupção da navegação. Isso pode acontecer em redes ponto a ponto com muitos computadores no mesmo nível de sistema operacional se os usuários desligarem os computadores de tempos em tempos. Nessa situação, uma boa solução é configurar um servidor Samba confiável para ganhar a eleição impulsionando seu nível de sistema operacional e talvez alterando outras opções.
  • Excesso de navegadores principais preferenciais Se mais de um computador estiver configurado como navegador principal preferencial, é possível ter chamadas repetidas para eleições como resultado, cada uma delas interrompendo a navegação por um breve período. Certifique-se de que pelo menos um servidor Samba por segmento de rede esteja configurado como o navegador principal preferencial. Se um computador Windows for o principal preferencial (como quando é configurado como controlador de domínio), certifique-se de que nenhum servidor Samba esteja configurado dessa maneira.

Habilitando navegação através de sub-rede em um grupo de trabalho

Se sua rede usar uma configuração de grupo de trabalho, mas abranger várias sub-redes, a resolução do nome e navegação podem não funcionar adequadamente através das sub-redes. As opções de servidor WINS, como descrito na primeira metade deste artigo, podem superar os problemas de resolução de nome. (Assim como podem usar DNS para resolução de nome.) A navegação, porém, pode exigir o uso de algumas opções incomuns apenas do Samba. Uma possibilidade é configurar um servidor WINS do Samba como o navegador principal de domínio. É possível fazer isso no Samba sem configurar um domínio completo, pois o Samba divide os recursos relevantes em opções independentes. Entretanto, se isso for feito, é necessário configurar um único servidor Samba tanto como servidor WINS quanto como navegador principal de domínio. Se isso não for feito, o navegador principal de domínio não terá informações sobre todos os nomes de host de que precisa para fazer o trabalho.

Se não for possível configurar um computador como servidor WINS e navegador principal de domínio, ou se considerar difícil atrair todos os computadores para registrarem-se eles mesmos com o servidor WINS, uma combinação de um ou mais de três parâmetros adicionais pode ajudar a abranger várias sub-redes:

  • remote browse sync. É possível especificar os endereços IP dos servidores Samba ou redes inteiras para essa opção, e o Samba trocará listas de navegação com esses servidores Samba ou com os navegadores principais que encontrar nas redes especificadas. Uma limitação importante dessa opção é que ela funciona apenas com servidores Samba. O Samba não pode trocar listas de navegador com navegadores principais locais Windows usando essa opção.
  • remote announce. O Samba pode anunciar sua presença a uma rede remota passando um endereço IP (incluindo um endereço de transmissão) e um nome de grupo de trabalho opcional, como em 192.168.8.255/PAK, em que se anuncia como um navegador principal local para o grupo de trabalho PAK na sub-rede 192.168.8.0/24. Ao contrário de remote browse sync, essa opção funciona para trocar listas de navegação com qualquer tipo de navegador principal, não apenas servidores Samba.
  • enhanced browsing. Essa opção booleana, que assume como padrão Yes, faz o Samba procurar e trocar listas de navegação com navegadores principais de domínio que encontra por meio de um servidor WINS ou de qualquer outra maneira. Essa opção pode fazer navegação através de sub-rede de maneira mais confiável, mas também pode impedir que grupos de trabalho extintos desapareçam das listas de navegação. Pode-se desejar defini-la como No se esse problema ocorrer.

Como uma regra geral, usar navegadores principais locais Samba em cada sub-rede e configurar cada um para usar remote browse sync e apontar para os outros servidores Samba são ações que funcionam bem para trocar listas de navegação através de sub-redes. Se não souber qual é o endereço IP exato do navegador principal local remoto, é possível usar um endereço de transmissão, como em 192.168.8.255 , para referir-se à rede 192.168.8.0/24.

Ativando as opções do navegador principal de domínio

Normalmente, o Samba assume o status de navegador principal de domínio quando é configurado como um controlador de domínio. É possível forçar o problema configurando a opção domain master para Yes. Esse parâmetro aceita valores booleanos mais o padrão de Auto, o que faz a configuração do navegador principal de domínio espelhar aquela do parâmetro domain logins , descrito em Aprenda Linux, 302 (ambientes mistos): Controle de domínio."

Uma vez que o Samba está configurado como o controlador e navegador principal de domínio, os membros do domínio não devem ter problemas para usar o servidor como um navegador principal de domínio. Navegadores principais locais em outras sub-redes podem localizar o navegador principal de domínio usando as consultas de nome de domínio. Essas consultas contêm códigos para identificar o navegador principal de domínio. É possível usar o parâmetro remote browse sync nos navegadores principais locais do Samba para garantir ainda mais a operação correta.

Esteja ciente de que a propagação da lista de navegação através de sub-redes não é instantânea. Os navegadores principais locais precisam de tempo para coletar suas listas de navegação. Eles sincronizam as listas de navegação com o navegador principal de domínio de tempos em tempos. Isso posto, pode levar vários minutos antes que todos os computadores apareçam nas listas de navegação em todas as sub-redes.

Configurando as opções de navegação local

A maioria dos recursos de navegação descritos neste artigo está relacionada a navegadores principais, que mantêm listas de computadores. Para a navegação ser positiva, servidores individuais precisam disponibilizar informações nos compartilhamentos que fornecem. As configurações padrão normalmente funcionam bem. Elas fazem com que mais compartilhamentos apareçam nas listas de navegação. O compartilhamento HOMES é uma exceção parcial. Essa definição de compartilhamento cria, para cada usuário do computador, um compartilhamento que normalmente aparece nas listas de navegação apenas para o usuário a quem pertence. Mesmo se não forem navegadores principais, é possível definir várias opções nos servidores de impressora e arquivo do Samba para ajustar como as informações de compartilhamentos locais são compartilhadas:

  • preload. É possível especificar uma lista de compartilhamentos que deseja disponibilizar nas listas de navegação, mesmo que elas não estejam comumente disponíveis. Por exemplo, é possível incluir compartilhamentos home específicos de usuários, como em preload = LOUIS para exibir o compartilhamento home desse usuário a todos. Essa opção também é chamada de auto services.
  • load printers. Essa opção booleana, que assume como padrão Yes, determina se os compartilhamentos de impressora criados pela definição PRINTERS são disponibilizados.
  • browseable. Essa opção booleana assume como padrão Yes , exceto por alguns tipos especiais de compartilhamentos. Quando definida para Yes, torna um compartilhamento visível nas listas de navegação. Configurar o valor para No oculta os compartilhamentos, mas não os torna inacessíveis aos usuários que conhecem o nome do compartilhamento.

Testando recursos do NetBIOS e do WINS

Quando você tiver configurado o servidor Samba como um servidor WINS ou navegador principal, ou mesmo que não tenha feito isso, é possível que queira testar a resolução do nome NetBIOS e os recursos de navegação. O Samba fornece várias ferramentas que podem ajudar a fazer isso. Entre elas, as ferramentas de maior destaque são findsmb e smbtree. (Ambas as ferramentas contam com ferramentas de nível mais baixo, como nmblookup e smbclient, para fazer o "trabalho difícil".)

O programa findsmb é uma ferramenta que envia uma consulta de transmissão para computadores NetBIOS na rede e relata os resultados. Normalmente, é chamado sem opções, embora seja possível passar a ele um endereço de sub-rede para consultar uma sub-rede não local, e a opção -r corrige um erro específico do Microsoft Windows 95. Os resultados do programa lembram aqueles da Listagem 1.

Listagem 1. Exemplo de saída de 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]

Essa saída inclui não apenas os nomes e endereços IP dos computadores locais, mas informações sobre seus grupos de trabalho, sistemas operacionais e versões do Samba sendo executados.

Ao contrário de findsmb, que possui poucas opções, o programa smbtree possui várias. Esse programa é usado para recuperar informações de navegação na sua rede. Na sua forma mais simples, exibe uma lista de navegação similar àquela que pode ser encontrada em um navegador de arquivos do Windows (como na Figura 2) mas na forma textual, como mostrado na Listagem 2. Observe que smbtree pede a sua senha de usuário. Essa senha é usada para obter acesso às informações de compartilhamento que muitos servidores não divulgam até que seja feito um login bem-sucedido.

Listagem 2. Exemplo de saída de 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

A maior parte da saída de smbtree é autoexplicativa: identifica o grupo de trabalho ou domínio (RINGWORLD neste exemplo), os servidores (WEMBLETH, SEEKER e NESSUS neste exemplo), e os compartilhamentos navegáveis em cada servidor (junto com uma descrição, que pode ser definida por meio da opção de compartilhamento comment ). O compartilhamento IPC$ é usado para realizar tarefas de segundo plano e, normalmente, é ocultado dos usuários, mas smbtree o expõe.

É possível adicionar uma variedade de opções a smbtree para alterar seu comportamento. A Tabela 1 apresenta as mais úteis dessas opções. Consulte a página principal para smbtree para detalhes ou opções mais obscuras.

Tabela 1. Opções para o comando smbtree
OpçãoEfeito
-b ou --broadcastFaz consultas usando transmissões, em vez de usar o navegador principal local para obter uma lista de navegação.
-D ou --domainsExibe uma lista de domínios conhecidos. Não exibe dados sobre os servidores e compartilhamentos disponíveis.
-S ou --serversExibe uma lista de domínios e servidores. Não exibe dados sobre compartilhamentos.
-dlevel ou --debuglevel=levelDefine o nível de detalhes a serem registrados para arquivos de log. O padrão é 0, o que significa poucos detalhes. Aumente o nível para ajudar a depurar problemas de rede.
-N ou --no-passSuprime o prompt de senha, que pode também restringir as informações disponíveis.
-U username ou --user=usernameDefine o nome de usuário usado para acessar o compartilhamento. Também é possível anexar um sinal de percentual (%) e uma senha, como em teela%lucky para usar teela como nome de usuário e lucky como senha. (Observe que lucky é uma senha muito fraca. Teela parece não se preocupar com essas coisas.)
-S ou --serversExibe uma lista de domínios e servidores. Não exibe dados sobre compartilhamentos.

Recursos

Aprender

Obter produtos e tecnologias

  • O código de origem http://ftp.samba.org/pub/unpacked/standalone_projects/source4/libcli/wrepl/ está disponível no website do Samba.

Discutir

  • Participe da comunidade do My developerWorks. Entre em contato com outros usuários do developerWorks e explore os blogs, fóruns, grupos e wikis voltados para desenvolvedores.

Comentários

developerWorks: Conecte-se

Los campos obligatorios están marcados con un asterisco (*).


Precisa de um ID IBM?
Esqueceu seu ID IBM?


Esqueceu sua senha?
Alterar sua senha

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


A primeira vez que você entrar no developerWorks, um perfil é criado para você. Informações no seu perfil (seu nome, país / região, e nome da empresa) é apresentado ao público e vai acompanhar qualquer conteúdo que você postar, a menos que você opte por esconder o nome da empresa. Você pode atualizar sua conta IBM a qualquer momento.

Todas as informações enviadas são seguras.

Elija su nombre para mostrar



Ao se conectar ao developerWorks pela primeira vez, é criado um perfil para você e é necessário selecionar um nome de exibição. O nome de exibição acompanhará o conteúdo que você postar no developerWorks.

Escolha um nome de exibição de 3 - 31 caracteres. Seu nome de exibição deve ser exclusivo na comunidade do developerWorks e não deve ser o seu endereço de email por motivo de privacidade.

Los campos obligatorios están marcados con un asterisco (*).

(Escolha um nome de exibição de 3 - 31 caracteres.)

Ao clicar em Enviar, você concorda com os termos e condições do developerWorks.

 


Todas as informações enviadas são seguras.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=80
Zone=Linux
ArticleID=774436
ArticleTitle=Aprenda Linux, 302 (Ambientes Mistos): NetBIOS e WINS
publish-date=11172011