[Samba] nmbd problems with secondary lo

Chris Smith smb23 at realcomputerguy.com
Sun Oct 15 19:59:59 GMT 2006


When using the global options:
================================
interfaces = eth0, lo
bind interfaces only = Yes
hosts allow = 192.168.1. 127.
================================

and a secondary loopback address:
================================
~ # ip addr show dev lo
3: lo: <LOOPBACK,UP,10000> mtu 16436 qdisc noqueue
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 brd 127.255.255.255 scope host lo
    inet 127.0.0.2/8 brd 127.255.255.255 scope host secondary lo
================================

Nmbd will not announce that it is the domain master browser on the 192.168.1 
subnet:
================================
  Netbios nameserver version 3.0.23c started.
  Copyright Andrew Tridgell and the Samba Team 1992-2006
[2006/10/15 15:08:43, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
  add_domain_logon_names:
  Attempting to become logon server for workgroup MYDOMAIN on subnet 
192.168.1.4
[2006/10/15 15:08:43, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
  add_domain_logon_names:
  Attempting to become logon server for workgroup MYDOMAIN on subnet 127.0.0.2
[2006/10/15 15:08:43, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
  add_domain_logon_names:
  Attempting to become logon server for workgroup MYDOMAIN on subnet 
UNICAST_SUBNET
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(335)
  become_domain_master_browser_wins:
  Attempting to become domain master browser on workgroup MYDOMAIN, subnet 
UNICAST_SUBNET.
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(349)
  become_domain_master_browser_wins: querying WINS server from IP 127.0.0.2 
for domain master browser name MYDOMAIN<1b> on workgroup MYDOMAIN
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)
  become_logon_server_success: Samba is now a logon server for workgroup 
MYDOMAIN on subnet UNICAST_SUBNET
[2006/10/15 15:08:43, 0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2
(113)
  *****

  Samba server MYSERVER is now a domain master browser for workgroup MYDOMAIN 
on subnet UNICAST_SUBNET

  *****
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(290)
  become_domain_master_browser_bcast:
  Attempting to become domain master browser on workgroup MYDOMAIN on subnet 
192.168.1.4
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(303)
  become_domain_master_browser_bcast: querying subnet 192.168.1.4 for domain 
master browser on workgroup MYDOMAIN
[2006/10/15 15:08:43, 0] libsmb/nmblib.c:send_udp(791)
  Packet send failed to 192.168.1.255(137) ERRNO=Invalid argument
[2006/10/15 15:08:43, 0] nmbd/nmbd_packets.c:send_netbios_packet(163)
  send_netbios_packet: send_packet() to IP 192.168.1.255 port 137 failed
[2006/10/15 15:08:43, 0] nmbd/nmbd_namequery.c:query_name(245)
  query_name: Failed to send packet trying to query name MYDOMAIN<1b>
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(290)
  become_domain_master_browser_bcast:
  Attempting to become domain master browser on workgroup MYDOMAIN on subnet 
127.0.0.2
[2006/10/15 15:08:43, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(303)
  become_domain_master_browser_bcast: querying subnet 127.0.0.2 for domain 
master browser on workgroup MYDOMAIN
[2006/10/15 15:08:47, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)
  become_logon_server_success: Samba is now a logon server for workgroup 
MYDOMAIN on subnet 192.168.1.4
[2006/10/15 15:08:47, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)
  become_logon_server_success: Samba is now a logon server for workgroup 
MYDOMAIN on subnet 127.0.0.2
[2006/10/15 15:08:51, 0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2
(113)
  *****

  Samba server MYSERVER is now a domain master browser for workgroup MYDOMAIN 
on subnet 127.0.0.2

  *****
[2006/10/15 15:09:06, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2
(396)
  *****

  Samba name server MYSERVER is now a local master browser for workgroup 
MYDOMAIN on subnet 192.168.1.4

  *****
[2006/10/15 15:09:06, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2
(396)
  *****

  Samba name server MYSERVER is now a local master browser for workgroup 
MYDOMAIN on subnet 127.0.0.2

  *****
================================
Notice in the above section the errors:
-----------------------------------------
[2006/10/15 15:08:43, 0] libsmb/nmblib.c:send_udp(791)
  Packet send failed to 192.168.1.255(137) ERRNO=Invalid argument
[2006/10/15 15:08:43, 0] nmbd/nmbd_packets.c:send_netbios_packet(163)
  send_netbios_packet: send_packet() to IP 192.168.1.255 port 137 failed
[2006/10/15 15:08:43, 0] nmbd/nmbd_namequery.c:query_name(245)
  query_name: Failed to send packet trying to query name MYDOMAIN<1b>
-----------------------------------------
And that:
-----------------------------------------
  Samba server MYSERVER is now a domain master browser for workgroup MYDOMAIN 
on subnet 192.168.1.4
-----------------------------------------
Is never logged.
================================

Without the secondary lo nmbd acts normally:
================================
  Netbios nameserver version 3.0.23c started.
  Copyright Andrew Tridgell and the Samba Team 1992-2006
[2006/10/15 15:09:56, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
  add_domain_logon_names:
  Attempting to become logon server for workgroup MYDOMAIN on subnet 
192.168.1.4
[2006/10/15 15:09:56, 0] nmbd/nmbd_logonnames.c:add_logon_names(163)
  add_domain_logon_names:
  Attempting to become logon server for workgroup MYDOMAIN on subnet 
UNICAST_SUBNET
[2006/10/15 15:09:56, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(335)
  become_domain_master_browser_wins:
  Attempting to become domain master browser on workgroup MYDOMAIN, subnet 
UNICAST_SUBNET.
[2006/10/15 15:09:56, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_wins(349)
  become_domain_master_browser_wins: querying WINS server from IP 127.0.0.1 
for domain master browser name MYDOMAIN<1b> on workgroup MYDOMAIN
[2006/10/15 15:09:56, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)
  become_logon_server_success: Samba is now a logon server for workgroup 
MYDOMAIN on subnet UNICAST_SUBNET
[2006/10/15 15:09:56, 0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2
(113)
  *****

  Samba server MYSERVER is now a domain master browser for workgroup MYDOMAIN 
on subnet UNICAST_SUBNET

  *****
[2006/10/15 15:09:56, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(290)
  become_domain_master_browser_bcast:
  Attempting to become domain master browser on workgroup MYDOMAIN on subnet 
192.168.1.4
[2006/10/15 15:09:56, 0] 
nmbd/nmbd_become_dmb.c:become_domain_master_browser_bcast(303)
  become_domain_master_browser_bcast: querying subnet 192.168.1.4 for domain 
master browser on workgroup MYDOMAIN
[2006/10/15 15:10:00, 0] 
nmbd/nmbd_logonnames.c:become_logon_server_success(124)
  become_logon_server_success: Samba is now a logon server for workgroup 
MYDOMAIN on subnet 192.168.1.4
[2006/10/15 15:10:04, 0] nmbd/nmbd_become_dmb.c:become_domain_master_stage2
(113)
  *****

  Samba server MYSERVER is now a domain master browser for workgroup MYDOMAIN 
on subnet 192.168.1.4

  *****
[2006/10/15 15:10:19, 0] nmbd/nmbd_become_lmb.c:become_local_master_stage2
(396)
  *****

  Samba name server MYSERVER is now a local master browser for workgroup 
MYDOMAIN on subnet 192.168.1.4

  *****
================================

Workarounds appear to include:
================================
1)changing "lo" to "127.0.0.1" in interfaces:
-----------------------------------------
interfaces = eth0, 127.0.0.1
bind interfaces only = Yes
hosts allow = 192.168.1. 127.
-----------------------------------------
2)disable "bind interfaces only"
-----------------------------------------
interfaces = eth0, lo
bind interfaces only = No
hosts allow = 192.168.1. 127.
-----------------------------------------
of course the above isn't very helpful if you have other interfaces you don't 
want nmbd to bind to.
-----------------------------------------
3)don't use "ip" to create the secondary "lo" but instead use the older less 
funtional "ifconfig" which will only define the new address by creating an 
alias name such as "lo:0".
================================

On the surface this seems like improper operation and that nmbd should be able 
to deal with secondary addresses.

Chris


More information about the samba mailing list