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 wird eine zufällige IP angezeigt. Ich habe eine IP angegeben, aber das Gerät kann nicht gefunden werden.
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 mich nicht auf diesem Samba-Server anmelden? Was bedeuten diese Fehler?
Antwort1
Fehlerbehebung beim Zugriff auf einen freigegebenen Windows XP-Ordner von Fedora aus:
Sie erhalten die folgende Fehlermeldung:
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 auf der Linux-Box diesen Befehl an die IP der Windows-Box aus:
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 Verbindung unterbrochen ist, beschwert sich möglicherweise die Halterung.
2. Stellen Sie sicher, dass ein Ordner unter Windows tatsächlich freigegeben ist, und befolgen Sie diese Schritte.
- Öffnen Sie den Dateibrowser, um
C:\
. - Erstellen Sie einen neuen Ordner mit dem Namen
public
. Sie haben jetzt also C:\public - Erstellen Sie in diesem Ordner ein neues Textdokument mit dem Namen „testing.txt“.
- Klicken Sie mit der rechten Maustaste auf den Ordner
C:\public
und gehen Sie zu Eigenschaften. - Klicken Sie auf die Registerkarte „Freigeben“.
- Stellen Sie sicher, dass „Diesen Ordner im Netzwerk freigeben“ aktiviert ist. Beachten Sie den Freigabenamen: „öffentlich“.
- Klicken Sie auf „OK“. Unter dem Ordner sollte eine kleine Hand erscheinen, was bedeutet, dass er freigegeben ist.
Der Ordner „public“ ist jetzt freigegeben und Sie sollten in der Lage sein, mit Linux eine Verbindung dazu herzustellen.
3. Unter Linux mounten Sie die Freigabe mit „mount“:
- Öffnen Sie eine Konsole und
su
verwenden Sie den Root-Zugriff. Erstellen Sie ein Verzeichnis
mkdir /mnt/windows
. Hier greifen Sie auf die freigegebenen Dateien zu.Führen Sie den Mount-Befehl aus, der 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]#
Der obige Befehl fordert Sie zur Eingabe eines Kennworts auf. Geben Sie das richtige Kennwort ein. Ein falsches Kennwort führt zu einem Fehler. Wenn Sie sich beim Kennwort nicht sicher sind, können Sie es in der Windows-Box unter Systemsteuerung -> Benutzerkonten ändern.
Führen Sie den Befehl aus
cd /mnt/windows
und führen Sie ausls
. Der Inhalt des Laufwerks wird angezeigt:[root@defiant windows]# ls testing.txt [root@defiant windows]#
Sie haben eine Verbindung zum Windows-Laufwerk hergestellt.
4. Stellen Sie mit dem Konqueror- oder Linux-Dateibrowser eine Verbindung zum freigegebenen Laufwerk her:
- Öffnen Sie Ihren Dateibrowser, in meinem Fall Konqueror.
- Geben Sie in der Dateispeicherortleiste „..“ ein
smb://192.168.13.107/public
und drücken Sie die Eingabetaste. - Möglicherweise wird Ihnen ein Anmeldefeld mit Benutzername und Kennwort angezeigt. Geben Sie den Benutzernamen und das Kennwort des Windows-Felds ein, das oben in diesem Beitrag beschrieben ist.
- 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 auch Linux seine Software-Updates hat. Starten Sie nach den Updates neu.
Schritt 2: Überprüfen Sie Ihre Firewalls, ZoneAlarms und andere Sicherheitssoftware
Eine Software, die Ihren Computer vor Viren, Malware oder anderen Übeln im Internet schützen soll, blockiert möglicherweise Ihren Versuch, Dateien freizugeben. Die Windows-Firewall ist möglicherweise im Paranoia-Modus. Obwohl es unwahrscheinlich ist, dass die Windows-Firewall schuld ist, sollten Sie sie vorübergehend deaktivieren, um sicherzustellen, dass sie nicht das Problem ist. (Lassen Sie sie nicht deaktiviert.)
Besorgen Sie sich eine Liste aller Sicherheitssoftware, die möglicherweise auf Paranoia-Modus eingestellt ist. Windows-Firewalls, Firewalls von Drittanbietern, ZoneAlarms, Antivirenprogramme, Kaspersky, AVG oder andere Programme, die Sie angeblich vor Viren/Malware/Bösem schützen. Sie müssen diese Programme überprüfen und sie entweder vorübergehend deaktivieren oder eine Whitelist für Ihre IP-Adresse öffnen.
Schritt 3: Hinweise von Sicherheitssoftware einholen.
ZoneAlarm führt ein Protokoll aller Ordnerfreigabeereignisse und -versuche. Gehen Sie zu Übersicht->Warnungen und Protokolle. Dort sehen Sie eine Liste aller fehlgeschlagenen Versuche. Dasselbe ist für andere Software möglich. In diesem Fall schützt es Sie vor Ihnen selbst.
Schritt 4: Vermuten Sie Probleme beim Router oder im lokalen Netzwerk selbst
Vielleicht haben der Router, die drahtlosen Brücken, die Dumb Hubs oder ein anderes Netzwerkgerät irgendwelche direkten Tricks drauf, indem sie Ihren Verbindungsversuch mit dem freigegebenen Ordner blockieren. Der Router oder das Gerät selbst blockiert möglicherweise einen Port oder hat etwas im restriktiven Modus. Hat jemand in letzter Zeit damit herumgespielt? Versuchen Sie, den Router auf die Standardeinstellungen zurückzusetzen und versuchen Sie es erneut.
Schritt 5: Stellen Sie sicher, dass Ihr lokales Netzwerk einfach und korrekt ist.
Sind beide Computer mit demselben Router verbunden? Vielleicht ist einer mit einer schlechten Netgear-WLAN-Bridge und der andere mit einem Router verbunden? Vereinfachen Sie das Netzwerk, indem Sie alle Computer mit einem Router verbinden. Starten Sie die Router und das Internet neu und versuchen Sie es erneut.
Schritt 6: Funktioniert immer noch nicht. Isolieren Sie die defekte Einheit.
Es ist Zeit, die Katzen zu hüten und das defekte Gerät zu isolieren. Beweisen Sie, dass die Windows-Box Ihre Datei nicht freigibt, indem Sie sich mit einem anderen Computer mit der Freigabe verbinden. Holen Sie sich den Windows-Laptop oder das Apple-Produkt eines Freundes, verbinden Sie es mit Ihrem Netzwerk und prüfen Sie, ob er auf die Freigabe zugreifen kann. Wenn nicht, liegt ein Problem mit der Windows-Box vor, wenn doch, liegt das Problem mit der Linux-Box vor.
Schritt 7: Firewall unter Linux verdächtigen
Achten Sie auf spezielle Sicherheitswarnungen oder spezielle Firewall-Software unter Linux. Führen Sie es aus system-config-firewall
und stellen Sie sicher, dass SMB aktiviert ist. Stellen Sie sicher, dass Linux Ihr Mounten nicht verhindert. Erstellen Sie eine SMB-Freigabe auf einer anderen Linux-Box und versuchen Sie, eine Verbindung damit herzustellen.
Wenn nichts davon funktioniert, verwenden Sie die nukleare Option, installieren Sie beide Betriebssysteme neu und beginnen Sie von vorne. Das ist Raketenwissenschaft.
Antwort2
Versuchen:
mount -t cifs -v //NAS_SERVER/public/ /mnt/ -o username=user,password=pass,sec=ntlm
Der Schlüssel istSek.=ntlm
Antwort3
Weitere mögliche Lösungen für dieses Problem hinzufügen
Diese Fehlermeldung ist nicht sehr aussagekräftig, bedeutet aber, dass der Vorgang abgelaufen ist. Dafür gibt es zahlreiche mögliche Gründe, und bei der Untersuchung dieses Problems bin ich auf einige Lösungen gestoßen, die in diesem Thread noch nicht erwähnt wurden.
1.) Mehrdeutiges Netzwerk
Es wird in den verschiedenen Lösungen, die Sie online für dieses Problem finden können, nicht oft erwähnt, aber der Server, mit dem Sie sich verbinden, muss sich im selben Subnetz befinden wie Ihr lokaler Computer. Dieses Problem trat bei mir auf, weil ich sowohl die kabelgebundene als auch die kabellose Verbindung aktiviert hatte und die Bestimmung, zu welchem Subnetz das Gerät gehörte, nicht eindeutig war, da die beiden Verbindungen nicht dasselbe Netzwerk sind. Das Deaktivieren von WLAN behob das Problem sofort. Ich bin beim Lesen auf diese Lösung gestoßenDie 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 eher etwas wie „keine Route zum Host“ erwartet statt dem kryptischen „Fehler (115): Vorgang wird gerade ausgeführt“ …
Naja, man kann nicht alles haben ;)
Quelle:http://www.das-werkstatt.com/forum/werkstatt/viewtopic.php?f=7&t=2074
2.) Zeilenumbrüche am Ende der Credentials-Datei
Anmeldeinformationendateien sind nützlich, wenn Ihr ,
Passwort Sonderzeichen wie Kommas enthält. Sie können in den Optionen wie folgt referenziert werden:
mount -t cifs //remote /mnt/local -o credentials=/path/to/cifs.credo
Die Datei ist mit sh
der Variablendeklaration im -Stil formatiert:
username=me
password=mypassword
domain=mydomain
Wenn Sie eine Datei mit Anmeldeinformationen verwenden, achten Sie darauf, dass am Ende keine Zeilenumbruchzeichen stehen. Andernfalls kommt es beim Versuch, die Datei mit Anmeldeinformationen zu analysieren, zu einer Zeitüberschreitung:
...
domain=mydomain
<empty line>
3.) Versuch, ein bestimmtes Verzeichnis statt des eigentlichen Sharepoints zu mounten
Wenn das von Ihnen benötigte Verzeichnis ein Unterverzeichnis der Freigabe ist, können Sie diesen Ordner nicht direkt mounten. Der Versuch, dies zu tun, führt zu verschiedenen Fehlern, dies ist einer davon.
Mounten Sie stattdessen den Sharepoint selbst und fügen Sie dann einen symbolischen Link zum benötigten Unterverzeichnis 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 dorthin navigieren zu müssen.
Antwort4
Ich muss das oft in Anführungszeichen setzen, -o "username=joe,password=yadayada,domain=adomain" //share/share /mnt
und es wird schnell zu einem großen Problem. Die meisten Beispiele, die ich nachgeschlagen habe, zeigen diesen Teil nicht (falls er auf diesen Systemen benötigt wird).
Ich hatte dieses Problem gerade tatsächlich auf meinem Tablet (warum ich hier bin, ich wollte den UNC-Namen, nicht die IP-Adresse). Anführungszeichen haben es sofort behoben.