Błędy montażu CIFS

31

Próbuję zamontować udział sieciowy z Linksys NAS200 na Fedorze 16.

Program, który próbuję uruchomić, nie akceptuje adresów sieciowych do zapisywania. Uruchomiłem go bez podawania adresu IP serwera i pojawia się losowy adres IP. Podałem adres IP i nie można znaleźć urządzenia.

Oto błędy:

[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass
mount.cifs kernel mount options: ip=184.106.31.190,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
[root@HOME ~]# mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,ip=192.168.1.77
ip address 192.168.1.77 override specified
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\public,,ver=1,user=user,pass=********
Retrying with upper case share name
mount.cifs kernel mount options: ip=192.168.1.77,unc=\\NAS_SERVER\PUBLIC,,ver=1,user=user,pass=********
mount error(6): No such device or address
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

Ale działa z smbclient:

[root@HOME ~]# smbclient -L 192.168.1.77
WARNING: The security=share option is deprecated
Enter user's password: 
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Sharename       Type      Comment
---------       ----      -------
IPC$            IPC       IPC Service (Network Storage)
DISK 1          Disk      
PUBLIC          Disk      
ADMIN$          IPC       IPC Service (Network Storage)
Domain=[HOME] OS=[Unix] Server=[Samba 3.0.22]

Server               Comment
---------            -------
HOME                 Samba Server Version 3.6.5-85.fc16
NAS_SERVER           Network Storage

Workgroup            Master
---------            -------
HOME                 HOME

Dlaczego nie mogę zamontować na tym serwerze samby? Co oznaczają te błędy?

Kendall
źródło

Odpowiedzi:

35

Rozwiązywanie problemów z dostępem do folderu współdzielonego Windows XP z Fedory:

Otrzymujesz błąd:

mount error(115): Operation now in progress
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)

1. Upewnij się, że Linux może pingować drugie urządzenie.

Uruchom to polecenie w polu Linux do adresu IP okna Windows:

el@defiant /mnt $ ping 192.168.13.107
PING 192.168.13.107 (192.168.13.107) 56(84) bytes of data.
64 bytes from 192.168.13.107: icmp_req=1 ttl=128 time=0.366 ms
--- 192.168.13.107 ping statistics ---
44 packets transmitted, 44 received, 0% packet loss, time 42999ms
rtt min/avg/max/mdev = 0.178/0.227/0.366/0.038 ms

Jeśli nie możesz dosięgnąć skrzynki lub łączność jest na wejściu i wyjściu, mount może narzekać.

2. Upewnij się, że folder jest rzeczywiście udostępniony w systemie Windows, wykonaj następujące kroki.

  1. Otwórz przeglądarkę plików do C:\.
  2. Utwórz nowy folder o nazwie public. Masz teraz C: \ public
  3. Wewnątrz tego folderu utwórz nowy dokument tekstowy o nazwie „testing.txt”.
  4. Kliknij folder prawym przyciskiem myszy C:\publici przejdź do właściwości.
  5. Kliknij kartę udostępniania.
  6. Upewnij się, że: „Udostępnij ten folder w sieci” jest zaznaczone. Zanotuj nazwę udziału: „public”.
  7. Kliknij OK. Pod folderem powinna pojawić się niewielka ręka, co oznacza, że ​​jest udostępniona.

Folder „public” jest teraz udostępniony i powinieneś być w stanie połączyć się z nim za pomocą Linuksa.

3. W systemie Linux zamontuj udział za pomocą polecenia „mount”:

  1. Otwórz konsolę i suzrootuj.
  2. utwórz katalog mkdir /mnt/windows To będzie miejsce, w którym uzyskasz dostęp do udostępnionych plików.

  3. uruchom komendę mount, która monituje o hasło:

    [root@defiant mnt]# mount -t cifs //192.168.13.107/eric /mnt/windows -o username=eric
    Password for eric@//192.168.13.107/public:  **********
    [root@defiant mnt]# 
    
  4. Powyższe polecenie monituje o hasło, wprowadź poprawne hasło, niepoprawne spowoduje błąd. Jeśli nie jesteś pewien hasła, możesz je zmienić w oknie systemu Windows w Panelu sterowania -> Konta użytkowników.

  5. uruchom polecenie cd /mnt/windows i uruchom ls. Zawartość dysku jest prezentowana:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  6. Połączyłeś się z dyskiem Windows.

