I have just pulled my hair out for several hours trying to figure out WHY
nmbd would NOT start on one of my Linux boxes.  I guess I am looking for an
explanation/education as to the subtle issues associated with the smb.conf
file.

I was configuring a Suse 9.0 box to use Samba.  I had a RH7.2 box that I had
never configured samba on ... so I went ahead and did that ... it worked
fine.  It showed up in network neighborhood, etc. without a problem.  The
Suse9 box flaked on and off .. so it seemed .. until it finally would not
show up in network neighborhood.  I could search for the IP address, and it
would show up that way ... so nmbd was not running and allowing it to show
up as it should.

What I finally found was one difference between the smb.conf files on the
two systems.  A portion of the smb.conf file is found below.


   workgroup = WORKGROUP
   server string = Suse_box
   netbios name = Suse9
   os level = 2
   time server = Yes
   unix extensions = Yes
   encrypt passwords = yes
   map to guest = Bad User
   log file = /var/log/samba/%m
   log level = 3
   printing = CUPS
   printcap name = CUPS
# Please uncomment the following entry and replace the IP address and
# netmask with the values of your network interface configuration.
;   interfaces = 127.0.0.1/8 192.168.1.1/24
# By this limit also NMB name servie to the listed interfaces above.  Before
# activating this, read carefully the 'bind interfaces only' section of the
# smb.conf man page.
;       bind interfaces only = Yes

The interfaces line is the one that I eventually had to comment out.  I
stumbled upon this by comparing the testparm output for both smb.conf files
(working and non-visible system)

I finally (yes finally) looked into the log.nmbd file to see if I could
discover anything.  Excerpts are shown below.

[2004/05/08 14:50:44, 0] nmbd/nmbd.c:main(795)
  Netbios nameserver version 2.2.8a-SuSE started.
  Copyright Andrew Tridgell and the Samba Team 1994-2002
[2004/05/08 14:50:44, 1] lib/debug.c:debug_message(258)
  INFO: Debug class all level = 3   (pid 1615 from pid 1615)
[2004/05/08 14:50:44, 3] nmbd/nmbd.c:reload_nmbd_services(292)
  services not loaded
[2004/05/08 14:50:44, 2] nmbd/nmbd.c:main(833)
  Becoming a daemon.
[2004/05/08 14:50:44, 3] nmbd/nmbd.c:main(862)
  Opening sockets 137
[2004/05/08 14:50:44, 3] lib/util_sock.c:open_socket_in(813)
  bind succeeded on port 137
[2004/05/08 14:50:44, 3] lib/util_sock.c:open_socket_in(813)
  bind succeeded on port 138
[2004/05/08 14:50:44, 3] nmbd/nmbd.c:open_sockets(550)
  open_sockets: Broadcast sockets opened.
[2004/05/08 14:50:44, 2] lib/interface.c:add_interface(81)
  added interface ip=127.0.0.1 bcast=127.255.255.255 nmask=255.0.0.0
[2004/05/08 14:50:44, 2] lib/interface.c:add_interface(81)
  added interface ip=192.168.1.1 bcast=192.168.1.255 nmask=255.255.255.0
[2004/05/08 14:50:44, 0] lib/util_sock.c:open_socket_in(804)
  bind failed on port 137 socket_addr = 192.168.1.1.
  Error = Cannot assign requested address
[2004/05/08 14:50:44, 0] nmbd/nmbd_subnetdb.c:make_subnet(139)
nmbd_subnetdb:make_subnet()
  Failed to open nmb socket on interface 192.168.1.1 for port 137.  Error
was Cannot assign requested address
[2004/05/08 14:50:44, 0] nmbd/nmbd.c:main(873)
  ERROR: Failed when creating subnet lists. Exiting.

My server has two NICs ... one is 192.168.1.1 .... it SEEMS that as it hit
that machine it tried to open port 137 and died.  I am guessing it did that
because I have a firewall on that system .... hopefully a fairly tight one.

Should this (the firewall) have caused nmbd to not start?  It could not be
started in any shape or form until I commented out the interfaces line.  I
added that interface line because I thought it was the proper thing to do.

I guess I am looking for some insight from someone much better at this sort
of thing than I.  Thoughts and comments appreciated.  Thanks in advance.

Randy




_______________________________________________
TCLUG Mailing List - Minneapolis/St. Paul, Minnesota
http://www.mn-linux.org tclug-list at mn-linux.org
https://mailman.real-time.com/mailman/listinfo/tclug-list