| Siec TCP/IP || Otoczenie Sieciowe || Poczta || Usnet || FTP || Konto Shellowe || Czat || IRC || Serwer PROXY |

Otoczenie sieciowe - Sieć SMB

utworzono: 24/06/2002 :: modyfikacja: 27/02/2007
autor: Marcin Moczkowski :: glappo (at) banita (dot) pl

Przeglądanie otoczenia sieciowego - Samba/Unix

W systemach typu Unix nie ma zintegrowanej obsługi przeglądania otoczenia sieciowego i dlatego do tych celów musisz użyć odpowiednich programów. Nie świadczy to bynajmniej o gorszej obsłudze sieci SMB ale o innej filozofii podejścia do problemu, dzięki której masz m.in. spory wybór programów do tego zadania. Programy te można podzielić na dwie grupy, do pierwszej zaliczymy korzystające z pakietu Samba i będące nakładkami oraz w pełni samodzielne programy bazujące na bibliotekach takich jak GnomeVFS, KIOSlave, FUSE, pozwalających w sposób przezroczysty operować na systemach plików w tym SMB, coraz częściej zintegrowane z menadżerami plików X-Windows. Tutaj masz przedstawione dwa czołowe rozwiązania dla dwóch najpopularniejszych środowisk graficznych czyli Gnome i KDE. Przegląd różnych programów znajdziesz na stronie Programy do przeglądania sieci SMB - Samba-Unix.

Nautilus - Gnome