4. Połącz się z udostępnionym dyskiem za pomocą przeglądarki plików konqueror lub linux:

  1. Otwórz przeglądarkę plików, w moim przypadku konqueror.
  2. Na pasku lokalizacji pliku wprowadź smb://192.168.13.107/publici naciśnij klawisz enter.
  3. Może zostać wyświetlona nazwa użytkownika i hasło do logowania. Wprowadź nazwę użytkownika i hasło do okna systemu Windows opisanego na górze tego postu.
  4. Gratulacje, jesteś połączony z folderem współdzielonym.

ROZWIĄZYWANIE PROBLEMÓW, jeśli powyższe nie działa.

Krok 1: Czy próbowałeś zrestartować oba komputery?

Uruchom ponownie oba komputery. Następnie upewnij się, że wszystkie aktualizacje systemu Windows zostały wykonane. Upewnij się, że Linux ma również zadbane aktualizacje oprogramowania. Uruchom ponownie po aktualizacji.

Krok 2: Przejrzyj zapory ogniowe, ZoneAlarms i inne oprogramowanie zabezpieczające

Oprogramowanie zaprojektowane w celu ochrony komputera przed wirusami, złośliwym oprogramowaniem lub złem w Internecie może blokować próbę udostępniania plików. Zapora systemu Windows może być w trybie paranoicznym. Chociaż jest mało prawdopodobne, że winna jest Zapora systemu Windows, wyłącz ją tymczasowo, aby sprawdzić, czy to nie problem. (nie zostawiaj tego).

Uzyskaj listę wszystkich programów zabezpieczających, które mogą być ustawione na tryb paranoiczny. Zapory systemu Windows, zapory innych firm, ZoneAlarms, antywirusy, Kaspersky, AVG lub cokolwiek innego, co zapewnia ochronę przed wirusami / złośliwym oprogramowaniem / złem. Będziesz musiał je przejrzeć i albo je tymczasowo wyłączyć, albo otworzyć za ich pośrednictwem białą listę dla swojego adresu IP.

Krok 3: Zdobądź wskazówki od oprogramowania zabezpieczającego.

ZoneAlarm prowadzi rejestr wszystkich zdarzeń i prób współużytkowania folderów, przejdź do Przegląd-> alerty i dzienniki. I zobacz listę wszystkich nieudanych prób. To samo jest możliwe w przypadku innego oprogramowania. W takim przypadku chroni cię przed tobą.

Krok 4: Podejrzewasz problemy w routerze lub w samej sieci lokalnej

Być może router, mosty bezprzewodowe, głupie koncentratory lub inne urządzenie sieciowe ma w sobie jakieś wytyczne, blokując próbę połączenia z folderem współdzielonym. Sam router lub urządzenie może blokować port lub mieć coś w trybie ograniczającym. Czy ktoś ostatnio się z tym wygłupiał? Spróbuj przywrócić routerowi do wartości domyślnych wszystko i spróbuj ponownie.

Krok 5: Upewnij się, że Twoja sieć lokalna jest prosta i poprawna.

Czy oba komputery łączą się z tym samym routerem? Być może jeden jest podłączony do gównianego bezprzewodowego mostu sieciowego, a drugi do routera? Uprość sieć, łącząc wszystkie komputery z jednym routerem. Uruchom ponownie routery i Internet, spróbuj ponownie.

Krok 6: Wciąż nie działa. Odizoluj wadliwą jednostkę.

Nadszedł czas, aby stada kotów i odizolować wadliwą jednostkę. Udowodnij, że okno systemu Windows nie udostępnia pliku, łącząc się z udziałem na innym komputerze. Pobierz laptopa z systemem Windows lub produkt Apple dla znajomych i podłącz go do sieci i sprawdź, czy mogą uzyskać dostęp do udziału. Jeśli nie mogą, okno systemu Windows ma problem, jeśli mogą, problem dotyczy systemu Linux.

Krok 7: Podejrzyj zaporę w systemie Linux

