Samba only uses wireless for browsing, not cable connected network

Hello everyone,

I’ve been struggling with the following problem for several days, but I can’t make heads or tails of it any more. The symptom is as is mentioned in the subject: Samba only browses and finds workgroups on the wireless interface, nothing on the wired interface. Here is the situation:

I’m working on a HP 6730b Notebook, running openSUSE 13.1, KDE4, fully up to date with patches and updates.
The system has both a wired network card and a wireless card, as most notebooks do. At first, I was having problems with AppArmor blocking access, however, running logprof and accepting all blocked items related to Samba, these errors have now gone.

However, /var/log/samba/log.smbd shows the following error on startup:

[2014/02/12 10:24:09,  0] ../source3/smbd/server.c:1198(main)
  smbd version 4.1.3-3.12.1-3127-SUSE-oS13.1-i386 started.
  Copyright Andrew Tridgell and the Samba Team 1992-2013
[2014/02/12 10:24:14.141871,  0] ../source3/lib/interface.c:543(load_interfaces)
  WARNING: no network interfaces found
[2014/02/12 10:24:14.142459,  0] ../source3/lib/interface.c:543(load_interfaces)
  WARNING: no network interfaces found
[2014/02/12 10:24:14.154838,  0] ../source3/smbd/server.c:1278(main)
  standard input is not a socket, assuming -D option
[2014/02/12 10:24:14.286985,  0] ../source3/smbd/server.c:846(open_sockets_smbd)
  open_sockets_smbd: No sockets available to bind to.
[2014/02/12 10:24:14.287298,  0] ../source3/lib/util.c:785(smb_panic_s3)
  PANIC (pid 1101): open_sockets_smbd() failed
[2014/02/12 10:24:14.287811,  0] ../source3/lib/util.c:896(log_stack_trace)
  BACKTRACE: 9 stack frames:
   #0 /usr/lib/libsmbconf.so.0(log_stack_trace+0x29) [0xb71265b9]
   #1 /usr/lib/libsmbconf.so.0(smb_panic_s3+0x28) [0xb71266b8]
   #2 /usr/lib/libsamba-util.so.0(smb_panic+0x3a) [0xb7682c0a]
   #3 /usr/lib/samba/libsmbd_base.so(+0x167dde) [0xb7497dde]
   #4 /usr/lib/samba/libsmbd_base.so(+0x168161) [0xb7498161]
   #5 /usr/lib/samba/libsmbd_shim.so(exit_server+0x22) [0xb70b69c2]
   #6 /usr/sbin/smbd(main+0x112b) [0xb770484b]
   #7 /lib/libc.so.6(__libc_start_main+0xf3) [0xb6b8f9d3]
   #8 /usr/sbin/smbd(+0x64e9) [0xb77054e9]
[2014/02/12 10:24:14.289554,  0] ../source3/lib/dumpcore.c:317(dump_core)
  dumping core in /var/log/samba/cores/smbd

Something is preventing the smbd daemon from finding the system network interfaces but I don’t know what. I’d assume it’s not AppArmor since I have already gone through logprof and accepted all the requests for Samba et al. Further, the AppArmor profiles of nmbd, smbd and winbindd have been set to “complain” instead of “enforce” in the Yast2 AppArmor configuration.

The ouput of nmbstatus is also a little less than impressive:

# nmbstatus --allworkgroups
Found 1 hosts. Collecting additional information. Please wait.
.

However, if I use Dolphin, I can find two workgroups (on the wireless interface). If I use the address bar of Dolphin and enter

smb://<host>

I am presented with a login screen, where I enter my domain credentials and can subsequently connect to the host. The Windows domain is not reachable through the wireless interface (seperate VLAN). This means that Samba has to use the wired interface for resolving the host and connecting.

Below is the relevant information of the system:

Interfaces:

# ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: ens5: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:22:64:5d:34:81 brd ff:ff:ff:ff:ff:ff
    inet 192.168.8.49/22 brd 192.168.11.255 scope global ens5
       valid_lft forever preferred_lft forever
    inet6 fe80::222:64ff:fe5d:3481/64 scope link 
       valid_lft forever preferred_lft forever
3: wls1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether 00:21:5d:b9:e9:e2 brd ff:ff:ff:ff:ff:ff
    inet 192.168.16.85/24 brd 192.168.16.255 scope global wls1
       valid_lft forever preferred_lft forever
    inet6 fe80::221:5dff:feb9:e9e2/64 scope link 
       valid_lft forever preferred_lft forever

