Make Samba servers visible

Many system administrators have grown to love Samba, a piece of Linux software that allows to use Linux machines as file and print servers compatible with Windows networking. There is, however, an annoying problem with Samba machines: they are not automatically discovered on a Windows network (in other words, when a user clicks on the Network icon in File Explorer, Samba machines do not appear on the list, although they are accessible via “manual” addressing). To fix this problem, administrators can use wsdd:

https://github.com/christgau/wsdd

To install wsdd on Debian and derivatives, follow these simple steps.

Before installing, check for the latest version of the package by going to https://pkg.ltec.ch/public/pool/main/w/wsdd/. As of this writing, the latest version available there is wsdd_0.6.1_all.deb, so we will install it on our system

Once you know which version you are about to install, issue these commands from the terminal (assuming you are logged in as root; if not, simply add sudo at the beginning of each command):

wget https://pkg.ltec.ch/public/pool/main/w/wsdd/wsdd_0.6.1_all.deb
dpkg --install wsdd_0.6.1_all.deb
systemctl start wsdd
systemctl enable wsdd
systemctl status wsdd

Assuming everything went well, the last command will produce output that looks like this:

● wsdd.service - Web Services Dynamic Discovery host daemon
   Loaded: loaded (/lib/systemd/system/wsdd.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-09-28 15:46:16 PDT; 22h ago
 Main PID: 16146 (python3)
    Tasks: 1 (limit: 4915)
   Memory: 7.8M
   CGroup: /system.slice/wsdd.service
           └─16146 python3 /usr/bin/wsdd

Be sure that the Loaded: line contains the word enabled; it indicates that the service you just installed will start again when the entire system restarts.

A few months later…

WSDD can be started with a variety of command-line options. Those options are specified in /etc/wsdd.conf. Here’s what I ended up using based on my local situation:

# command line parameters for wsdd 
WSDD_PARAMS="-i wlan0 -p -4 -w MYWORKGROUP"

-i wlan0 tells WSDD to listen on the wireless interface (my Samba server sits on a wireless network)

-p instructs WSDD to announce the server’s name as is (i.e., without converting it to upper or lower case)

-4 tells WSDD to work with IPv4 addresses only (i.e., not to worry about IPv6)

-w MYWORKGROUP indicates that the server belongs to MYWORKGROUP (obviously, the name of the actual workgroup has been changed to protect the innocent…)

Leave a Reply

Your email address will not be published. Required fields are marked *