11sambaeoservidornbns
TRANSCRIPT
UTILIZANDO O SAMBA
COMO CLIENTE E SERVIDOR
NBNS – (NETBIOS NAME SERVER)
Prof. Alan Samuel – [email protected]
Aplicado em GNU/Linux Debian 4.0
Objetivos da Aula
Entender o que é um Servidor NBNS (WINS)
Quando utilizar um Servidor NBNS (WINS)
Configurar o “SAMBA Client” para utilizar um Servidor
NBNS para resolução de nomes
Configurar o “Samba Server” para atuar como
Servidor NBNS (Similar ao WINS)
O Serviço NBNS
NBNS é qualquer servidor, ou aplicação “server”, que
esteja apto a RESOLVER NOMES de requisições
NETBIOS
NBNS = “NetBios Name Server”
Desempenha função similar ao DNS
DNS = Resolve nomes no mundo TCP/IP
NBNS = Resolve nomes no mundo NETBIOS
O Serviço NBNS
A mais famosa implementação de um NetBios NameServer, é o “Servidor WINS”.
O WINS, acrônimo de “Windows Internet Name Service”, é um tipo de NBNS
O Cliente WINS é embutido em todas as versões do Sistema Operacional WINDOWS
O Servidor WINS esta disponível apenas na família SERVER do S.O. MS Windows, e também no SAMBA SERVER
O Serviço NBNS
A função do WINS (ou de um Servidor NBNS) é:
Fornecer endereços IP’s, em função de nomes
NETBIOS
ou seja.... Resolução de Nomes NETBIOS
Benefícios no uso de um
Servidor NBNS (WINS)
Redução de
BROADCAST’s
Possibilidade de
resolução de nomes
em ambientes de
“Internetworking”
Avaliando a necessidade de Serv.
NBNS nas redes corporativas
Casos aonde o uso de Servidores NBNS (WINS) traz
benefícios:
Rede (Ambiente Microsoft) que, mesmo utilizando
Serviço de Domínio (A.D.), possuí máquinas com o S.O.
Windows 95 ou 98
Qualquer rede (Ambiente Microsoft) que não utilize
Servidores de Domínio (PDC ou A.D.)
Ordem para “resolução” de
nomes no MS Windows (padrão)
Nó H (Hybrid)
\\zedascouve
1. Tentativa: Arquivo LMHOSTS
2. Tentativa: Servidor WINS
3. Tentativa: Broadcast
c:\windows\system32\drivers\etc\lmhosts
SE configurado
O SAMBA e o de NBNS
O SAMBA permite configurações de NBNS (WINS)
tanto como CLIENTE quanto SERVIDOR
É possível configurar a órdem de resolução de acordo
com o desejado
É possível utilizar “Proxy” de WINS e de DNS
O SAMBA e o de NBNS
O SAMBA possuí um binário exclusivo para a
resolução de nomes, chamado: “nmbd”
O NMBd, entra no ar automaticamente quando o
SAMBA (/etc/init.d/samba) é iniciado
O arquivo de LOG do NMBd (usado para o
SERVIDOR NMBd) é o: /var/log/samba/log.nmbd
Configurando o SAMBA para
atuar como CLIENTE WINS
O SAMBA, enquanto cliente NETBIOS, oferece
basicamente 4 mecanismos de resoluções de nomes
NETBIOS, na ordem abaixo:
WINS
Broadcast
Unix Hosts (/etc/hosts)
Arquivo LMHosts (/etc/samba/lmhosts)
Nó H
Definindo a órdem de resolução
de nomes no SAMBA
É possível configurar a órdem de prioridade
na tentativa de resolução de nomes:
[global]
name resolve order = wins lmhosts hosts bcast
Ordem escolhida:
1. Procurar um Servidor WINS
2. Verificar arquivo “lmhosts”
3. Verificar arquivo hosts
4. Propagar Broadcast's
Configurando o SAMBA para
atuar como CLIENTE WINS
/etc/samba/smb.conf
[global]
wins server = 192.168.1.1
Com o uso do parâmetro “wins server” na configuração
“[global]”, o SAMBA se torna CLIENTE WINS
As tentativas de resoluções de nomes feitas pelo o
SAMBA, serão feitas através do Serviço WINS
especificado.
A resolução de nomes NETBIOS, será feita através de
UNICAST
Endereço IP do Servidor WINS
O SAMBA atuando como
Cliente WINS
Uma vez configurado para ser cliente WINS, assim
como a ordem de resolução de nomes, toda vez em
que o SAMBA precisar resolver um nome NETBIOS,
haverá uma consulta ao Servidor WINS
especificado
wins server = 192.168.1.1
O SAMBA atuando como
Cliente WINS
Exemplo:
Utilizando a ferramenta “smbclient”
smbclient –L tiaomacale –U tiao1
Utilizando a ferramenta “smbmount”
smbmount //tiaomacale/comp /mnt/samba –o
username = tiao1
O SAMBA atuando como Cliente
WINS - Testes de DEBUG
smbclient –L breno –U brunoteste --debuglevel=5debian:~# smbclient –L servarq -d5
INFO: Current debug levels:
all: True/5
tdb: False/0
printdrivers: False/0
lanman: False/0
smb: False/0
rpc_parse: False/0
rpc_srv: False/0
rpc_cli: False/0
passdb: False/0
sam: False/0
auth: False/0
winbind: False/0
vfs: False/0
idmap: False/0
quota: False/0
acls: False/0
locking: False/0
msdfs: False/0
dmapi: False/0
lp_load: refreshing parameters
Initialising global parameters
params.c:pm_process() - Processing configuration file "/etc/samba/smb.conf"
Processing section "[global]"
doing parameter workgroup = gsimbh
doing parameter server string = %h server
doing parameter dns proxy = no
doing parameter log file = /var/log/samba/log.%m
doing parameter max log size = 1000
doing parameter syslog = 0
doing parameter panic action = /usr/share/samba/panic-action %d
doing parameter encrypt passwords = true
doing parameter passdb backend = tdbsam
doing parameter obey pamrestrictions = yes
doing parameter invalid users = root
doing parameter passwd program = /usr/bin/passwd %u
doing parameter passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n
*password\supdated\ssuccessfully* .
doing parameter socket options = TCP_NODELAY
pm_process() returned Yes
Attempting to register new charset UCS-2LE
Registered charset UCS-2LE
Attempting to register new charset UTF-16LE
Registered charset UTF-16LE
Attempting to register new charset UCS-2BE
Registered charset UCS-2BE
Attempting to register new charset UTF-16BE
Registered charset UTF-16BE
Attempting to register new charset UTF8
Registered charset UTF8
Attempting to register new charset UTF-8
Registered charset UTF-8
Attempting to register new charset ASCII
Registered charset ASCII
Attempting to register new charset 646
Registered charset 646
Attempting to register new charset ISO-8859-1
Registered charset ISO-8859-1
Attempting to register new charset UCS2-HEX
Registered charset UCS2-HEX
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
Substituting charset 'ISO-8859-1' for LOCALE
added interface ip=201.65.238.180 bcast=201.65.238.255 nmask=255.255.255.0
added interface ip=10.0.20.37 bcast=10.0.255.255 nmask=255.255.0.0
Netbios name list:-
my_netbios_names[0]=“SERVARQ"
Client started (version 3.0.24).
Opening cache file at /var/run/samba/gencache.tdb
no entry for breno#20 found.
resolve_lmhost s: Attempting lmhosts lookup for name breno<0x20>
startlmhosts: Can't open lmhosts file /etc/samba/lmhosts. Error was Arquivo ou diretório não encontrado
resolve_wins: Attempting wins lookup for name breno<0x20>
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name breno<0x20>
name_resolve_bcast: Attempting broadcast lookup for name breno<0x20>
socket option SO_KEEPALIVE = 0
socket option SO_REUSEADDR = 1
socket option SO_BROADCAST = 1
Could not test socket option TCP_NODELAY.
Could not test socket option TCP_KEEPCNT.
Could not test socket option TCP_KEEPIDLE.
Could not test socket option TCP_KEEPINTVL.
socket option IPTOS_LOWDELAY = 0
socket option IPTOS_THROUGHPUT = 0
socket option SO_SNDBUF = 109568
socket option SO_RCVBUF = 109568
socket option SO_SNDLOWAT = 1
socket option SO_RCVLOWAT = 1
socket option SO_SNDTIMEO = 0
socket option SO_RCVTIMEO = 0
Sending a packet of len 50 to (201.65.238.255) on port 137
Sending a packet of len 50 to (201.65.238.255) on port 137
Sending a packet of len 50 to (201.65.238.255) on port 137
Sending a packet of len 50 to (10.0.255.255) on port 137
Sending a packet of len 50 to (10.0.255.255) on port 137
Sending a packet of len 50 to (10.0.255.255) on port 137
Connection to breno failed
my_netbios_names[0]=“SERV-ARQ"
Client started (version 3.0.24).
Opening cache file at /var/run/samba/gencache.tdb
no entry for breno#20 found.
resolve_lmhosts: Attempting lmhosts lookup for name breno<0x20>
startlmhosts: Can't open lmhosts file /etc/samba/lmhosts.
resolve_wins: Attempting wins lookup for name breno<0x20>
resolve_wins: WINS server resolution selected and no WINS servers listed.
resolve_hosts: Attempting host lookup for name breno<0x20>
name_resolve_bcast: Attempting broadcast lookup for name breno<0x20>
Sending a packet of len 50 to (10.0.255.255) on port 137
Sending a packet of len 50 to (10.0.255.255) on port 137
Sending a packet of len 50 to (10.0.255.255) on port 137
Configurando o SAMBA para atuar
como “Proxy” WINS e DNS
O SAMBA pode atuar também como servidor
“PROXY” de NBNS (WINS) e DNS
Quando alguma máquina na rede “Gritar” ou enviar
um “Broadcast”, tentando resolver algum nome, o
WINS ou DNS Proxy captura esta mensagem e a
envia ao Servidor WINS configurado
Posteriormente, responde ao solicitante o IP que o
mesmo desejava
Configurando o SAMBA para atuar
como “Proxy” WINS e DNS
/etc/samba/smb.conf
[global]
wins server = 192.168.1.1
wins proxy = yes
dns proxy = yes
Uso opcional de PROXY’s
Configurando o SAMBA para atuar
como SERVIDOR NBNS (WINS)
Script de Inicialização: /etc/init.d/samba (start | stop | restart | status)
Arquivo de LOG: /var/log/samba/log.nmbd
Arquivo Principal de Configuração: /etc/samba/smb.conf
Diretório dos arquivos de Configuração: /etc/samba/
É necessário ter o SAMBA SERVER instalado.
Configurando o SAMBA para atuar
como SERVIDOR NBNS (WINS)
O Serviço Responsável pelo Serviço de NBNS
(Netbios Name Server) é o “nmbd”
O “nmbd” é iniciado automaticamente junto com o
SAMBA Server “smbd”, por isto, caso o SAMBA
SERVER esteja sendo iniciado automaticamente
após o BOOT, o Serviço NMBD, também será.
[root@debian regras]# ps aux | grep nmb
root 21430 0.5 0.2 6736 2012 ? S 17:53 0:00 nmbd -D
root 21439 0.0 0.0 2784 676 pts/0 S 17:53 0:00 grep nmb
Configurando o SAMBA para atuar
como SERVIDOR NBNS (WINS)
Para configurar o SAMBA para ser o Servidor
WINS de sua rede (fazendo o uso do NMBd),
basta adicionar o parâmetro “wins support” no
arquivo de configuração “smb.conf”
[global]
wins support = yes
wins proxy = yes
dns proxy = yesUso opcional de PROXY’s
SAMBA como CLIENTE NBNS
x SAMBA como SERVER NBNS
Atenção para os parâmetros:
“wins support”
“wins server”
Ambos não deverão existir simultaneamente, pois,
ou o SAMBA atua como “Cliente WINS” (wins server
= x.x.x.x) ou ele é o próprio “Servidor WINS” (wins
support = yes)
Testes com o Servidor NBNS
(SAMBA) em funcionamento
Se a opção de Servidor WINS estiver habilitada
(wins support = yes), quando o SAMBA Servidor for
iniciado, serão abertas as portas 137 e 138 UDP
(Serviço WINS)
udp 0 0 10.0.0.99:137 0.0.0.0:*
udp 0 0 0.0.0.0:137 0.0.0.0:*
udp 0 0 10.0.0.99:138 0.0.0.0:*
udp 0 0 0.0.0.0:138 0.0.0.0:*
udp 0 0 0.0.0.0:699 0.0.0.0:*
udp 0 0 0.0.0.0:702 0.0.0.0:*
udp 0 0 0.0.0.0:111 0.0.0.0:*
Relação com todas as opções de
conf. NBNS (WINS) no Samba
Option Parameters Function Default Scope
wins support boolean If set to yes, Samba will act as a WINS server. no Global
wins serverString (IP address
or DNS name)
Identifies a WINS server for Samba to use for name
registration and resolutionNone Global
wins proxy booleanAllows Samba to act as a proxy to a WINS server on
another subnet.no Global
dns proxy booleanIf set to yes, a Samba WINS server will search DNS if it
cannot find a name in WINS.no Global
name resolve
order
Lmhosts, hosts,
wins, or Bcast
Specifies an order of the methods used to resolve NetBIOS
names.
Lmhosts,
hosts, wins,
or Bcast
Global
max ttl numericalSpecifies the maximum time-to-live in seconds for a
requested NetBIOS names.
259200 (3
days)
Global
max wins ttlnumerical Specifies the maximum time-to-live in seconds for NetBIOS
names given out by Samba as a WINS server.518400 (6
days)
Global
min wins ttlnumerical Specifies the minimum time-to-live in seconds for NetBIOS
names given out by Samba as a WINS server.
21600 (6
hours)
Global
Analisando o arquivo de LOG
(com “debug level = 5”)
[2009/11/2 15:54:22, 0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2(113
*****
Samba server CENTRAL2 is now a domain master browser for workgroup GRUPOSIM o
*****
[2009/11/2 16:06:42, 5] libsmb/nmblib.c:read_packet(754)
Received a packet of len 50 from (10.0.0.98) port 32773
[2009/11/2 16:06:42, 4] libsmb/nmblib.c:debug_nmb_packet(109)
nmb packet from 10.0.0.98(32773) header: id=31972 opcode=Query(0) response=No
header: flags: bcast=No rec_avail=No rec_des=Yes trunc=No auth=No
header: rcode=0 qdcount=1 ancount=0 nscount=0 arcount=0
question: q_name=CARLOSAUGUDSDSS<20> q_type=32 q_class=1
[2009/11/2 16:06:42, 3] nmbd/nmbd_winsserver.c:wins_process_name_query_request
wins_process_name_query: name query for name CARLOSAUGUDSDSS<20> from IP 10.0
Received a packet of len 50 from (10.0.0.98) port 32773
Nmb packet from 10.0.0.98(32773) header: id=9037 opcode=Query(0) response=No
wins_process_name_query: name query for name CARLOSAUGUSTO<20> from IP 10.0.0.98