Global section of /etc/samba/smb.conf:

[global]
        name resolve order = bcast host wins
        add machine script = /usr/sbin/useradd  -c Machine -d /var/lib/nobody -s /bin/false %m$
        domain logons = No
        domain master = No
        include = /etc/samba/dhcp.conf
        netbios name = orthanc
        passdb backend = smbpasswd
        security = user
        interfaces = ens5, wls1  <-- I believe this tells Samba to use both these interfaces
        bind interfaces only = Yes
        wins server = 
        wins support = No
        workgroup = TUXNET

The firewall has been set to allow Samba services. Turning the firewall off completely does not help the problem either way, so it can not be the firewall, imho.
Configuration was done by Yast.


Chain input_ext (1 references)
target     prot opt source               destination         
ACCEPT     udp  --  anywhere             anywhere             PKTTYPE = broadcast udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             PKTTYPE = broadcast udp dpt:netbios-dgm
ACCEPT     udp  --  anywhere             anywhere             udp spt:netbios-ns ctstate RELATED
ACCEPT     udp  --  anywhere             anywhere             udp spt:netbios-ns ctstate RELATED
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:microsoft-ds
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-ns
ACCEPT     udp  --  anywhere             anywhere             udp dpt:netbios-dgm

Any suggestions on how I can get Samba to browse on the wired interface would be welcome.

On 2/12/2014 5:16 AM, joopberis wrote:
>
> Hello everyone,
>
> I’ve been struggling with the following problem for several days, but I
> can’t make heads or tails of it any more. The symptom is as is mentioned
> in the subject: Samba only browses and finds workgroups on the wireless
> interface, nothing on the wired interface. Here is the situation:
>
> I’m working on a HP 6730b Notebook, running openSUSE 13.1, KDE4, fully
> up to date with patches and updates.
> The system has both a wired network card and a wireless card, as most
> notebooks do. At first, I was having problems with AppArmor blocking
> access, however, running logprof and accepting all blocked items related
> to Samba, these errors have now gone.
>
<snip>

>
> Global section of /etc/samba/smb.conf:
>
> Code:
> --------------------
> [global]
> name resolve order = bcast host wins
> add machine script = /usr/sbin/useradd -c Machine -d /var/lib/nobody -s /bin/false %m$
> domain logons = No
> domain master = No
> include = /etc/samba/dhcp.conf
> netbios name = orthanc
> passdb backend = smbpasswd
> security = user
> interfaces = ens5, wls1 ← I believe this tells Samba to use both these interfaces
> bind interfaces only = Yes
> wins server =
> wins support = No
> workgroup = TUXNET
>
> --------------------
>
>
<snip>
>
>
> Any suggestions on how I can get Samba to browse on the wired interface
> would be welcome.
>
>
Joopberis;

What happens if you just remove (or comment out) both of these parameters in /etc/samba/smb.conf


interfaces = ens5, wls1  <-- I believe this tells Samba to use both these interfaces
bind interfaces only = Yes

Unless you have multiple NICs and want to limit Samba on some of them, there should be no need for either of these. By
default Samba will use the interfaces provided by the kernel. See: man smb.conf.

P.V.
“We’re all in this together, I’m pulling for you” Red Green

Sorry, I should have clarified that I added those lines myself in an attempt to get Samba to use both NICs. They weren’t there by default.
So in answer to your question: it makes no difference if those lines are there or not. Samba refuses to use the wired interface for browsing.

I’ve worked out why Samba wasn’t finding any hosts on the wired interface but was finding hosts on the wireless interface. The problem had nothing to do with my Samba configuration at all. Instead, it turns out that the wired interface had a wrong broadcast address set.

The card has in address in the 192.168.8.0/255.255.248.0 range. However, the broadcast address was set 192.168.11.255. This would be correct if the subnet mask was 255.255.252.0, not 255.255.248.0.
How the incorrect broadcast address got there, I have no idea because the interface was set to DHCP in Networkmanager.

I have now set the wired interface to manual in Networkmanager, input the correct values for IP address, subnet mask, DNS, etc. Samba is able to browse and find hosts on the wired interface through broadcasting, as expected.

As a final update to this problem: after setting the interface back to DHCP in Networkmanager, it continues to hold the correct broadcast address of 192.168.15.255, so Samba browsing continues to work as normal.