BROWSING
========

Samba now fully supports browsing. The browsing is supported by nmbd
and is also controlled by options in the smb.conf file (see
smb.conf(5)).

Samba can act as a browse master for a workgroup and the ability for
samba to support domain logons and scripts is now available.  See
DOMAIN.txt for more information on domain logons.

To get browsing to work you need to run nmbd as usual, but will need
to use the "workgroup" option in smb.conf to control what workgroup
Samba becomes a part of.

Samba also has a useful option for a Samba server to offer itself for
browsing on another subnet. See "remote announce" in the smb.conf man
page. 

If something doesn't work then hopefully the log.nmb file will
help you track down the problem. Try a debug level of 2 or 3 for
finding problems.

Note that if it doesn't work for you, then you should still be able to
type the server name as \\SERVER in filemanager then hit enter and
filemanager should display the list of available shares.

Some people find browsing fails because they don't have the global
"guest account" set to a valid account. Remember that the IPC$
connection that lists the shares is done as guest, and thus you must
have a valid guest account.

Also, a lot of people are getting bitten by the problem of too many
parameters on the command line of nmbd in inetd.conf. This trick is to
not use spaces between the option and the parameter (eg: -d2 instead
Of -d 2), and to not use the -B and -N options. New versions of nmbd
are now far more likely to correctly find your broadcast and network
addess, so in most cases these aren't needed.

The other big problem people have is that their broadcast address,
netmask or IP address is wrong (specified with the "interfaces" option
in smb.conf)

FORCING SAMBA TO BE THE MASTER
==============================

Who becomes the "master browser" is determined by an election process
using broadcasts. Each election packet contains a number of parameters
which determine what precedence (bias) a host should have in the
election. By default Samba uses a very low precedence and thus loses
elections to just about anyone else.

If you want Samba to win elections then just set the "os level" global
option in smb.conf to a higher number. It defaults to 0. Using 34
would make it win all elections over every other system (except other
samba systems!)

A "os level" of 2 would make it beat WfWg and Win95, but not NTAS. A
NTAS domain controller uses level 32.

The maximum os level is 255

MAKING SAMBA THE DOMAIN MASTER
==============================

The domain master is responsible for collating the browse lists of
multiple subnets so that browsing can occur between subnets. You can
make samba act as the domain master by setting "domain master = yes"
in smb.conf. By default it will not be a domain master.

When samba is the domain master and the master browser it will listen
for master announcements from other subnets and then contact them to
synchronise browse lists.

If you want samba to be the domain master then I suggest you also set
the "os level" high enough to make sure it wins elections.

NOTIFYING THE DOMAIN CONTROLLER
===============================

If you have a domain controller for the domain which Samba is a part
of then you should add the line "domain controller = address" to
smb.conf. "address" can either be a name available via DNS or a IP
address or a broadcast address. If it is a broadcast address then
Samba will look for a domain controller on that network.

When Samba is the master browser it will regularly contact the domain
controller to synchronise browse lists.


NOTE ABOUT BROADCAST ADDRESSES
==============================

If your network uses a "0" based broadcast address (for example if it
ends in a 0) then you will strike problems. Windows for Workgroups
does not seem to support a 0's broadcast and you will probably find
that browsing and name lookups won't work.

MULTIPLE INTERFACES
===================

Samba now supports machines with multiple network interfaces. If you
have multiple interfaces then you will need to use the "interfaces"
option in smb.conf to configure them. See smb.conf(5) for details.
