Register for the iXsystems Community to get an ad-free experience and exclusive discounts in our eBay Store.
Resource icon

How to kill off SMB1, NetBIOS, WINS and *still* have Windows' Network Neighbourhood better than ever

Stilez

Senior Member
Joined
Apr 8, 2016
Messages
498
Stilez submitted a new resource:

How to kill off SMB1, NetBIOS, WINS and *still* have Windows' Network Neighbourhood better than ever
Did you know Windows Vista onwards already has a better way built in? Just try it out!

Having a few problems with Network Neighbourhood?
  • Normal discovery using NetBIOS is incredibly inefficient and fussy - sometimes a device shows up, sometimes it doesn't. Sometimes it takes time (hours!) and magic. And there's always one computer that *never* shows up.
  • SMB1 - the basic sharing protocol - you ought to turn it off. Wannacry and all that. Or maybe Win10 killed it off for you. Unencrypted, insecure as anything, but... oh dear. then discovery will stop working too.
Fear not! In this resource, you'll find a better way to have it all - Network Neighbourhood discovery reliable, snappy and without issues, and without SMB1, NetBIOS or WINS!
Read more about this resource...
 
Last edited:

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
6,958
I'll merge it into 11.2-stable later today. For now wsdd will be disabled by default in the 11.2 branch. You will be able to enable it by setting the auxiliary parameter "enable web service discovery=yes" under services->SMB. Likewise, you will be able to disable the netbios name server by setting "disable netbios=yes". This won't land until 11.2-U3.
 

Yorick

Dedicated Sage
Joined
Nov 4, 2018
Messages
1,732
This is awesome! I had given up on getting this to work. Thank you so much.

Edit: To answer @Mannekino below, this works great in U2. Just run wsdd.py in the background. Needs to be restarted when FreeNAS is rebooted, which will be never. Like so:

~/wsdd.py -n FreeNAS &
~/wsdd.py &

Just use the CLI to copy/paste the linked wsdd.py into a wsdd.py file. I did that through vi and Shift-Insert, you can also enable ssh and do it that way, just scp the file in.
 
Last edited:

Mannekino

Senior Member
Joined
Nov 14, 2012
Messages
297
I'll merge it into 11.2-stable later today. For now wsdd will be disabled by default in the 11.2 branch. You will be able to enable it by setting the auxiliary parameter "enable web service discovery=yes" under services->SMB. Likewise, you will be able to disable the netbios name server by setting "disable netbios=yes". This won't land until 11.2-U3.
So this won't work right now with the currenct 11.2-U2 version right? We will have to wait for a patch or U3 to use this or follow the resource guide?
 

Stilez

Senior Member
Joined
Apr 8, 2016
Messages
498
This is awesome! I had given up on getting this to work. Thank you so much.
I almost did too, tbh. I'm probably just bloody-minded (as they say in the UK).

I'm working on a new mission now - how to do split view in Unbound, so I can have it handle a Let's Encrypt cert even without an RFC2136 capable name server (eg BIND), since my ISP isn't supported by ACME plugin's usual list and I'm not planning to fire up and configure the whole of a new DNS daemon just to serve 2 ACME validation TXT strings once every 2 months. Very poorly documented, and not at all obvious to dns-noobs like me, but getting there I think. (Rough idea - a script that writes the needed TXT records to a text file that's included in Unbound.conf, in a split view, then reloads unbound.conf, so the ACME domain can be queried but nothing else can, from outside the LAN, and ACME can process it.)

After that, I get to have some deep and interesting ZFS optimisations to do and then we'll see, I guess!
 
Last edited:

Stilez

Senior Member
Joined
Apr 8, 2016
Messages
498

Stilez

Senior Member
Joined
Apr 8, 2016
Messages
498
~/wsdd.py -n FreeNAS &
You don't even need "-n FreeNAS" - your FreeNAS config will already include a host name, and wsdd will use that by default if you leave out the -n host name override clause. So I wouldn't include that in the wsdd args.
 

Yorick

Dedicated Sage
Joined
Nov 4, 2018
Messages
1,732
wsdd.py inclusion in FreeNAS has been bumped to 11.2-U4 - there's a blocking bug where the samba port won't pull it in, even when instructed to. You can track that here: https://redmine.ixsystems.com/issues/74190
 

seanm

Senior Member
Joined
Jun 11, 2018
Messages
491
The article mentions that Win10 now supports Bonjour/mDNS... as FreeNAS also supports that, does it mean one should expect to see a FreeNAS share listed under Windows Explorer>Network (via Bonjour)? Or is WSD the only protocol that Win10 uses to populate what's shown in Network?
 

Yorick

Dedicated Sage
Joined
Nov 4, 2018
Messages
1,732
See https://www.ctrl.blog/entry/windows-mdns-dnssd - mDNS in Win10 is for networked printers only right now. Or, depending on Windows build number, it now may find networked displays that way too.

For FreeNAS, and thus file sharing via SMB, WSD is the protocol to look at.

Edit to add: Crazy but true, there was a contribution to enable WSD in Samba back in 2015. The Samba team seems to have ignored that effort since then. Most of the work was done for them, but it just didn't seem to be a priority, I guess. https://bugzilla.samba.org/show_bug.cgi?id=11473
 
Last edited:

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
6,958
I'll see if I can poke people into getting it into 11.2-U3. It's not terribly hard to copy the python file to the correct path and chmod+x it. I can provide instructions if you're interested. The feature will be controlled by an auxiliary parameter enable web service discovery=yes under services->smb once it's in. I'm planning to have it be officially available in the UI in 11.3.
 

emk2203

Senior Member
Joined
Nov 11, 2012
Messages
490
@anodos: Please give the canon, official instructions. With this much work in progress, better to do it right first time.

daemon[47896]: /usr/local/bin/python3.6: can't open file '/usr/local/bin/wsdd.py': [Errno 2] No such file or directory


is the message I am getting because wsdd.py is not installed, I have put it into /usr/local/bin, but I suspect it will be gone after restart.
 

danb35

Wizened Sage
Joined
Aug 16, 2011
Messages
11,748
I have put it into /usr/local/bin, but I suspect it will be gone after restart.
No, FreeNAS no longer works that way (and hasn't for nearly five years)--the root filesystem is a live ZFS pool and changes there are persistent. But it will probably go away with the next upgrade.
 

anodos

Sambassador
iXsystems
Joined
Mar 6, 2014
Messages
6,958
@anodos: Please give the canon, official instructions. With this much work in progress, better to do it right first time.

daemon[47896]: /usr/local/bin/python3.6: can't open file '/usr/local/bin/wsdd.py': [Errno 2] No such file or directory


is the message I am getting because wsdd.py is not installed, I have put it into /usr/local/bin, but I suspect it will be gone after restart.
No. It will stay.
 

emk2203

Senior Member
Joined
Nov 11, 2012
Messages
490
But it will be gone after the next upgrade, right?
 

sdgenxr

Member
Joined
Sep 4, 2014
Messages
122
wsdd.py inclusion in FreeNAS has been bumped to 11.2-U4 - there's a blocking bug where the samba port won't pull it in, even when instructed to. You can track that here: https://redmine.ixsystems.com/issues/74190
Would it be possible to update the post to reflect this change?

Also, in the paragraph below:
Code:
wsdd should be built into FreeNAS from 11.2-U3 (it's in nightlies now), and enabled from the SMB service config.
Controls will also be added to kill off Samba's NetBIOS discovery daemon, as mentioned.
But if you want it before then, you'll need to download and run it manually. The next 2 bullets cover "how to do that".

it appears to state that the following 2 bullets will provide the steps to download and save wsdd.py file into a directory and rename it. Was there supposed to be a step by step on "how to do that"? I'm not very versed in these kinds of commands and am looking at the post from a newbie point of view.
 

Mrpete

Newbie
Joined
May 27, 2019
Messages
2
A highly related topic: WINS provided support for multi-subnet networks. I've seen no discussion of this in the WS-Discovery context.

Has anyone addressed this? We need it!
 
Top