Nautilus jest standardowym menadżerem plików dla środowiska graficznego Gnome. Żeby zacząć przeglądanie wystarczy włączyć program z odpowiednim parametrem (nautilus : smb:///) lub po prostu w pasku adresu programu wpisać smb:///. Nautilusa praktycznie nie trzeba konfigurować w tym celu. Kolejna zaleta jest to że nie montuje zdalnych zasobów SMB, gdyż Nautilius używa  VFS.

GnomeVFS jest wirtualnym systemem plików, a właściwie biblioteka pozwalającą w sposób przezroczysty uzyskać dostęp do różnych systemów plików poprzez zunifikowany interfejs. Obecnie istnieją moduły obsługujące choćby WebDAV, ftp, smb, local filesystem, gzip, bzip2, cdda i inne. Inne rozwiązania tego typu to KIOSlave oraz Fuse.

Strona domowa środowiska graficznego Gnome - http://gnome.org/.

Lisa - Konqueror - KDE

W KDE czyli popularnym środowisku X-Windows w użyciu jest wszechstronna przeglądarka "wszystkiego" czyli Konqueror, w którego skład wchodzi Lisa. Lisa jest programem do przeglądania wszelkich zasobów sieci w tym też otoczenia sieciowego czyli udostępnień SMB. Jako że jest to prawdziwy kombajn wykrywa i obsługuje też zasoby FTP, HTTP NFS oraz w niektórych wersjach dodatkowo VNC i MySQL. Poruszanie się po sieci poprzez te monstrum wygląda jak na poniższym obrazku, program sam wykrywa jakie zasoby udostępnia zdalny komputer. Oczywiście należy pamiętać o włączeniu programu Lisa, najlepiej przy starcie systemu. Można też w pasku adresu Konqueror wpisać nazwę komputera do którego chcemy się dostać czyli:
smb://komputer/katalog/ i następnie wcisnąć ENTER.

Kiedy trafisz na jakiś "zahasłowany" zasób Konqueror poprosi ciebie o wpisanie hasła, czyli możesz za każdym razem używać różnych użytkowników.

Konfiguracja programu Lisa może być przeprowadzona w pliku tekstowym lub "okienkowo" czyli poprzez "Centrum sterowania" środowiska KDE. Na początek warto zajrzeć do sekcji "Sieć", gdzie w "Udostępnione zasoby Windows" można trochę powypełniać. Jako "Grupa robocza" wpisz "wariaci", a "Domyślna nazwa użytkownika" to np. "guest" czyli "Gość".

Następnie przejdź do opcji "Przeglądanie sieci lokalnej", gdzie konfiguruje się demona Lisa i ResLisa. generalnie należy wpisać w polach skanowanych i ufnych adresów dane "192.168.1.0/255.255.255.0". Można też wybrać w zakładce "lan:/ and rlan:/ configuration" usługi jakie mają być wykrywane w sieci LAN. Przykładowe konfiguracje przy użyciu plików tekstowym dla programu Lisa można znaleźć na stronie domowej projektu lisa-home.sourceforge.net.

Samba/Unix

Mimo że Lisa - Konqueror praktycznie nie korzysta z opcji zdefiniowanym dla Samby, to jednak warto poznać jakie opcje odpowiadają w niej za przeglądanie Otoczenia Sieciowego. Pamiętaj że większość programów jest nakładkami na standardowe narzędzia z pakietu Samba i używa głównie programy "smbclient". Warto też żebyś wiedział jak skonfigurować Sambę gdy  udostępniasz pliki  na własnym komputerze żeby nie przeszkadzała innym w przeglądaniu otoczenia. 

Nazwa komputera, grupa robocza i komentarz

Żeby twoja Samba zaistniał w otoczeniu sieciowym musi m.in. posiadać swoją nazwę, przypisanie do grupy roboczej oraz ewentualny komentarz, który nie jest wymagany. Standardowo nazwa komputera w otoczeniu sieciowym jeśli nie została zdefiniowana jest taka sama jak nazwa host twego systemu Unix. Cała konfiguracja odbywa się w pliku konfiguracyjnym Samby smb.conf w sekcji [global] przy pomocy parametrów:

[global]
netbios name = nazwa_komputera
workgroup = grupa_robocza
server string = komentarz

  • Nazwa komputera (netbios name) - Musi być unikalna w sieci składać się może z liter, cyfr i symboli ~ ! @ # $ % ^ & * ( ) ' - . ale nie może zawierać samych kropek oraz może mieć maksymalnie długość 15 znaków dla zgodności ze starszymi systemami typu Windows 95/98/Me lub dłuższa jeśli tej zgodności nie masz na względzie.

  • Grupa robocza (workgroup) - Nazwa grupy roboczej to "Wariaci", jeśli chciałbyś wybrać inną nie może mieć ona więcej niż 15 znaków.

  • Opis komputera (server string) -  Nieobowiązkowy wpis, a właściwie komentarz, który nie może mieć więcej niż 48 znaków.

Opcja globalna "netbios aliases"

To jest lista nazw NetBIOS którą nmbd ogłosi jako dodatkowe nazwy pod którymi serwer Samba jest znany. To pozwala jednej maszynie ukazywać się w listach przeglądania (browse lists) pod wieloma nazwami. Jeśli maszyna funkcjonuje jako serwer przeglądania (browse server) lub serwer logowania (logon server), żadna z tych nazw nie będzie ogłoszona ani jako serwer przeglądania, ani jako serwer logowania. Tylko główna nazwa maszyny będzie dysponowała takimi możliwościami.

Domyślnie: pusty łańcuch (żadnych dodatkowych nazw)

Przykład: netbios aliases = TEST TEST1 TEST2

Ukrycie własnego komputera w otoczeniu sieciowym

Jeśli nie chcesz być widoczny poprzez otoczenie sieciowe masz do wyboru w Samba/Unix trzy metody:

  1.  Nieuruchamiać demonów Samby, wadą tego rozwiązania jest to że nie będziesz mógł nic udostępniać ale będziesz mógł dalej przeglądać cudze zasoby.
  2. Nieuruchamiać demona nmbd Samby, który jest odpowiedzialny za przeglądanie. Możesz w skryptach startowych Samby zahaszować (czyli wstawić na początki linii znak #) opcje "nmbd -D". Zaletą tego rozwiązania jest to że dalej masz możliwość udostępniania plików i drukarek.
  3. Możesz użyć opcji globalnej "browse list = no" pliku konfiguracyjnego Samby czyli smb.conf. Opcja ta zapobiega przekazywaniu list przeglądania co w skrajnym wypadku może spowodować że niknie całkowicie otoczenie sieciowe na wszystkich komputerach w sieci. Taka sytuacja zdarzy się gdy opcje "browse list = no" ustawimy na komputerze pełniącym rolę głównej, lokalnej lub domenowej przeglądarki sieciowej czyli np. na Sambie pełniącej rolę PDC. Jak widać zabawa z tą opcja nie jest zalecana

Wyłączenie bycia Główną Przeglądarka (Master Browser)

W każdej grupie roboczej może być tylko jedna Główna Przeglądarka (Master Browser) trzymająca aktualna listę włączonych komputerów. W naszej sieci w grupie Wariaci Główną Przeglądarka jest serwer Archiwum i czasem może się zdarzyć że twój komputer nie będzie chciał tego zaakceptować, dlatego najlepiej zablokować mu taką możliwość. Robimy to wpisując go pliku konfiguracyjnego Samby smb.conf w sekcji [global] takie parametry:

[global]
domain master = no
local master = no
preferred master = no
os level = 0

na górę

Opcja globalna "name resolve order"

Ta opcja jest używana przez programy w pakiecie Samba, do określania jakich używać usług nazewnictwa i w jakiej kolejności do odwzorowania nazw hostów na adresy IP. Ta opcja przyjmuje oddzielone spacjami łańcuchy tekstowe opcji odwzorowań nazw.

Opcjami są: "lmhosts", "host", "wins" i "bcast". Powodują, że nazwy są odwzorowywane następująco:

  • lmhosts : Szukaj adresu IP w pliku Samba lmhosts. Jeśli linia w lmhosts nie ma typu nazwy dołączonego do nazwy NetBIOS, wtedy pasuje każdy szukany typ.

  • host : Wykonaj standardowe odwzorowanie nazwy hosta na adres IP, przy użyciu przeszukiwania systemowego pliku/etc/hosts, szukania NIS lub DNS. Ta metoda odwzorowania nazwy jest zależna od systemu operacyjnego. Przykładowo, w systemie IRIX lub Solaris może to być kontrolowane przez plik /etc/nsswitch.conf. Zauważ, że ta metoda jest używana tylko, jeśli typ nazwy NetBIOS o którą jest pytanie, jest typem 0x20 (serwer). W przeciwnym wypadku metoda ta jest ignorowana.

  • wins : Zapytaj o nazwę pod adresem IP wymienionym w parametrze wins server. Jeśli żaden serwer WINS nie został tam określony, ta metoda zostanie zignorowana.

  • bcast : Wykonaj rozgłaszanie na każdym ze znanych lokalnych interfejsów wymienionych w parametrze interfaces Jest to najmniej skuteczna spośród wszystkich metoda odwzorowania nazw, jako że zależy od tego, czy docelowy host jest w lokalnie podłączonej podsieci.

Domyślnie: name resolve order = lmhosts wins host bcast

Przykład: name resolve order = lmhosts bcast host

To spowoduje, że lokalny plik lmhosts będzie sprawdzony najpierw, potem nastąpi próba rozgłaszania, a potem normalne systemowe szukanie nazwy hosta.

na górę

Serwer WINS

Jeśli problemy z przeglądaniem otoczenia sieciowego (nie działa w ogóle lub działa za wolno) skonfiguruj sobie serwer WINS odpowiedzialny za z przeglądanie sieci SMB. Serwer WINS odpowiada za gromadzenie informacji o komputerach w sieci i usługach jakie one oferują. Owe informacje są gromadzone dzięki komputerom które korzystają z WINS, a następnie WINS udostępnia te informacje a w szczególności listę komputerów dostępnych w sieci. Taki zcentralizowany układ przyspiesza przeglądanie otoczenia sieciowego oraz redukuje ruch w sieci związany z przeglądaniem sieci. Z tych powodów zalecane jest ustawienie serwera WINS zawsze jak tylko jest to możliwe czyli jeśli taki serwer istnieje w sieci. Wystarczy że w pliku konfiguracyjnym Samby wpiszesz w sekcji [global] taką linie:

[global]
wins server = 192.168.1.1

Adres IP 192.168.1.1 to oczywiście nasz serwer WINS zwany Archiwum. Możesz ustawić więcej serwerów WINS podając kolejno ich adresy IP. Zauważ że nie opisano tutaj włączenia serwera WINS ale tylko ustawienia żeby twoja samba korzystała z już istniejącego w sieci serwera WINS.

na górę  

Plik LMHOSTS

Kolejną metoda na rozwiązanie problemów z przeglądaniem sieci jest utworzenie pliku /etc/lmhosts. Cytując dokumentacje Samby "lmhosts jest plikiem mapującym nazwy Samba NetBIOS na adresy IP. Jego format jest bardzo podobny do formatu pliku /etc/hosts z tym wyjątkiem, że cześć dotycząca nazwy hosta musi odpowiadać formatowi nazewnictwa NetBIOS". Plik ten może wyglądać tak:

192.168.1.1 ARCHIWUM
192.168.1.20 GLAPPO

Pierwsza linia znaczy że komputer ARCHIWUM posiada adres IP 192.168.1.1 i tak wpisy można mnożyć. Normalnie tego pliku nie ma, wiec w razie potrzeby należy go sobie utworzyć.

Dokładny opis pliku lmhosts uzyskasz w man lmhosts oraz na tej stronie http://samba.org/samba/docs/man/lmhosts.5.html.

na górę

smbclient

Program smbclient jest klientem sieci SMB/CIFS posiadającym interfejs w stylu klientów ftp. Ów program jest jednym  z podstawowych narzędzi pakietu Samba, na którym zresztą bazuje wiele klientów graficznych. W przypadku przeglądania smbclient jest używany w dwu trybach. Pierwszy tryb to wylistowanie dostępnych zasobów na danym komputerze w sieci, robimy to jak poniżej przy użyciu opcji -L:

smbclient -N -L ARCHIWUM - Listuje udostępnienia na komputerze ARCHIWUM, dodana opcja -N, żeby nie było monitu o hasło. Wynik działania komendy pokazano poniżej:
Anonymous login successful
Domain=[WARIACI] OS=[Unix] Server=[Samba 3.0.14a]

Sharename Type Comment
--------- ---- -------
Upload Disk Strefa Zrzutu
Programy Disk Strefa Softu
Filmy Disk Strefa Kina
Kosz Disk Strefa Smieci
pdf Printer
print$ Disk
IPC$ IPC IPC Service (ARCHIWUM)
ADMIN$ IPC IPC Service (ARCHIWUM)
Anonymous login successful
Domain=[WARIACI] OS=[Unix] Server=[Samba 3.0.14a]

Server Comment
--------- -------
ABIT
AGA
ARCHIWUM ARCHIWUM
AVEREK
GLAPPO
HRABIA
JARDO
JAREK jarek
KASKAB
LOTOS
MAFIA Mafia
ZBAWCA

Workgroup Master
--------- -------
MSHOME GAGN
WARIACI ARCHIWUM

Jeśli komputer którego zasoby listujemy jest główną przeglądarką uzyskamy tez listę komputerów dla których taką rolę on spełnia w Server Comment. W Workgroup Master jest lista dostępnych grup roboczych wraz z ich głównymi przeglądarkami. No i oczywiście w Sharename Type Comment lista udostępnień na interesującym nas serwerze.

Jeśli w pliku /etc/reslov.conf mamy zdefiniowaną opcję "domain" to domena tam podana jest "doklejana" do nazwy przez co polecenie będzie próbowało wywołać w nieodpowiednim stylu:

smbclient -N -L archiwum.nazwa_domeny.net

i w efekcie odpytanie resolvera DNS co w wielu wypadkach nie zadziała.

Można to ominąć na dwa sposoby:

smbclient -N -I 192.168.1.1 -L archiwum.nazwa_domeny.net

lub

smbclient -N -R bcast -L archiwum.nazwa_domeny.net

Drugi tryb to używanie smbclient do przeglądania zasobów komputera wraz z wykonywaniem operacji na tych zasobach w stylu klientów ftp.

smbclient -N //GLAPPO/PABLIK - Podłączenie się do udostępnionego zasobu Pablik na komputerze GLAPPO, dodana opcja -N, żeby nie było monitu o hasło. Wynik działania komendy pokazano poniżej:
Domain=[GLAPPO] OS=[Windows 5.1] Server=[Windows 2000 LAN Manager]
smb: \> help
? altname archive blocksize cancel
case_sensitive cd chmod chown del
dir du exit get getfacl
hardlink help history lcd link
lowercase ls mask md mget
mkdir more mput newer open
print printmode prompt put pwd
q queue quit rd recurse
reget rename reput rm rmdir
setmode stat symlink tar tarmode
translate vuid logon listconnect showconnect
!

Po podłączeniu się do zdalnego komputera uzyskujemy dostęp do komend pozwalających nam wykonywać operacje na udostępnionym zasobie. Możemy np. kopiować, czytać, zapisywać pliki. Dostępne komendy zostały wyświetlone poprzez help.

Wszystkie opcje komendy smbclient są opisane w man smbclient oraz na tej stronie http://samba.org/samba/docs/man/smbclient.1.html.

findsmb

Standardowo w otoczeniu ujrzysz komputery które maja zainstalowane "Udostępnianie plików i drukarek w sieciach Microsoft Networks" (systemy Windows) lub uruchomiony demon Samba (systemy Unix). Ale jeśli chcesz dostrzec wszystkie komputery w sieci LAN używające protokołu SMB wystarczy użyć narzędzia napisanego w Perlu z pakietu Samba o nazwie findsmb. Program findsmb uruchamiamy z linii poleceń, daje on nam wyrzut w tym stylu (pokazuje nam m.in. Master Browser i Kontrolera Domen NT):

                                    *=DMB
                                   +=LMB
IP ADDR NETBIOS NAME WORKGROUP/OS/VERSION 
---------------------------------------------------------------------
192.168.1.1 ARCHIWUM *[WARIACI] [Unix] [Samba 2.2.6]
192.168.1.7 SILENT [ WARIACI ]
192.168.1.9 KOV [ WARIACI ]
192.168.1.10 WISNIA [WARIACI] [Windows 5.1] [Windows 2000 LAN Manager]
192.168.1.12 KOMAT [ WARIACI ]
192.168.1.13 GDZINA +[ WORKGROUP ]
192.168.1.15 JAREK [WARIACI] [Windows 5.0] [Windows 2000 LAN Manager]
192.168.1.16 NAPI [ WARIACI ]
192.168.1.19 HAGGY [ WARIACI ]
192.168.1.20 GLAPPO [ WARIACI ]
192.168.1.22 GS500E [ WARIACI ]
192.168.1.23 GOBO [ WARIACI ]

Opcje komendy findsmb są opisane w man findsmb oraz na tej stronie http://samba.org/samba/docs/man/findsmb.1.html.

smbtree

Komenda smbtree wyświetla drzewo udostępnień w twojej sieci. Jest to jakby połączenie findsmb z smbclient -L. przykład wyniku pokazano poniżej.

WARIACI
       \\ZBAWCA
               \\ZBAWCA\C$ Domyślny udział
               \\ZBAWCA\ADMIN$ Administracja zdalna
                \\ZBAWCA\D$
Domyślny udział
                \\ZBAWCA\IPC$ Zdalne wywołanie IPC
        \\YARO
        \\TOFI ToFi
                \\TOFI\C$
Domyślny udział
                \\TOFI\ADMIN$ Administracja zdalna
                \\TOFI\SharedDocs
                \\TOFI\print$ Sterowniki drukarek
                 \\TOFI\D$
Domyślny
udział
                 \\TOFI\IPC$ Zdalne wywołanie IPC
                 \\TOFI\Drukarka Microsoft Office Document Image Writer
                 \\TINKA

Opcje komendy smbtree są opisane w man smbtree oraz na tej stronie http://samba.org/samba/docs/man/smbtree.1.html.

smbget

Komenda smbget jest prostym narzędziem w stylu wget czyli służy do pobierania plików z udziałów smb. Wpierw było to samodzielne narzędzie nie związane z projektem Samba ale od 2004 roku i wersji Samby 3.0.2 smbget jest wraz z nią rozpowszechniany.

Strona domowa narzędzia smbget - http://jelmer.vernstok.nl/oss/smbget/

na górę

Drukuj Dokument