[Samba] Keeping a list of NetBIOS names on a network?

John H Terpstra - Samba Team jht at samba.org
Tue Aug 18 14:09:45 MDT 2009


On 08/18/2009 02:22 PM, Matthew Dempsky wrote:
> On Mon, Aug 17, 2009 at 11:01 AM, John H Terpstra - Samba
> Team<jht at samba.org> wrote:
>> Use the "findsmb" utility that ships as part of the Samba tarball.
> 
> I've been playing with this some, and it doesn't seem to find all
> NetBIOS names on the network.  Presumably because not all hosts
> respond to the initial broadcast wildcard query.
> 
> I also played with running nmbd, and found it seems to create a
> browse.dat no matter what, but that it only lists itself unless it's
> configured as the browse master.
> 
> Is there a way to query the network's browse master to find all known
> NetBIOS names?  Could I then run nmbd with a low os level so it's only
> elected browse master if the network doesn't already have a browse
> master?  (Or is it guaranteed there will always be a browse master if
> there are any names on the network?)
> 
> Thanks for the help so far! :)

Matthew,

The nmbd utility is akin to the Microsoft Windows Browser Service. It
also provides the WINS Service IF "wins support = Yes" is set in the
[global] stanza in the smb.conf file.

The list of NetBIOS names that is in use within a particular network is
complete only IF:
	a) All windows systems are configured to use NetBIOS over TCP/IP
	b) Samba is correctly configured either as a WINS server, or as
		a WINS client.
	c) If Samba is NOT the WINS server, then a Windows Server must
		provide the WINS server service.
	d) All Windows clients have been configured to use the WINS
		server.
	e) The WINS database is NOT corrupt.

If the above are NOT complied with, the local browse list will not be
complete for all NetBIOS names that are in use within the scope of the
entire network.

The Samba NetBIOS extensions (that are used only by nmbd) to get around
bad WINS implementations, or where it is not used, are not 100% reliable
in assuring a complete list of NetBIOS names.  These extended features are:
	remote browse sync
	remote announce

All clients and servers on which NetBIOS over TCP/IP has been enabled
will participate in the election of the local master browser.  The
heuristics by which the master browser is elected is somewhat
complicated.  Samba's "OS Level" is a means of prejudicing the election
criteria in favor of the Samba server if it is set high enough - but it
does NOT guarantee that the Samba server will win the election.

If you do not run nmbd on your Samba server then there is no way for
Samba to participate in NetBIOS browsing processes.  Only nmbd sends out
the NetBIOS workgroup announcements and the NetBIOS host announcements
that are necessary for Samba to participate in the browse master
election process, and that are necessary for Samba to appear in a browse
list.

The solution to network browsing problems and inconsistencies in the NT4
domain and workgroup networking world is to use nmbd and WINS.

Active Directory does not depend on WINS, instead it uses a combination
of LDAP and DNS for browse list handling.  However, it is possible to
enable NetBIOS over TCP/IP on any Active Directory member Windows system
and thereby ensure that it participates in the NetBIOS-based browsing
process.

The ability to "find" a NetBIOS name on the network presupposes that the
particular node that might own such a name has been correctly configured
to support NetBIOS over TCP/IP.

In the absence of a WINS Server but with enablement of NetBIOS over
TCP/IP even ADS domain members can participate in NetBIOS-based browse
list management.

I hope that answers your questions.

- John T.


More information about the samba mailing list