Zwróć uwagę na wszelkie specjalne alarmy bezpieczeństwa lub specjalne oprogramowanie zapory ogniowej w systemie Linux. Uruchom system-config-firewalli upewnij się, że smb jest zaznaczony. Sprawdź, czy Linux nie uniemożliwia montowania. Utwórz udział smb na innym komputerze z systemem Linux i spróbuj się z nim połączyć.

Jeśli nic z tego nie działa. Użyj opcji jądrowej, zainstaluj ponownie oba systemy operacyjne i zacznij od nowa na górze. To jest operacja rakietowa.

Eric Leschinski
źródło
1
Ten zrobił to dla mnie. Problem w moim przypadku był spowodowany ustawieniami zapory ogniowej, które zezwalały na ping, ale nie pozwalały na połączenia SMB na porcie TCP 445.
Paul Gear
Pamiętaj, że być może będziesz musiał użyć sudo ping 192.168.13.107nie tylkoping 192.168.13.107
Gabriel Staples
@GabrielStaples Dlaczego miałbyś do tego używać sudo?
bryn
Nie mam pojęcia, ale wiem, że nie napisałbym tego, dopóki najpierw nie wypróbowałem go bez sudo i nie zadziałało, a potem nie wypróbowałem z sudo i zadziałało. Jestem pewien, że wtedy pomyślałem, że to dziwne, że jeden działał, a drugi nie.
Gabriel Staples
7

Próbować:

mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm

Klucz to sec = ntlm

Hugo
źródło
Nie sprawiło mi to żadnej radości
Paul Gear
1
Co ma sec=ntlmzrobić?
Karl Richter,
Nie mam pojęcia, co to sec=ntlmdziała, ale jest to jedyne rozwiązanie na tej stronie, które działało dla mnie. Edytuj: oto odpowiedź na forach ubuntu, która wyjaśnia, dlaczego to działa: ubuntuforums.org/…
Jonathan Landrum
5

Dodając więcej możliwych rozwiązań tego problemu

Ten komunikat o błędzie nie jest zbyt opisowy, ale oznacza to, że upłynął limit czasu operacji. Istnieje wiele możliwych przyczyn tego stanu rzeczy i podczas badania tego problemu natknąłem się na niektóre rozwiązania, które nie zostały jeszcze wspomniane w tym wątku.

1.) Niejednoznaczna sieć

Nie jest często wymieniany w różnych rozwiązaniach tego problemu online, ale serwer, z którym się łączysz, musi znajdować się w tej samej podsieci co komputer lokalny. Ten problem powstał dla mnie, ponieważ miałem włączone zarówno połączenia przewodowe, jak i bezprzewodowe, a określenie, do której podsieci należy urządzenie, było niejednoznaczne, ponieważ dwa połączenia nie są tą samą siecią. Wyłączenie Wi-Fi natychmiast rozwiązało problem. Natknąłem się na to rozwiązanie, czytając Das Werkstatt :

[ROZWIĄZANIE]

W moim przypadku udział DFS znajdował się w magazynie w innej podsieci. Dodałem alias sieciowy (eth0: 1) z adresem IP w tej podsieci magazynu, a następnie zadziałało.

Spodziewałbym się czegoś takiego jak „brak trasy do hosta” zamiast tajemniczego błędu (115): Operacja w toku ”...

Cóż, nie mogę mieć wszystkiego;)

Źródło: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074

2.) Nowe linie na końcu pliku referencji

Pliki poświadczeń są przydatne, jeśli ,w haśle masz znaki specjalne, takie jak przecinek . Można się do niego odwoływać w opcjach takich jak:

mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo

Plik jest sformatowany za pomocą shdeklaracji zmiennych -style:

username=me
password=mypassword
domain=mydomain

Jeśli używasz pliku poświadczeń, upewnij się, że na końcu nie ma znaków nowej linii, ponieważ upłynie limit czasu podczas próby przetworzenia pliku poświadczeń:

...
domain=mydomain
<empty line>

3.) Próba zamontowania określonego katalogu zamiast rzeczywistego punktu udostępniania

Jeśli konkretny katalog, którego potrzebujesz, to podkatalog udziału, nie będziesz mógł bezpośrednio zamontować tego folderu. Próba zrobienia tego powoduje kilka różnych błędów, z których jeden jest jednym z nich.

