Fehler beim Laden von CIFS-Freigaben

28

Ich versuche, eine Netzwerkfreigabe von einem Linksys NAS200 auf Fedora 16 zu mounten.

Das Programm, das ich ausführen möchte, akzeptiert keine Netzwerkadressen zum Speichern. Ich habe es ausgeführt, ohne die IP-Adresse des Servers anzugeben, und es wurde eine zufällige IP gefunden. Ich habe eine IP angegeben und das Gerät wird nicht gefunden.

Hier sind die Fehler:

[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)

Aber es funktioniert mit 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

Warum kann ich nicht auf diesen Samba-Server mounten? Was bedeuten diese Fehler?

Kendall
quelle

Antworten:

33

Problembehandlung beim Zugriff auf einen freigegebenen Windows XP-Ordner über Fedora:

Sie erhalten den Fehler:

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

1. Stellen Sie sicher, dass Linux die andere Box anpingen kann.

Führen Sie diesen Befehl auf der Linux-Box auf die IP der Windows-Box:

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

Wenn Sie die Box nicht erreichen können oder die Konnektivität ein- und ausgeschaltet ist, kann sich mount beschweren.

2. Stellen Sie sicher, dass ein Ordner unter Windows tatsächlich freigegeben ist, und führen Sie die folgenden Schritte aus.

  1. Öffnen Sie den Dateibrowser um C:\.
  2. Erstellen Sie einen neuen Ordner mit dem Namen public. Sie haben jetzt also C: \ public
  3. Erstellen Sie in diesem Ordner ein neues Textdokument mit dem Namen "testing.txt".
  4. Klicken Sie mit der rechten Maustaste auf den Ordner C:\public und zu Eigenschaften gehen.
  5. Klicken Sie auf die Registerkarte Freigabe.
  6. Stellen Sie sicher, dass "Diesen Ordner im Netzwerk freigeben" aktiviert ist. Notieren Sie den Freigabenamen: 'public'.
  7. OK klicken. Unter dem Ordner sollte eine kleine Hand erscheinen, was bedeutet, dass er freigegeben ist.

Der Ordner 'public' ist nun freigegeben und Sie sollten in der Lage sein, eine Verbindung mit Linux herzustellen.

