christgau / wsdd

A Web Service Discovery host daemon.
MIT License
808 stars 97 forks source link

On Debian 11 stops "working" #183

Closed EmEiBee closed 6 months ago

EmEiBee commented 11 months ago

Hello there,

at 1st, thank you very much for the great tool, which solves a problem that has existed for ages, which at least got on my nerves enormously! THANKS! I use WSDD on several RaspBerrys running Rasbian, as well as on a Debian 11 based NAS (OMV). With the RaspBerrys this works without any problems: Installed and ready. With the Debian system, however, the tool runs cleanly as a service, but the system only “reports” once to the Windows systems in the network when (re)starting. After the (re)start, the system disappears from the network environment after about 1 minute.

Since I actually have no idea about Linux, I unfortunately don't know why it works perfectly on the PI's but not on the "real" Debian.

Can anyone help me with that? That would be nice!

Greetz Micha

christgau commented 7 months ago

It sounds as if the firewall is blocking the incoming multicast, blocks UDP traffic in general, or maybe the host cannot join a multicast group. So you may try with firewall temporarily disabled and see if wsdd works then as expected.

FWIW: Upon start, wsdd announces the host with outgoing multicast message that contains the address for the HTTP-based metadata exchange. Essentially this is a shortcut to the usual discovery mechanism. Within that process, the host performing the discovery (the Windows host) multicasts in the local network and the machine running wsdd replies with unicast UDP messages. Without that message exchange (multicast + UDP unicast reply) the metadata exchange cannot happen. However, that exchange works. Otherwise the host would not be detected by Windows during wsdd startup.

EmEiBee commented 6 months ago

Thanks for the answer and the explanation.

However, neither the IPv4 nor the IPv6 firewall is in operation on the affected system; IPv6 is disabled on all systems anyway. So the problem must lie somewhere else. In the meantime I just built a cron that stupidly and dirtyly restarts WSDD every hour. At least that works without any problems so far...

christgau commented 6 months ago

That's strange. I nevertheless suspect an networking issue. Can you start wsdd with verbose logging (wsdd -vv), wait for it in Explorer to appear, press reload in the Explorer windows and/or wait until the machine disappears there. Please then provide the output of wsdd. Consider removing possibly sensitive data like IP addresses.

EmEiBee commented 6 months ago

... thy for assistance. I have done what you suggest. At the end is the output of the "double-verbose". Pls ignore the IPv6 of the docker. Docker is new and just stay since some days on that machine but will be killed after I have done my experience with it. BTW: I have double-checked that no FW are running. OMV are able to run a FW and also WebMIN and that seems to be different ones...

wsdd_verb.log

christgau commented 6 months ago

Ok, the log shows that there are no multicast messages arriving at all. I assume that you tried to reload the network view in Explorer during the runtime of wsdd.

Given there are no messages to be seen and given that wsdd listens on all network interfaces, it looks like a network or (although disabled) firewall problem. You can try to be more specific and set the interface to the actual interface on your LAN and see what happens. I doubt that it will change anything, but it's worth a try.

You can also do a capture of the network traffic that arrives on the machine in question using wireshark/tcpdump and ser if you can find multicast and/or IGMP traffic.

At the moment, I don't see any issue with wsdd itself.

EmEiBee commented 6 months ago

Good morning and thanks again for the support.

I limited this to the LAN interface "eno1", but nothing happens there when the Explorer or network environment is refreshed; dead silence. I then tried the whole thing with the firewall switched on, with and without rules activated, but that doesn't change anything. There seems to be something fundamentally different about the NAS or the OMV software than with a normal Debian or Rasbian installation. Of course, I could also use WireShark to record the traffic, but due to a lack of in-depth knowledge, I would certainly not recognize the problem even after reading the error 20 times.

I'll ask the OMV community to see if anyone there has any idea what this could be. I can't imagine that I'm the only one affected.

If I find out anything, I will communicate it here.

Thank you again

christgau commented 6 months ago

I'll ask the OMV community to see if anyone there has any idea what this could be. I can't imagine that I'm the only one affected. If I find out anything, I will communicate it here.

Sounds good. I'll close this issue as I don't see any actual issue with wsdd, at the moment. If you found something in the opposite direction, feel free to reopen this issue.