Zamiast tego zamontuj sam punkt udostępniania, a następnie dodaj dowiązanie symboliczne do potrzebnego podkatalogu:

~> mkdir /mnt/local
~> sudo mount -t cifs //remote /mnt/local
~> ln -s /mnt/local/path/to/my-folder /mnt/my-folder

W ten sposób uzyskuje się ten sam rezultat, co montowanie samego podkatalogu bez konieczności szczegółowego przeglądania go za każdym razem.

Jonathan Landrum
źródło
4

Nie jestem pewien, jak istotne jest to w twoim przypadku, ale miałem podobny problem z montażem udziału CIFS na moim telefonie z Androidem:

# mount -t cifs //192.168.0.2/media/ /mnt/cifs/media -o username=user,password=pass
mount: mounting //192.168.0.2/media/ on /mnt/cifs/media failed: No such device or address
#

Próbowałem usunąć końcowy ukośnik i najwyraźniej zrobiło to różnicę - zamontowałem:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#
Lodowy smok
źródło
1
Tak, udziały nie są dokładnie katalogami, nawet jeśli środowiska komputerowe lubią je udawać.
Eroen
3

Problem w mojej sytuacji polegał na tym, że miałem spacje w pliku referencji / etc / smb-credentials

username = foobar
password = secret

Po zmianie na:

username=foobar
password=secret

Zadziałało.

przerzucić
źródło
2

Często muszę zacytować -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt i to się zamontuje, a większość przykładów, które sprawdziłem, nie pokazuje tego bitu (jeśli jest to potrzebne w tych systemach).
Właśnie miałem ten problem na moim tablecie (dlaczego mam tutaj nazwę UNC, a nie IP), cytaty naprawiły go od razu.

mxdog
źródło
1

Dodatkowe możliwe rozwiązanie

Jeśli folder udostępniania pochodzi z systemu Windows 10 (prawdopodobnie dotyczy to także wersji 7 i XP), sprawdź, czy ustawienia udostępniania folderu Windows są poprawnie skonfigurowane dla typu sieci, do której jesteś podłączony, tjPublicPrivate . Lub .

Przekażę swoje doświadczenie i odpowiednio dostosuję się do twojej sytuacji. Otwórz listę sieci Wi-Fi i dla tej, z którą jesteś połączony, kliknij Properties. Ustaw na Publiclub Privateodpowiednio. (W moim przypadku Privatesieć została nieprawidłowo oznaczona Public).

Po prawidłowym sklasyfikowaniu sieci kliknij prawym przyciskiem myszy folder współdzielony, wybierz Properties, wybierz Sharingkartę, wybierz Network and Sharing Centerlink i upewnij się, że Turn on file and printer sharingjest wybrany Publiclub Privatezależny od typu połączenia Wi-Fi, jak poprzednio klasyfikowano.

Po wykonaniu tej czynności mogłem podłączyć maszynę Debian do systemu Windows 10 zgodnie z oczekiwaniami.

Adam Smith
źródło
0

Innym problemem może być DNS. Otrzymałem ten sam błąd „Operacja w toku”. Jednak przeglądanie w Dolphin działało dobrze. Nazwa hosta, której używałem z powodzeniem w Dolphin, jest tłumaczona na 4 adresy IP, z których jeden kończy się na 0 (to nazwa subdomeny). Kiedy używam nazwy jednego z pozostałych 3 adresów IP, mount działa. Wydaje mi się, że Dolphin jest mądrzejszy w wyszukiwaniu rzeczywistego hosta, gdy otrzymuje nazwę (pod) domeny niż mount.

Chris
źródło
Nie wiem, dlaczego moja odpowiedź została odrzucona. Uwzględniłem to, ponieważ otrzymywałem to samo zachowanie co OP, ale z inną pierwotną przyczyną. Wiem, że problem PO został rozwiązany, ale myślę, że innym osobom, które natrafią na takie zachowanie, może być pomocna wiedzieć, że istnieje inna możliwa przyczyna.
Chris
0

Widziałem dzisiaj przypadek, w którym ktoś próbował zamontować udział za pomocą CIFS, ale CIFS nie został zainstalowany.

yum install cifs-utils
Adwokat diabła
źródło