Running smb without nmb?

Christopher R. Hertel crh at ubiqx.mn.org
Thu Oct 24 04:16:02 GMT 2002


First, some terminology...

In the RFCs, the term NBNS refers specifically to the NetBIOS Name Server, 
and not the service as a whole.  The service is called the NetBIOS Name 
Service and isn't abbreviated.  Yes, it's quirky.  The reason I bother 
being pedantic is that there are situations in which confusing the server 
with the service has messed me up.

The term WINS referrs to Microsoft's implementation of the NetBIOS Name
Service.  It is often used, in Microsoft documentation, to mean the
service as a whole rather than just the name server.  Urg.  It gets very 
confusing trying to keep it straight.

Anyway, on to the main question...

What nmbd does, essentially, is create and manage the virtual NetBIOS
network over TCP transport.  That's the purpose behind the RFCs
(RFC1001/1002).  They define a means for overlaying NetBIOS networking on
TCP/IP.  NetBIOS has also been implemented on top of at least a half-dozen
other protocols.  In addition to the Name Service, the RFCs define a
Datagram Service (that was never fully implemented by Microsoft) and a
Session Service.  The Browse Service was later added by IBM and Microsoft,
and then updated by Microsoft.

The Name Service maps NetBIOS addresses to IP addresses, so you only need 
it if you are using NetBIOS names to locate and connect with servers.

The Datagram Service is broken, and isn't used for filesharing services.

The Browse Service is only ever used for collecting and distributing the 
lists of servers.

So, if you know the DNS name or IP address of the destination server *and* 
if you can figure out or bypass the need for a valid NetBIOS name in the 
Session Service Session Request... then you don't need nmbd at all.

Samba makes it easy to bypass the need for a valid NetBIOS name in the 
Session Request...  Samba accepts anything in there.  Windows systems tend 
to be more particular, but newer versions of Windows (NT4, W2K, and 
probably W/XP) all accept the generic name "*SMBSERVER".

Finally, if SMB is running over naked TCP transport on port 445, you don't 
need any of the RFC stuff at all.

Of course, all of this breaks the model set up in the RFCs, so you need to 
know what you are doing if you go this route.  Don't expect good behavior 
from your Network Neighborhood, and don't expect to be able to contact a 
server using its NetBIOS name.

Otherwise, yeah...  nmbd is optional.

Chris -)-----

On Wed, Oct 23, 2002 at 01:35:21PM -0700, Jay Ts wrote:
> On Wed, Oct 23, 2002 at 02:43:05PM -0500, Steven French wrote:
> > >From: "l. a. walsh" <lwlsh at tlinx.org>
> > >Subject: Running smb without nmb? (Linux Suse 8.1 feature)
> > 
> > >Ok -- enough of my whining.  Question is this: is there any good reason
> > >for splitting the two or making so one is runnable w/o the other?
> > 
> > That is cool.   I thought that I was the only one who prefers not to run
> > nmbd  :)
> 
> That's because the rest of us didn't even know it would work!
> Steve, can you please clarify?
> 
> You are obviously running without NBNS (NetBIOS Name Service = WINS),
> and browsing protocol, so your system can't ever be chosen as the
> master browser, or act as a backup browser.
> 
> Do you have another system on the net acting as a WINS server?  And
> a system running as master browser?  I assume the system you are
> talking about is one of many SMB servers on your network, and you
> find that that particular one doesn't need to run nmbd.
> 
> > On my test systems I don't want to deal with WINS related traffic, and as a
> > general practice prefer to limit the network services running on my servers
> > to the minimum.
> > Although that means the server will not be sending
> > browser announcements which might make it harder for other servers to find
> > mine, if you are configured for DFS (or perhaps with 3.0 servers publish
> > your servers shares in ActiveDirectory) that may not be a big restriction.
> 
> You mean, your nmbd-free system has its shares included in a Dfs tree
> hosted by another server, right?  If you are suggesting that a general-
> purpose Samba server can be effectively run without nmbd, I'd like to
> hear more about it.
> 
> > The Linux CIFS VFS is passed IP addresses and does not need/use Netbios
> > names anyway so the RFC1001 support that nmbd helps with is not necessary.
> 
> Er, is that all you're using your test systems for?
> 
> Jay Ts

-- 
Samba Team -- http://www.samba.org/     -)-----   Christopher R. Hertel
jCIFS Team -- http://jcifs.samba.org/   -)-----   ubiqx development, uninq.
ubiqx Team -- http://www.ubiqx.org/     -)-----   crh at ubiqx.mn.org
OnLineBook -- http://ubiqx.org/cifs/    -)-----   crh at ubiqx.org



More information about the samba-technical mailing list