O Samba pode utiliza os seguintes métodos para resolução de nomes de máquinas na rede (“Nome de máquina (nome NetBios)”). Eles estão listados em ordem de prioridade do mais para o menos recomendável:
lmhosts
- Pesquisa primeiro o arquivo
/etc/samba/lmhosts
(veja “Arquivo /etc/samba/lmhosts
” para detalhes sobre este arquivo).
host
- Faz a pesquisa no arquivo
/etc/hosts
e no DNS em busca do nome da máquina.
wins
- Pesquisa no servidor WINS especificado pelo parâmetro
wins server do smb.conf
(veja “WINS”).
bcast
- Envia um pacote para o endereço de broadcast de sua
configuração de rede. Este geralmente deve ser o último método por gerar
tráfego excessivo em uma rede com um considerável número de computadores.
A ordem que a resolução de nomes é feita pelo samba, pode ser modificada usando
o parâmetro "name resolve order = [ordem]" no arquivo de configuração do samba
(ex. name resolve order = lmhosts host wins bcast
).
Este arquivo é um banco de dados que mapeia o endereço IP com o nome NetBIOS de
uma máquina, semelhante ao formato do /etc/hosts
. Este
arquivo é útil quando temos servidores que são acessados com freqüência, quando
servidores de rede estão em segmentos separados e não temos um servidor WINS
entre os dois pontos para resolução de nomes, para definir máquinas WINS que
serão acessados pela internet, etc. Para ter certeza da localização do arquivo
lmhosts
em sua máquina, digite smbclient -d 3 -L
localhost
e veja o diretório de pesquisa deste arquivo. Veja um
exemplo de arquivo lmhosts
em “Exemplo de lmhosts
do UNIX”.
O uso do arquivo lmhosts
evita o excesso de broadcasting
na rede, pois a ordem padrão usada para a resolução de nomes do
samba, procura primeiro resolver o nome procurando em
arquivos lmhosts, depois usando dns,
wins e broadcast. Dependendo do
projeto de sua rede e como as máquinas resolvem os nomes, ele pode ser uma
camada a mais de segurança contra um simples hijacking de servidor através de
NetBEUI ou WINS (isso é evitado com o uso de domínios, veja “Configurando um servidor PDC no SAMBA”).
OBS: Note que em clientes
Windows que estejam em outra subrede, é necessário o arquivo
\windows\lmhosts
apontando para um servidor PDC mesmo que
ele esteja apontando para o servidor WINS, caso contrário, a máquina não
efetuará o logon.
O formato do arquivo lmhosts
do Windows
é mais complexo do que o do Linux pois o sistema precisa de
mais detalhes para resolver os nomes e tipos de máquinas no domínio. Veja o
modelo lmhosts.sam
em seu sistema
Windows para compreender seu funcionamento.
O exemplo abaixo mapeia o endereço IP das máquinas (primeira coluna) com o respectivo nome de máquina (segunda coluna):
172.16.0.34 servarq 172.16.0.30 serverdom 192.168.5.2 servwins 172.16.0.3 servpdc 172.16.0.1 gateway
O arquivo possui uma sintaxe idêntica a do lmhosts
do
UNIX, mas alguns parâmetros especiais são especificados para ajudar o
Windows resolver algumas coisas que não consegue fazer
sozinho (principalmente com relação a identificação de função de máquinas em
redes segmentadas):
192.168.0.5 servarq 192.168.0.1 serverpdc #PRE #DOM:dominio 192.168.0.2 "serverwins \0x1e" #PRE #INCLUDE \\serverpdc\lmhosts
A primeira entrada do arquivo é a tradicional, onde o nome da máquina NetBIOS é associada ao IP. A segunda utiliza dois parâmetros adicionais:
#PRE
- Faz a entrada ser carregada logo na inicialização e
se tornando uma entrada permanente no cache NetBIOS.
#DOM
- Especifica que a máquina é um controlador de domínio.
A máquina deverá ter sido configurada para a função de domínio, pois caso
contrário isso simplesmente não funcionará.
Note que ambos #PRE
e #DOM
devem ser
especificados em maiúsculas. O terceiro exemplo faz uma referência permanente
(#PRE) a máquina servidora WINS serverwins. Neste exemplo
é usada uma característica especial para especificar a ID hexadecimal da
máquina na rede 1e. O quarto utiliza um include para
associar outro arquivo ao atual, útil quando temos um compartilhamento que
distribui um arquivo lmhosts
para diversas máquinas na
rede. De preferência, utilize sempre uma diretiva #PRE
para todas as máquinas especificadas na diretiva #INCLUDE
em seu arquivo de configuração.
Para a especificação de ID de serviço manual, é necessário manter os 15 caracteres no nome da máquina (preenchendo os restantes com espaços, caso seja preciso). O último caracter é o código hexadecimal que identifica o serviço de rede (veja “nmblookup” para ver a lista de serviços e sua respectiva função).
OBS: Caso crie este arquivo em um editor de textos do Linux, não se esqueça de converter o arquivo para que contenha o CR+LF no final das linhas.
Este é um serviço de resolução de nomes que funciona de forma semelhante ao DNS, só que voltado para o NetBIOS. Quando uma máquina cliente NetBIOS entra na rede, o servidor WINS pega seu nome e IP e inclui em uma tabela para futura consulta pelos clientes da rede.
Esta tabela consultada toda vez que um cliente NetBIOS solicita um nome de máquina, componentes do grupo de trabalho ou domínio na rede. Uma outra aplicação importante de um servidor WINS é permitir a resolução de nomes em pontos de redes que requerem roteamento, a simplicidade de um protocolo não roteável como o NetBIOS fica limitada a simplicidade das instalações de rede. Um servidor WINS pode ser instalado em cada ponta da rede e eles trocarem dados entre si e atualizar suas tabelas de nomes/grupos de trabalhos/IPs.
A resolução de nomes de máquinas será feita consultando diretamente a máquina WINS ao invés de broadcasting (que geram um tráfego alto na rede).
Para ativar o servidor WINS no samba, inclua as seguinte
linha na seção [global]
do seu arquivo
/etc/samba/smb.conf
:
[global] wins support = yes wins proxy = no dns proxy = no max wins ttl = 518400
O parâmetro wins proxy
pode ser necessário para alguns
clientes antigos que tenham problemas no envio de suas requisições WINS. O
dns proxy
permite que o servidor WINS faça a pesquisa no DNS
para localização de nomes de máquinas caso não exista no cache. Ambas as
opções wins support
, wins proxy
e
dns proxy
tem como valor padrão não
.
Pronto, seu servidor samba agora suporta WINS. Fácil, prático e rápido :-)
Se estiver configurando uma subrede com masquerade para acesso a um PDC ou um
servidor WINS, você terá que mexer no gateway central para apontar uma rota
para o gateway masquerade. O motivo disto é porque o masquerade do
Linux atua somente nos cabeçalhos, mas o IP da estação é
enviada e processada pelo PDC para retornar uma resposta. Da mesma forma, este
IP é registrado no servidor WINS para uso das estações de trabalho. Isto só
vai ser resolvido quando for escrito um módulo de conntrack para conexões SAMBA
(até o lançamento do kernel 2.4.22
, isso ainda não ocorreu).
OBS1: NUNCA configure mais de um servidor WINS em uma mesma rede.
OBS2: NÃO especifique o parâmetro
wins server
caso esteja usando o suporte a WINS.
Para os clientes da rede (Linux, Windows, OS/2, etc.) fazer uso das vantagens da resolução de nomes usando o WINS, é necessário configurar para que eles o utilizem para resolver os nomes de máquinas. Isto é feito da seguinte forma em cada um dos sistemas operacionais:
Adicione a linha wins server = ip_do_servidor_WINS
na seção
global do arquivo /etc/samba/smb.conf
:
[global] wins server = 192.168.1.1
Após isto, reinicie o servidor samba. Caso esteja
executando o servidor via inetd
, digite: killall
-HUP nmbd
. Se estiver rodando através de daemons:
/etc/init.d/samba restart
. Não é necessário reiniciar o
computador!
Clique com o botão direito sobre o ícone Ambiente de Rede e selecione propriedades. Na janela de configuração de rede clique na aba Configuração. Na lista que aparece selecione o protocolo TCP/IP equivalente a sua placa de rede local e clique em Propriedades.
Na tela de Propriedades TCP/IP clique em Configurações WINS e marque a opção Ativar resolução WINS. Digite o endereço do servidor WINS e clique em Adicionar.
OBS: Se utilizar um servidor DHCP em sua rede local e o endereço do servidor WINS também é oferecido através dele, você poderá marcar a opção Usar DHCP para resolução WINS. Note que esta opção somente estará disponível se escolher a opção Obter um endereço IP automaticamente na tab Endereços IP. Clique em OK até fechar todas as telas e reinicie quando o computador perguntar :-)
Copyright © 1999-2020 - Gleydson Mazioli da Silva