3. Hängen Sie unter Linux die Freigabe mit 'mount' ein:

  1. Öffnen Sie eine Konsole und su Wurzeln.
  2. erstelle ein Verzeichnis mkdir /mnt/windows Hier greifen Sie auf die freigegebenen Dateien zu.

  3. Führen Sie den Befehl mount aus, der Sie zur Eingabe eines Kennworts auffordert:

    [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. Der obige Befehl fordert Sie zur Eingabe eines Passworts auf. Geben Sie das richtige Passwort ein. Ein falsches Passwort führt zu einem Fehler. Wenn Sie sich nicht sicher sind, können Sie das Kennwort in der Windows-Box in der Systemsteuerung ändern - & gt; Benutzerkonten.

  5. Führen Sie den Befehl aus cd /mnt/windows und Renn ls. Der Inhalt des Laufwerks wird angezeigt:

    [root@defiant windows]# ls
    testing.txt
    [root@defiant windows]#
    
  6. Sie haben eine Verbindung zum Windows-Laufwerk hergestellt.

4. Stellen Sie mit dem Konqueror- oder Linux-Dateibrowser eine Verbindung zum freigegebenen Laufwerk her:

  1. Öffne deinen Dateibrowser, in meinem Fall konqueror.
  2. Geben Sie in der Dateipfadleiste Folgendes ein smb://192.168.13.107/public und drücken Sie die Eingabetaste.
  3. Möglicherweise wird Ihnen ein Anmeldefeld für Benutzername und Passwort angezeigt. Geben Sie den Benutzernamen und das Passwort des Windows-Fensters ein, das oben in diesem Beitrag beschrieben wird.
  4. Herzlichen Glückwunsch, Sie sind mit dem freigegebenen Ordner verbunden.

FEHLERBEHEBUNG, wenn das oben genannte nicht funktioniert.

Schritt 1: Haben Sie versucht, beide Computer neu zu starten

Starten Sie beide Computer neu. Stellen Sie danach sicher, dass alle Windows-Updates abgeschlossen sind. Stellen Sie sicher, dass Linux auch über die Software-Updates verfügt. Nach Updates neu starten.

Schritt 2: Überprüfen Sie Ihre Firewalls, ZoneAlarms und andere Sicherheitssoftware

Möglicherweise blockiert eine Software, die Ihren Computer vor Viren, Malware oder anderen schädlichen Inhalten im Internet schützen soll, den Versuch, Dateien gemeinsam zu nutzen. Die Windows-Firewall befindet sich möglicherweise in einem paranoiden Modus. Obwohl es unwahrscheinlich ist, dass die Windows-Firewall die Schuld trägt, sollten Sie sie vorübergehend deaktivieren, um sicherzustellen, dass dies nicht das Problem ist. (lass es nicht aus).

Fordern Sie eine Liste aller Sicherheitssoftware an, die möglicherweise auf den paranoiden Modus eingestellt ist. Windows-Firewalls, Firewalls von Drittanbietern, ZoneAlarms, Antivirenprogramme, Kaspersky, AVG oder alles andere, das Sie vor Viren / Malware / Bösen schützen soll. Sie müssen diese überprüfen und entweder vorübergehend deaktivieren oder eine Whitelist für Ihre IP-Adresse öffnen.

Schritt 3: Erhalten Sie Hinweise von der Sicherheitssoftware.

ZoneAlarm führt ein Protokoll aller Ordnerfreigabeereignisse und -versuche. Wechseln Sie zu Übersicht - & gt; Warnungen und Protokolle. Zeigen Sie eine Liste aller fehlgeschlagenen Versuche an. Dies ist auch für andere Software möglich. In diesem Fall schützt es Sie vor Ihnen.

Schritt 4: Verdacht auf Probleme im Router oder im lokalen Netzwerk

Möglicherweise enthält der Router, die drahtlosen Bridges, die dummen Hubs oder ein anderes Netzwerkgerät eine gewisse Unverschämtheit, indem der Verbindungsversuch mit Ihrem freigegebenen Ordner blockiert wird. Möglicherweise blockiert der Router oder das Gerät selbst einen Port oder befindet sich im eingeschränkten Modus. Hat jemand in letzter Zeit damit rumgespielt? Setzen Sie den Router auf die Standardeinstellungen zurück und versuchen Sie es erneut.

Schritt 5: Stellen Sie sicher, dass Ihr lokales Netzwerk einfach und korrekt ist.

Stellen beide Computer eine Verbindung zum selben Router her? Vielleicht ist einer mit einer beschissenen Netgear-WLAN-Brücke und der andere mit einem Router verbunden? Vereinfachen Sie das Netzwerk, indem Sie alle Computer mit einem Router verbinden. Starten Sie den Router und das Internet neu und versuchen Sie es erneut.

Schritt 6: Funktioniert immer noch nicht. Isolieren Sie das defekte Gerät.

Es ist Zeit, Katzen zu hüten und die defekte Einheit zu isolieren. Beweisen Sie, dass die Windows-Box Ihre Datei nicht freigibt, indem Sie eine Verbindung mit der Freigabe auf einem anderen Computer herstellen. Holen Sie sich einen Windows-Laptop oder ein Apple-Produkt von Freunden und verbinden Sie es mit Ihrem Netzwerk, um zu sehen, ob sie auf die Freigabe zugreifen können. Wenn nicht, hat die Windows-Box ein Problem. Wenn nicht, hat die Linux-Box das Problem.

Schritt 7: Verdacht auf Firewall unter Linux

Beachten Sie spezielle Sicherheitsalarme oder spezielle Firewall-Software unter Linux. Lauf system-config-firewall und stelle sicher, dass smb aktiviert ist. Stellen Sie sicher, dass Linux Ihren Mount nicht verhindert. Erstellen Sie eine smb-Freigabe auf einer anderen Linux-Box und versuchen Sie, eine Verbindung dazu herzustellen.

Wenn nichts davon funktioniert. Verwenden Sie die Option "Nuclear", installieren Sie beide Betriebssysteme neu und beginnen Sie von vorne. Dies ist eine Raketenoperation.

Eric Leschinski
quelle
1
Dieser hat es für mich getan. Das Problem in meinem Fall wurde durch Firewall-Einstellungen verursacht, die Ping zuließen, aber keine SMB-Verbindungen auf TCP-Port 445 zuließen.
Paul Gear
Beachten Sie, dass Sie möglicherweise verwenden müssen sudo ping 192.168.13.107 nicht nur ping 192.168.13.107
Gabriel Staples
@ GabrielStaples Warum würden Sie sudo dafür verwenden?
bryn
Ich habe keine Ahnung, aber ich weiß, dass ich das nicht geschrieben hätte, wenn ich es nicht zuerst ohne sudo ausprobiert hätte, und es hat nicht funktioniert, und dann mit sudo ausprobiert, und es hat funktioniert. Ich bin mir sicher, dass ich es damals auch seltsam fand, dass einer funktionierte und einer nicht.
Gabriel Staples
6

Versuchen:

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

Der Schlüssel ist sec = ntlm

Hugo
quelle
Das hat mir keine Freude gemacht
Paul Gear
1
Was macht sec=ntlm tun?
Karl Richter
Keine Ahnung was sec=ntlm funktioniert, aber dies ist die einzige Lösung auf dieser Seite, die für mich funktioniert hat. Bearbeiten: Hier ist eine Antwort in Ubuntu-Foren, die erklärt, warum dies funktioniert: ubuntuforums.org/…
Jonathan Landrum
4

Nicht sicher, wie relevant dies für Ihren Fall ist, aber ich hatte ein ähnliches Problem beim Laden einer CIFS-Freigabe auf meinem Android-Handy:

# 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
#

Ich habe versucht, den abschließenden Schrägstrich zu entfernen, und anscheinend hat es einen Unterschied gemacht - er ist gestiegen:

# mount -t cifs //192.168.0.2/media /mnt/cifs/media -o username=user,password=pass
#
IceDragon
quelle
1
Ja, Freigaben sind nicht unbedingt Verzeichnisse, auch wenn Desktop-Umgebungen dies gerne tun.
Eroen
4

Weitere mögliche Lösungen für dieses Problem hinzufügen

Diese Fehlermeldung ist nicht sehr aussagekräftig, hat aber eine Zeitüberschreitung. Es gibt zahlreiche mögliche Gründe dafür, und während ich dieses Problem untersuchte, stieß ich auf einige Lösungen, die in diesem Thread noch nicht erwähnt wurden.

1.) Mehrdeutiges Netzwerk

