Curs: | SambasobreLDAP, LinuxAdministracioAvancada |
Fitxers: | Sessio5.pdf,AutenticacioiAutoritzacionsLinux.pdf |
Repositori SVN: | https://[email protected]/svn/iceupc/SambaSobreLDAP |
Usuari: | anonymous |
Paraula de pas: | sense paraula de pas |
Autors: | Sergi Tur Badenas, Lluís Pérez Vidal |
http://www.ubiqx.org/cifs/NetBIOS.html#NBT.4
WINS és la implementació de Microsoft del NetBIOS name server (NBNS) protocol. Pot emmagatzemar els noms de màquina i grups de treball (workgroup). Un servidor WINS pot donar servei a més d'un grup de treball o domini. Igual que amb DNS, es poden configurar servidors primaris i servidors secundaris de WINS.
NOTA: WINS no s'ha de confondre amb DNS ni els noms de màquina NetBIOS s'han de confondre amb els noms de màquina TCP/IP. El servidors de DNS són imprescindibles per a Internet (WINS només resol noms de NetBIOS i a la xarxa local, no a Internet.)
Samba pot funcionar com un servidor primari WINS però no pot sincronitzar (--acacha 16:45, 1 abr 2010 (UTC)) les seves dades amb altres servidors WINS (per que aquesta informació no ha estat alliberada per Windows i per tant s'ha de fer per enginyeria inversa).
Consulteu abans de llegir aquest article:
Que és el que s'utilitza quan no hi ha un servei de noms NetBIOS (és a dir no hi ha un servidor WINS).
El servei de noms és similar a un sistema de base de dades on:
El protocol de noms té 3 tipus diferents de missatges (Name Service Messages) que permeten mantindre la base de dades de noms al dia:
NOTA: NBT scope: Consulteu NBT Scope
L'àmbit (scope) és el conjunt de màquines que poden veure un nom NetBIOS. Els àmbits possibles són:
Es pot refinar l'àmbit utilitzant un Scope ID que permeti dividir una xarxa NetBIOS en xarxes virtual a l'estil d'una VLAN.
NOTA: Hi ha poques implementacions de l'scope ID i són obsoletes. Samba ho permet però no és recomana. Actualment s'utilitzen NetBIOS groups, és a dir dominis o grups de treball
Els noms NetBIOS poden tenir fins a 15 caràcters. Al final del nom se li afegeix en caràcter del tipus de node formant noms de 16 caràcters. Al emmagatzema els noms (per exemple en un servidor WINS) es guarden sempre els 16 caràcters (omplint amb espais els buits fins a 15 caràcters).
És a dir un nom de NetBIOs té dos parts:
IMPORTANT: Els noms de NETBIOS són diferents dels noms de DNS
NOTA: Amb DNS també tenim quelcom similar, els registres DNS permeten crear noms de DNS per a màquines (A i PRT), per a serveis (SRV), etc.
Els noms de màquina de NetBIOS no són jeràrquics (no s'utilitzen estructures tipus nommaquina.domini.es)
Altres restriccions/propietats dels noms són:
[email protected]#$%^&()-'{}.~
Sovint es reutilitza el nom DNS (p. ex. profe.ies.com es tornaria en nom NetBIOS PROFE)
Cal tenir en compte que els noms NetBIOS incorporen més informació que no pas el nom. Un nom NetBIOS té sempre 16 bytes. 15 bytes pel nom (si el nom és més curt s'omple amb ceros) i l'últim byte especifica el resource type o tipus de node. Podeu trobar una imatge que ho mostra a:
Recursos:
Com hem comentat a l'apartat anterior els noms NetBIOS incorporen un byte per indicar el tipus de nom o serveis NetBIOS. L'ordre nmblookup pot ser utilitzada per tal de veure el tipus de node (i el nom del node):
$ nmblookup ubuntu-sala querying ubuntu-sala on 192.168.1.255 192.168.1.2 ubuntu-sala<00>
On el:
<00>
Indica el tipus de node (en aquest cas estació de treball). La següent taula mostra alguns dels tipus de node possibles:
Podeu consultar la llista completa a:
http://support.microsoft.com/kb/163409
Com a important caldria destacar el que indica quin és el DC (domain Controller):
1c <domain> 1C G Controlador de domini
Els tipus de nom NetBIOS descriuen la funcionalitat del registre. A més cal tenir en compte que poden ser de diferent tipus segons les banderes NetBIOS (NetBIOS flags):
Les banderes estan molt relacionades amb els Tipus de nodes NetBIOS. Durant el registre del nom de màquina s'indiquen el nom, el tipus i el flag. Consulteu NetBIOS_Name_Server#Entrades_est.C3.A0tiques_a_un_servidor_WINS i també la web:
NOTA: Observeu que els noms de Netbios no només identifiquen màquines sinó també serveis (de forma similar, a DNS disposem de diversos tipus de registres DNS).
El tipus de node també s'anomena sufix de NetBIOS. Consulteu:
Samba implementa el protocol NetBIOS de la mateixa forma que ho fa MS Windows NT/200x/XP, encapsulant-lo amb TCP/IP. NetBIOS Name Server utilitza per defecte missatges UDP de broadcast per tal d'implementar la gestió de llistes de browsing (noms de màquines d'una xarxa). Es poden també utilitzar missatges unicast.
Cal tenir en compte que normalment, només els paquets UDP unicast poden ser encaminats pels encaminadors d'una xarxa. Al fitxer smb.conf podem utilitzar els paràmetres:
remote announce: permet anunciar browse-list a altres màquines de la xarxa amb paquets unicast UDP. remote browse sync: implements browse list collation using unicast UDP.
El que determina que s'utilitzi un mode o un altres és el NetBIOS node-type. Hi ha quatre tipus:
NOTA: Per defecte un Windows utilitza un node de tipus b. Si s'utilitza WINS aleshores es marca el mode h
Per consultar el tipus de node:
C:\> ipconfig /all Windows 98 IP Configuration ... Node Type . . . . . . . . . . : Hybrid
Per modificar-lo:
Si DNS està activat, després de provar amb els modes indicats es provarà amb resol·lució de noms DNS. Si el DNS està activat també activa el fitxer LMHOSTS i aleshores també es provarà el que digui aquest fitxer.
El tipus de node també és pot configurar per DHCP. Consulteu DHCP#Servidor_WINS.:
Recursos:
Hi ha múltiples paràmetres que poden afectar aquest comportament a Samba. Per exemple:
# This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no # What naming service and in what order should we use to resolve host names # to IP addresses ; name resolve order = lmhosts host wins bcast name resolve order = wins host bcast
El port de NetBIOS NS és:
$ cat /etc/services | grep netbios-ns netbios-ns 137/tcp # NETBIOS Name Service netbios-ns 137/udp
El format bàsic dels paquets Net Bios Name Server (NBNS) es va copiar de DNS i també s'encapsulen sobre UDP però a diferència de DNS NBNS no utilitza un espai de noms jeràrquic.
Les principals diferències entre NBNS i DNS són:
Depèn dels serveis que vulgueu utilitzar:
Serveis que no requereixen NetBIOS
Serveis que requereixen NetBIOS
La seguretat d'aquest tipus de sistemes es pèssima. Si us fixeu no hi ha res que autentiqui al servidor de WINS i per tant es força senzill que una màquina de la xarxa es faci passar pel servidor WINS (rogue WINS Server) i les resolucions de noms no funcionin correctament.
Si el nostres servidor de WINS està apagat una estona un altre servidor pot agafar el control i passar a ser el Master Browser. També es possible perdre un procés d'elecció de Master Browser si hi ha una altre servidor...
L'única solució pot acabar sent apagar totes les màquines de la xarxa o esperar a que caduquin els timeouts.
Normalment s'aconsegueix reiniciant el servidor nmbd:
$ sudo /etc/init.d/samba restart
La cache es troba al fitxer:
/var/lib/samba/wins.dat
El principal avantatge d'utilitzar WINS és que es deixa d'utilitzar l'ineficient sistema de broadcast que utilitza NetBIOS per a resoldre noms de màquines:
Imatge:
Quant un client de WINS es registra, intenta connectar amb el servidor WINS mitjançant un paquet UDP unicast. Si no es pot fer el registres es torna a intentar cada 10 minuts.
Recursos:
Per configurar un servidor com a WINS cal posar les següents opcions al fitxer /etc/samba/smb.conf de la màquina que voleu que faci de servidor WINS:
wins support = Yes name resolve order = wins host bcast
NOTA: També és vàlid: wins support = true. Si utilitzeu el fitxer lmhosts també el podeu indicar.
NOTA: Compte que l'opció host no indica només l'ús del fitxer [[[/etc/hosts]] de fet indica utilitzar la resolució de nom de Unix segons el fitxer nsswitch.conf i per tant pot implicar (segurament) utilitzar primer DNS i després el fitxer de hosts (o fins i tot altres sistemes com NIS)
No confongueu amb la configuració del client WINS que és:
wins server = Adreça_IP_Servidor_WINS name resolve order = wins host bcast
Per comprovar que funciona cal escanejar amb nmap el port 137 de UDP:
$ nmap -sU -p 137 192.168.0.8 PORT STATE SERVICE 137/udp open|filtered netbios-ns
Amb l'ordre:
$ sudo /etc/init.d/nmbd restart
Reiniciem el servidor i apliquem els canvis (si n'hi ha hagut) en la configuració de la resol·lució de noms de Samba.
IMPORTANT: No només els servidors WINS tenen un servei nmbd. De fet tots els Samba el tenen, ja que també és el servei responsable de registrar el nom de màquina al servidors WINS o de la difusió de noms per broadcast
Aquest paràmetre és el que ens permet especificar quin tipus de node utilitzarem (node b, node p, node m o node h.)
$ man smb.conf ... name resolve order (G) This option is used by the programs in the Samba suite to determine what naming services to use and in what order to resolve host names to IP addresses. Its main purpose to is to control how netbios name resolution is performed. The option takes a space separated string of name resolution options. The options are: "lmhosts", "host", "wins" and "bcast". They cause names to be resolved as follows: ·lmhosts : Lookup an IP address in the Samba lmhosts file. If the line in lmhosts has no name type attached to the NetBIOS name (see the manpage for lmhosts for details) then any name type matches for lookup. ·host : Do a standard host name to IP address resolution, using the system /etc/hosts , NIS, or DNS lookups. This method of name reso‐ lution is operating system depended for instance on IRIX or Solaris this may be controlled by the /etc/nsswitch.conf file. Note that this method is used only if the NetBIOS name type being queried is the 0x20 (server) name type or 0x1c (domain controllers). The lat‐ ter case is only useful for active directory domains and results in a DNS query for the SRV RR entry matching _ldap._tcp.domain. ·wins: Query a name with the IP address listed in the WINSSERVER parameter. If no WINS server has been specified this method will be ignored. ·bcast : Do a broadcast on each of the known local interfaces listed in the interfaces parameter. This is the least reliable of the name resolution methods as it depends on the target host being on a locally connected subnet. The example below will cause the local lmhosts file to be examined first, followed by a broadcast attempt, followed by a normal system hostname lookup. When Samba is functioning in ADS security mode (security = ads) it is advised to use following settings for name resolve order: name resolve order = wins bcast DC lookups will still be done via DNS, but fallbacks to netbios names will not inundate your DNS servers with needless querys for DOMAIN<0x1c> lookups. Default: name resolve order = lmhosts host wins bcast Example: name resolve order = lmhosts bcast host
Recursos:
És l'equivalent al fitxer /etc/hosts amb TCP/IP i la resolució de noms.
# # Sample Samba lmhosts file. # 192.9.200.1 TESTPC 192.9.200.20 NTSERVER#20 192.9.200.21 SAMBASERVER
IMPORTANT: Cal tenir en compte que, a diferència del que succeïx amb DNS, els noms de màquines i serveis NEtBIOS a un servidor WINS són determinats de forma dinàmica durant l'operació de registre que realitzen els clients durant l'arrancada. És a dir, no hi ha un fitxer de configuració del servidor WINS on posar noms de màquina o serveis NetBIOS de forma estàtica
Podeu consultar les màquines registrades a un servidor WINS consultant el fitxer:
/var/lib/samba/wins.dat
Podeu modificar el fitxer directament però no està dissenyat WINS per funcionar d'aquesta forma. Si voleu afegir entrades estàtiques consulteu:
Entrades estàtiques a un servidor WINS
En un servidor WINS Samba conté un registre dels noms NetBIOS de la xarxa:
$ cat /var/lib/samba/wins.dat VERSION 1 0 "GRUPO_TRABAJO#00" 1202114087 255.255.255.255 e4R "ACACHA#03" 1202125997 192.168.1.3 66R "CASA#1b" 1202125997 192.168.1.3 64R "ACACHA#20" 1202125997 192.168.1.3 66R "CASA#1c" 1202125997 192.168.1.3 e4R "GRUPO_TRABAJO#1e" 1202114087 255.255.255.255 e4R "CASA#00" 1202125997 255.255.255.255 e4R "SERGI#03" 1202114087 192.168.1.5 64R "SERGI#20" 1202114087 192.168.1.5 64R "ACACHA#00" 1202125997 192.168.1.3 66R "CASA#1e" 1202125997 255.255.255.255 e4R "��__MSBROWSE__�#01" 1202114087 255.255.255.255 e4R "SERGI#00" 1202114087 192.168.1.5 64R
El format és el següent:
"NAME#TYPE" TTL ADDRESS+ FLAGS
Els flags són el resultat de sumar els valors hexadecimals que corresponguin:
Per exemple
Els valors es poden consultar al fitxer nameserv.h.
Per fer un flush de la cache consulteu: Flush de la cache.
Per afegir una entrada estàtica consulteu NetBIOS_Name_Server#Entrades_est.C3.A0tiques_a_un_servidor_WINS.
Recursos:
A Samba es poden afegir directament al fitxer /var/lib/samba/wins.dat. El format és:
"NAME#TYPE" TTL ADDRESS+ FLAGS
on:
Un entrada dinàmica típica:
"MADMAN#03" 1155298378 192.168.1.2 66R
Per fer una entrada permanent, cal posar el TTL a infinit (valor 0):
"MADMAN#03" 0 192.168.1.2 66R
La bandera NetBIOS (Flag) s'ha d'interpretar com una suma de valors hexadecimals, on els valors són:
00 - Broadcast node registration 20 - Peer node registration 40 - Meta node registration 60 - Hybrid node registration 02 - Permanent name 04 - Active name 80 - Group name
Així 66 és:
Node hibrid, permanent i actiu
La R indica que és un registre de registre (record registration). Els valors es poden trobar al fitxer nameserv.h del codi font de Samba.
NOTA: Les entrades estàtiques només s'haurien d'afegir per a servidors que sempre tenen la mateixa IP i per a serveis crítics. Per exemple no es recomanable utilitzar-les amb estacions de treball
Per poder fer els canvis cal aturar el servei nmdb:
$ sudo /etc/init.d/samba stop
Alguns distribucions (com Open Suse):
# /etc/init.d/nmb stop
És important tenir en compte que per aplicar els canvis cal reiniciar el servei nmdb
# /etc/init.d/nmb start
o
$ sudo /etc/init.d/samba start
Recursos:
A:
Panell de control -> Connexions -> Connexió xarxa local -> TCP/IP -> Propietats --> Avanzadas --> Pestanya WINS.
La finestra mostra el següent:
Cal posar al fitxer /etc/samba/smb.conf
wins server = Adreça_IP_Servidor_WINS name resolve order = wins host bcast
Amb clients Windows només cal indicar que la xarxa es configuri amb DHCP.
TODO: Comprovar
NOTA: Hem tingut experiències amb ordinadors Windows que no agafen WINS per DHCP i cal indicar-ho manualment... no sabem que és...
TODO
Una opció es afegir una línia als clients samba al seu fitxer smb.conf (a Debian ho permet fer durant la instal·lació de Samba):
include = /etc/samba/dhcp.conf
Aquest fitxer el pot crear el client amb un script dhclient-script.
I també cal afegir
request subnet-mask, broadcast-address, time-offset, routers, domain-name, domain-name-servers, host-name, netbios-name-servers;
Al fitxer:
/etc/dhclient.conf
Vegeu també:
DHCP
Recursos:
És un executable que podeu obtenir a:
Un cop desinstal·lar és un zip autoextraible i podeu escollir o baixar els fitxers. Tindreu un executable anomenat:
nblookup.exe
Si feu doble clic entrareu al mode interactiu.
Per línia d'ordres podeu executar diverses opcions. Alguns exemples:
Consultar els DC (Domain Controllers) ( registres 1C) d'un domini a un servidor wins especific (a l'exemple):
> nblookup.exe /s 192.168.0.8 /x 1C INSEBRE Recursion is on Querying WINS Server: 192.168.0.8 NetBIOS Name: INSEBRE Suffix: 1C Name returned: INSEBRE IP Address: 192.168.0.8 IP Address: 192.168.0.3 IP Address: 192.168.0.6 IP Address: 192.168.30.3 IP Address: 192.168.20.3 IP Address: 172.16.0.3
A l'exemple es tracta d'un domini amb multiples DC o DCs amb múltiples interfícies de xarxa.
http://www.samba.org/samba/docs/man/Samba-Developers-Guide/wins.html
Algunes de les coses que podeu mirar són: