I’ve been having this super annoying issue (but with Nautilus on my end) for quite a while - no one has been able to post a solution. And it was on several distros, not only on OpenSUSE. Even though I’ve opened the ports in firewalld gui (for both smb client and smb server) network discovery did not work.
When I stop firewalld service discovery starts to work. So it suggests some other port should be opened as well? No clue, as firewalld does not have a tool for monitoring traffic (and I don’t know any on Linux).
Previous version of OpenSUSE (42.3) didn’t have this problem - but with one caveat. I had to use wicked network manager. When I switched to other one I had the same problem on 42.3 as well.
At this point I’ve created links to my smb locations in nautilus and cope with this problem that way.
Have you tried this workaround?
#17 …
https://forums.opensuse.org/showthread.php/528981-smb-doesn-t-show-workgroup/page2
No nautilus should not be affected - it’s discovery function explicitly sets NT1 (SMB1) protocol for NetBIOS discovery, so samba servers that still support it should still be discoverable. (This is a security issue so they actually shouldn’t.)
Even though I’ve opened the ports in firewalld gui (for both smb client and smb server) network discovery did not work.
Show us your configured active zone(s) and allowed firewalld services
sudo firewall-cmd --get-active-zones
sudo firewall-cmd --list-all
- If using some other zone use the ‘–zone=’ options
No solution after such a long time? I have this problem in Leap 42.2, 42.3 and 15.0. And to remind you, what the problem is:
Dolphin does not show any SMB-shares.
- If I click onto “Samba-shares”, after some seconds a message appears: “Unable to find any workgroups in your local network. This might be caused by an enabled firewall.”
- If I use smb://hostname that is ok, the same with smb://<ip_of_host>
- If I stop the firewall, the shares are shown
And with other Computers:
- two machines with the lastest Mageia and XFCE: Thunar has no problems to show the shares
- my old Thinkpad with Puppy shows them too
- a Dell with Windows 7 shows them
- an Asus eee with Opensuse 13.1: Konqueror shows the shares
All this machines have a hosts-file with the name of all my computers and the workgroup.
So what has to be done to the firewall?
Spielmops
By the way: this is not the tread to discuss the use of windows-shares!
Please don’t compare the versions, since Leap 15 has a different firewall: firewalld instead of the old SuSEfirewall2 .
Dolphin does not show any SMB-shares.
- If I click onto “Samba-shares”, after some seconds a message appears: “Unable to find any workgroups in your local network. This might be caused by an enabled firewall.”
- If I use smb://hostname that is ok, the same with smb://<ip_of_host>
- If I stop the firewall, the shares are shown
This should lead to an easy solution: open the appropritate port(s) in the firewall. Run
sudo firewall-config
and use the GUI to open the samba services. If that works like it should, do not forget to apply the runtime-to-permanent option
And with other Computers:
- two machines with the lastest Mageia and XFCE: Thunar has no problems to show the shares
- my old Thinkpad with Puppy shows them too
- a Dell with Windows 7 shows them
- an Asus eee with Opensuse 13.1: Konqueror shows the shares
All this machines have a hosts-file with the name of all my computers and the workgroup.
So what has to be done to the firewall?
See the above
By the way: this is not the tread to discuss the use of windows-shares!
IMHO given the thread’s content there’s no reason to post this remark in your second post here.
I have the same problem with GNOME Files in Opensuse Leap 15 (downloaded and installed on Oct 24th 2018) connected to a Windows network. If in Files, I go to Other Locations > Windows Network , it just results in ‘Folder is Empty’. If I enter a server address (smb://machine_name) in the box on that screen and click on Connect, this works fine and shows all the shares on that server. I have a Windows 10 guest machine on VirtualBox running on the Opensuse box and clicking on Network within Windows Explorer on the Windows virtual machine, the whole network appears as it should and can be browsed.
I’ve checked services and firewall ports to no avail. I have turned firewalls off on all machines and the problem still exists. It looks more and more like a GNOME Files bug to me.
I hope this helps in getting a timely solution to this one.
Regards
As I’ve already pointed out in this thread samba network discovery/browsing relies on SMBv1.0 to do this. This has been disabled by default with samba for security reasons. Refer posts #3, #4, and #21 of this thread.
Windows 10 uses a number of newer methods for function/service discovery that do not involve using SMB1…
One of the most noticeable places which still relies on SMB 1.0 by default is the network browsing feature in Windows Explorer (formerly Network Neighborhood). However, you can fix this, too, without using SMB 1.0:
- Find the Function Discovery Provider Host and Function Discovery Resource Publication services and set their startup types to Automatic (Delayed Start).
- The next time you start network browsing, follow the prompts to enable Network discovery.
Do this for all Windows computers on your network, and everything is fine again, using the much nicer WS-DISCOVERY protocol.
In my firewall the smb-client-service is enabled. If I disable the firewall, the discovery works. So the firewall-settings are not ok. Which ports do I have to open?
Spielmops
Show the output of
sudo firewall-cmd --list-all
Which ports do I have to open?
The netbios-ns port 137 UDP/TCP is used. AFAIU only UDP should be needed though (and this is what firewalld does).
You can check the current iptables applied eg filtered for rules that “accept” packets…
sudo iptables -S |grep -i accept
Something like the following should be evident…
-A IN_public_allow -p udp -m udp --dport 137 -m conntrack --ctstate NEW -j ACCEPT
-A IN_public_allow -p udp -m udp --dport 138 -m conntrack --ctstate NEW -j ACCEPT
In Leap 42.3 I get this:
-A input_ext -p udp -m udp --sport 137 -m conntrack --ctstate RELATED -j ACCEPT
-A input_ext -p udp -m conntrack --ctstate RELATED -j ACCEPT
I think, in the second line the port is missing? I don’t know, how to change this
Spielmops
As Knurpht already advised, openSUSE 42.3 uses SuSEfirewall2 by default. Ideally you should have started a new thread for this firewall issue, rather than tacking on to existing thread like this. I’ll do that for you now.