Es wird in den verschiedenen Online-Lösungen für dieses Problem nicht häufig erwähnt, aber der Server, zu dem Sie eine Verbindung herstellen, muss sich im selben Subnetz wie Ihr lokaler Computer befinden. Dieses Problem trat bei mir auf, weil sowohl die kabelgebundenen als auch die kabellosen Verbindungen aktiviert waren und es nicht eindeutig war, zu welchem ​​Subnetz das Gerät gehört, da die beiden Verbindungen nicht dasselbe Netzwerk sind. Durch Deaktivieren von Wifi wurde das Problem sofort behoben. Ich bin beim Lesen auf diese Lösung gestoßen Das Werkstatt :

[LÖSUNG]

In meinem Fall befand sich die DFS-Freigabe auf einem Speicher in einem anderen Subnetz. Ich habe einen Netzwerkalias (eth0: 1) mit einer IP in diesem Speichersubnetz hinzugefügt und dann hat es funktioniert.

Ich hätte so etwas wie "no route to host" anstelle des kryptischen "error (115): operation now in progress" erwartet ...

Naja, kann nicht alles haben;)

Quelle: http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074

2.) Zeilenumbrüche am Ende der Anmeldeinformationsdatei

Anmeldeinformationsdateien sind nützlich, wenn Sie Sonderzeichen wie das Komma verwenden , in deinem Passwort. In den folgenden Optionen kann darauf verwiesen werden:

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

Die Datei wird mit formatiert sh Variablendeklaration:

username=me
password=mypassword
domain=mydomain

