[Samba] Wins name refresh requests getting ignored by samba, still running, accessible machines getting removed from browse with Timed out message

Gurmai Zsolt gurmai.zsolt at generalmedia.hu
Mon Apr 12 09:52:39 MDT 2010


Hello all!

I am using samba server at the company i work. Samba version is: 2:3.2.5-4lenny9
Some settings from my smb.conf:

os level = 255
domain logons = no
wins support = yes
domain master = yes
local master = yes
preferred master = yes

i have dhcp configured to send wins server address (this samba
server's address) to all clients.

After I (re)start samba within a minute or so all computer of our
network appear on the browse list. Everything works as it should. The
problem start after about 10-15 minutes, when machines start to disappear
from the browse list. After setting loglevel to 10 to investingate
things i found some interesting things:

Anubis is the server with samba, Wladek is one of the many
disappearing machines.

[2010/03/23 11:34:04,  4] nmbd/nmbd_workgroupdb.c:dump_workgroups(281)
  dump_workgroups()
   dump workgroup on subnet   192.168.1.254: netmask=  255.255.255.0:
        WORKGROUP(1) current master browser = ANUBIS
                ANUBIS 408c9a03 (anubis server)
                WLADEK 40011003 ()

At this point Wladek is on the list (most entries were removed by me
to cut the list short).

[2010/03/23 11:34:13,  3] nmbd/nmbd_serverlistdb.c:expire_servers(195)
  expire_old_servers: Removing timed out server WLADEK

A few seconds later wladek gets removed.

[2010/03/23 11:34:13,  4] nmbd/nmbd_workgroupdb.c:dump_workgroups(281)
  dump_workgroups()
   dump workgroup on subnet   192.168.1.254: netmask=  255.255.255.0:
        WORKGROUP(1) current master browser = ANUBIS
                ANUBIS 408c9a03 (anubis server)

After a few more seconds we got a dump in the log; Wladek is missing
at this point from the browse list.

[2010/03/23 11:34:17,  4] libsmb/nmblib.c:debug_nmb_packet(109)
  nmb packet from 192.168.1.67(137) header: id=33308 opcode=Refresh(8) response=No
      header: flags: bcast=No rec_avail=No rec_des=No trunc=No auth=No
      header: rcode=0 qdcount=1 ancount=0 nscount=0 arcount=1
      question: q_name=WLADEK<20> q_type=32 q_class=1
      additional: nmb_name=WLADEK<20> rr_type=32 rr_class=1 ttl=300000
      additional   0 char  ....C   hex 2000C0A80143
[2010/03/23 11:34:17,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<20> IP 192.168.1.67
[2010/03/23 11:34:17,  4] nmbd/nmbd_packets.c:reply_netbios_packet(947)
  reply_netbios_packet: sending a reply of packet type: wins_reg WLADEK<20> to ip 192.168.1.67 for id 33308

And then there is a name refresh request.

[2010/03/23 11:34:17,  3] nmbd/nmbd_serverlistdb.c:expire_servers(195)
  expire_old_servers: Removing timed out server KACSA-PC

Some more expires witch triggers a dump:

[2010/03/23 11:34:17,  4] nmbd/nmbd_workgroupdb.c:dump_workgroups(281)
  dump_workgroups()
   dump workgroup on subnet   192.168.1.254: netmask=  255.255.255.0:
        WORKGROUP(1) current master browser = ANUBIS
                ANUBIS 408c9a03 (anubis server)

But Wladek is still missing from list! Altough machine Wladek was
online the whole time, and it is sending refresh requests, it gets
removed from the list. After getting a refresh samba does not put back
the machine onto the list!

Some older refreshes:

[2010/03/23 11:31:47,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<20> IP 192.168.1.67
[2010/03/23 11:31:47,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<03> IP 192.168.1.67
[2010/03/23 11:31:47,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<00> IP 192.168.1.67


[2010/03/23 11:29:17,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<20> IP 192.168.1.67
[2010/03/23 11:29:17,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<03> IP 192.168.1.67
[2010/03/23 11:29:17,  3] nmbd/nmbd_winsserver.c:wins_process_name_refresh_request(859)
  wins_process_name_refresh_request: Name refresh for name WLADEK<00> IP 192.168.1.67

You can see, that the machine regurarly makes refresh requests, so no
timed out removal should occur.

I don't understand what causes the problem, i sadly can not pinpoint
the time it started exactly enough (3 or 4 weeks ago there was no such
problem; when it first appeared i did not had the time to investigate,
and reports were also sporadical). In the past weeks there was samba
upgrade (and other packages were also upgraded; i usually do updates
frequently, so no big version jumps occur).

The problem is similar to this, but i found no solution there:
http://lists.samba.org/archive/samba/2006-July/122747.html


/var/cache/samba/browse.dat shows the same (incomplete) list as the
winxp machines do. /var/lib/samba/wins.dat has all the computers names
in it. Ethereal (and tshark) shows that the winxp's are in fact
getting the browse list from the samba server, and that this samba
server is the LMB and DMB.

I welcome every help and opinion you can give me, and please don't
hesitate for asking for more info.

Thank you in advance!


-- 
Best regards,
 Zsolt Gurmai                            mailto:gurmai.zsolt at generalmedia.hu




More information about the samba mailing list