Samba share láthatóvá tétele Windows 10-en

 ( locsemege | 2019. március 23., szombat - 18:28 )

Van az a probléma, hogy Windows 10-en nem látszik a linuxos samba share, illetve a host. Úgy értem, működik, csak a NetBios névfeloldás nem akar menni. Utánaolvastam, az a gond, hogy a 4-es Samba-ban még nem implementálták a WSD/LLMNR-t, így önmagában az smb.conf-ban a fejünk tetejére is állhatunk, akkor sem lesz megoldás.

Lenne az a fallback, hogy akkor meséljük el a Windows 10 klienseknek registry-ben, hogy használjanak régi smb 1 protokollt. Ez nekem nem tetszik, mert nem vagyok én rendszergazda, hogy mások gépeit piszkáljam, meg különben is, ami régi, az gyaníthatóan lyukacsos, mint a sajt, nem véletlenül van újabb.

És akkor íme a megoldás:

WSD/LLMNR Discovery/Name Service Daemon

A man page leírja, mely TCP és UDP portokat kell kinyitni hozzá a tűzfalon. Kipróbáltam Fedora 28-on, működik. :)

Ennyit kell tenni:

git clone 'https://github.com/Andy2244/wsdd2.git'

make

Root-ként:

make install

Tűzfalon a man page-ben megadott portok kinyitása. Ha nem lenne engedélyezve a szolgáltatás, akkor engedélyezni kell, meg elindítani. De talán ezt is megteszi maga, mert úgy emlékszem, hibaüzenetet kaptam, amikor el akartam indítani, mert már futott.

Hozzászólás megjelenítési lehetőségek

A választott hozzászólás megjelenítési mód a „Beállítás” gombbal rögzíthető.

És most akkor windows 10-en a hálózatra kattintva bejön a megosztás?
Vagy mi lett a végeredmény?

Igen. Tehát Windows 10-en alapbeállításokkal látszik az Intézőben a linuxos gép azon neve, amely az smb.conf-ban netbios name kulcsszó alatt meg lett adva. Rákattintva pedig elérhető a megosztás. Jó, kér felhasználónevet, jelszót, de ez így természetes, ez már a samba szerver security része, tudtommal a Windows is ugyanúgy viselkedik. Illetve ez már konfigurálható.

A lényeg, hogy ezen daemon nélkül be kellett csépelni Windows-on, hogy \\linuxosgépneve\, aztán használható volt, most viszont a linuxos gép „hirdeti” magát a hálózaton, simán rá lehet kattintani kényelmesen, s ehhez nem kell protokoll fallback sem.

Én sem gondoltam volna, de ezt a Samba 4 még nem tudja.

https://wiki.samba.org/index.php/FAQ#Why_does_Windows_Network_Neighborhood_not_show_Samba_server.28s.29.3F

Why does Windows Network Neighborhood not show Samba server(s)?

If you are using SMB2 or SMB3, network browsing uses WSD/LLMNR, which is not yet supported by Samba [1]. SMB1 is disabled by default on the latest Windows versions for security reasons. It is still possible to access the Samba resources directly via \\name or \\ip.address.

If SMB1 is enabled on Windows, check that NetBIOS over TCP/IP is also enabled, and that nmbd is started on the server.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

sub

+1

+1

Persze bocsánat a félrevezető címért. Mindent a linuxos gépen teszünk annak érdekében, hogy a windows-os gépeken látszódjék a linuxos gép, mint host, illetve samba share. Tehát nem a Windows 10-en tesszük láthatóvá, hanem a Linuxon érjük el, hogy a Windows 10-en látszódjon. Csak egy címben mindez nem fér el. :)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Azt mondod ezzel, hogy openes fejlesztők megoldották, amit a picipuha egyáltalán nem akart - (a win10-ek között sem,) - megoldani? Ahogyan ilyenkor általában lenni szokott, lehet ebből még folyamatos fejlesztői kontra...

Engem a windows-os file sharing millió féle névfeloldási lehetősége mindig annyira zavarba hozott, hogy belepirulok, ha rágondolok. :) Nem is értek hozzá. Azt tudom, hogy először próbálkoztam, mint vidéki buzi a gőzfürdőben, de nem jött össze samba konfigurálással. A share ment, de a host nem látszott a windows Intézőben. Elkezdtem utánaolvasni, akkor azt láttam, menne ez régi protokollal, de az nem biztonságos, meg az összes kliensen át kellene állítani. Ez nem járható út. Utána megtaláltam, amit fentebb idéztem, hogy nem is fog ez menni, mert a sambában ez nincs is implementálva. Ezt követően bukkantam erre a nyílt forrású projectre, amelyben ezt a WSD/LLMNR protokollt implementálták önálló daemon-ként. Ennek van egy python3-as változata, de szerencsére ott megtaláltam, hogy megvan ez írva C-ben is. Nosza, lefordítottam a C forrást, feltelepítettem, kinyitottam a tűzfalon, ami kell, s megjelent a Windows 10-es gépen a linuxos notebook-om, rá tudtam kattintani a host-ra az Intézőben, majd láttam a linuxos filemegosztásomat.

Gondoltam, ezt a katartikus élményt megosztom itt, hátha másnak is szüksége lesz rá. Ha már kijártam az útját. Bár nem kizárt, hogy rajtam kívül mindenki ismerte a megoldást. ;)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

miert nincs benne a sambaban? lustak, leszarjak, tiltakoznak ellene?

(tudom google, de egyszerubb kerdezni :D )

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

Gondolom, mert az MS a Linux egyik nagy támogatója... (És alapvetően felhőben gondolkodik, nem "csípi", ha hálózatokban lévő gépek lokálban egyszerűen megoszthatnak.)

Fogalmam sincs, de ettől még tény, hogy nincs benne. Amúgy ennek a szerkezetnek a unit file-jából hiányzott valami ilyesmi:

[Install]
WantedBy=multi-user.target

Erre akkor jöttem rá, amikor boot után nem indult el, aminek az volt az oka, hogy nem sikerült az engedélyezése. De most már jó. :)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ez super. Megkaphatnánk a javított fájlt?
--
üdv: virtualm

Igen, de türelmet kérek, mert nem ezen a gépemen van, hanem a munkahelyin. Mármint az ott tartott sajátomon. :)


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

Ha hosszabbtávon is működik, az tényleg katartikus LESZ! - Köszi.

bookmark.

Sub

"Nemtudom mi ez, de bármikor jól jöhet" Bukmark!

Apró infó, de természetesen a még meg sem jelent Fedora 30-on is működik, kipróbáltam. Illetve akár úgy is, hogy sleep-ből felébred a gép, akkor újra látszik.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE

sub

+ :)

Az lehet hogy a csomag által szállított .service (systemd) fájl nem működik Ubuntu 18.04-en?

Lehet. :) Erre gondolsz? Fedorán sem ment, mert hiányos volt az eredeti unit file.


tr '[:lower:]' '[:upper:]' <<<locsemege
LOCSEMEGE