Wenn Sie eine Datei mit Anmeldeinformationen verwenden, vergewissern Sie sich, dass am Ende keine Zeilenumbrüche vorhanden sind. Andernfalls tritt beim Analysieren der Datei mit Anmeldeinformationen eine Zeitüberschreitung auf:

...
domain=mydomain
<empty line>

3.) Es wird versucht, ein bestimmtes Verzeichnis anstelle des tatsächlichen Netzwerkvolumes bereitzustellen

Wenn das von Ihnen benötigte Verzeichnis ein Unterverzeichnis der Freigabe ist, können Sie diesen Ordner nicht direkt bereitstellen. Der Versuch, dies zu tun, führt zu einigen verschiedenen Fehlern, von denen einer ist.

Stellen Sie stattdessen den Netzwerkordner selbst bereit und fügen Sie dem gewünschten Unterverzeichnis einen symbolischen Link hinzu:

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

Auf diese Weise erhalten Sie dasselbe Ergebnis wie beim Mounten des Unterverzeichnisses selbst, ohne jedes Mal einen Drilldown durchführen zu müssen.

Jonathan Landrum
quelle
3

Das Problem in meiner Situation war, dass ich Leerzeichen in der Anmeldeinformationsdatei / etc / smb-credentials hatte

username = foobar
password = secret

Nachdem ich es geändert habe:

username=foobar
password=secret

Es funktionierte.

relipse
quelle
2

Ich muss das oft zitieren -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt Die meisten Beispiele, die ich nachgeschlagen habe, zeigen dieses Bit nicht (wenn es auf diesen Systemen benötigt wird).
Ich hatte dieses Problem gerade auf meinem Tablet (warum ich hier den UNC-Namen und nicht die IP-Adresse haben wollte).

mxdog
quelle
1

Zusätzliche mögliche Lösung

Wenn der Freigabeordner von Windows 10 stammt (gilt wahrscheinlich auch für 7 und XP), Vergewissern Sie sich, dass die Freigabeeinstellungen des Windows-Ordners für den Typ des Netzwerks, mit dem Sie verbunden sind, richtig konfiguriert sind, d. h. Public oder Private.

Ich gebe nur meine Erfahrungen weiter und passe mich Ihrer Situation an. Öffnen Sie die Liste der WLAN-Netzwerke, und klicken Sie für das Netzwerk, mit dem Sie verbunden sind, auf Properties. Einstellen Public oder Private wie angemessen. (In meinem Fall a Private Netzwerk wurde falsch beschriftet Public.)

Sobald das Netzwerk korrekt klassifiziert ist, klicken Sie mit der rechten Maustaste auf Ihren freigegebenen Ordner und wählen Sie Properties, wähle aus Sharing Registerkarte auswählen Network and Sharing Center verlinken, und stellen Sie sicher Turn on file and printer sharing ist ausgewählt für Public oder Private Abhängig von Ihrem zuvor eingestuften WLAN-Verbindungstyp.

Danach konnte ich wie erwartet einen Debian-Rechner mit Windows 10 verbinden.

Adam Smith
quelle
0

Ein weiteres Problem kann mit DNS sein. Ich habe den gleichen Fehler "Vorgang wird ausgeführt" erhalten. Das Surfen mit Dolphin funktionierte jedoch einwandfrei. Der Hostname, den ich erfolgreich mit Dolphin verwendet habe, wird in 4 IP-Adressen aufgelöst, von denen eine mit 0 endet (es ist ein Unterdomänenname). Wenn ich den Namen für eine der anderen 3 IP-Adressen verwende, funktioniert mount. Ich denke, Dolphin ist klüger, wenn es darum geht, einen tatsächlichen Host aufzusuchen, wenn ein (Sub-) Domain-Name angegeben wird, als dies Mount ist.

Chris
quelle
Ich weiß nicht, warum meine Antwort herabgestimmt wurde. Ich habe es aufgenommen, weil ich das gleiche Verhalten wie beim OP hatte, aber mit einer anderen Grundursache. Ich weiß, dass das Problem des OP behoben wurde, aber ich denke, dass es für andere, die auf dieses Verhalten stoßen, hilfreich sein kann, zu wissen, dass es eine andere mögliche Ursache gibt.
Chris