11sambaeoservidornbns

29
UTILIZANDO O SAMBA COMO CLIENTE E SERVIDOR NBNS (NETBIOS NAME SERVER) Prof. Alan Samuel [email protected] Aplicado em GNU/Linux Debian 4.0

Upload: keszarkay

Post on 18-Jan-2016

6 views

Category:

Documents


3 download

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”

Resolução de nomes com e

sem o serviço WINS

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.)

Configurando o Cliente WINS

em um MS Windows XP

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

O SAMBA atuando como

CLIENTE NBNS (WINS)

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

O SAMBA atuando como

SERVIDOR NBNS (WINS)

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