Raspberry Pi 4 Samba Fehler nur unter Windows?
Moin Moin,
ich habe einen Raspberry Pi 4 mit Samba und VeraCrypt auf 3 von 4 Festplatten* laufen. 3 Festplatten sind mit VeraCrypt verschlüsselt und in Samba eingebunden, die 4 Festplatte ist die mit dem Raspberry Pi OS.
Alles funktioniert super, nach einem Neustart muss man die 3 Festplatten manuell einbinden und danach normal in Veracrypt mounten. Wenn dies getan ist, kann man sie im Netzwerk erreichen. Unter MacOS und iOS funktioniert dies Problemlos, es können große > 500 GB Daten hin und her geschoben werden ohne Fehler.
Doch unter Windows funktioniert es nicht. Es können winzige 1kb Dokumente verschoben/kopiert werden, doch bei einer Zip oder größeren Ordnern 10 bis 200 MB kommen Fehler wie "Fehler 0x80070032: Die Anforderung wird nicht unterstützt." Oder der Samba Server kann garnicht mehr aufgerufen werden.
Könnt ihr mir weiter helfen?
Die Samba Status abfrage kann man im Screenshot sehen.
Die smb.conf ist auch in einem Screenshot einsehbar.
Liebe Grüße,
Nioy
*Festplatten = ||1x 1TB || 2x 2TB || 1x 3TB
2 Antworten
Die Art und Weise, die Konfigurationen und Fehler hier zur Verfügung zu stellen, ist unbrauchbar. Textdateien muss man nicht als Bilder schicken. So kann ich das nicht lesen. Einmal bitte
cat smb.conf | grep -v '#' | grep -v ^$
Das Ergebnis als Text mit Code-Formatierung hierher.
Wenn man nach diesem Fehler sucht, findet man häufiger den Zusammenhang mit einem Versionsproblem. Ich habe bei mir auch Samba laufen und habe im Abschnitt global die Versionslimits für Client und Server notiert:
[global]
server min protocol = SMB2
client min protocol = SMB2
server max protocol = SMB3
client max protocol = SMB3
Zudem hast Du zwei Abschnitte [global], die sich widersprechen. Das solltest Du konsolidieren.
Sehe ich es richtig, dass Du die Festplatten unter /var/Samba eingebunden hast? Sehr ungewöhnlich. Für Mountpoints ist normalerweise /media oder /mnt da.
Okay, vielen Dank, ist mir garnicht aufgefallen.
Also, ich habe die smb.conf geändert und verbessert, neu einlesen lassen und den Dienst neugestartet.
Bei Windows bekomme ich bei einer 4,18 GB Zip den anderen Fehler wonach der SMB „kurz“ nicht auffindbar ist. (manchmal) „Fehler 0x8007003B: Unerwarteter Netzwerkfehler." Unter Mac OS funktioniert es aber weiterhin Problemlos, auch während Windows den SMB Server nicht erreichen kann. Beide benutzen den gleichen Benutzernamen „pi“, es ist egal ob nur ein oder mehrere Geräte Daten kopieren, bei Windows geht es bei größeren Daten so oder so nicht. Also es kommt immer ein Fehler, bei großen Daten Mengen.
Sehe ich es richtig, dass Du die Festplatten unter /var/Samba eingebunden hast? Sehr ungewöhnlich. Für Mountpoints ist normalerweise /media oder /mnt da.
Ja, da ich die Festplatten erstmal unter /media einbinde und dann mit VeraCrypt entschlüsseln muss/will, habe ich mich für den endgültigen Pfad /var/samba/ entschieden.
Wie sind die Festplatten formatiert?
Ich habe gerade bei mir getestet: 5 GB große Datei auf einem Linux-Rechner geschrieben, die auf den Samba-Server geschoben, fehlerfrei. Die Datei dann auf einen Windows-Rechner geschoben. Ziel-Dateisystem war ein NTFS-formatierter USB-Stick. Die Platte des Samba-Servers ist ext4-formatiert. Es sind keine Fehler aufgetreten.
~ $ samba -V
Version 4.9.5-Debian
~ $ cat /etc/samba/smb.conf | grep -v '#' | grep -v ';' | grep -v ^$
[global]
workgroup = WORKGROUP
netbios name = raspberrypi
dns proxy = no
local master= yes
preferred master = yes
os level = 99
wins support = yes
domain master = yes
browseable = yes
nt pipe support = no
interfaces = eth0
bind interfaces only = yes
hosts allow = 127.0.0.1, 192.168.
load printers = no
show add printer wizard = no
printcap name = /dev/null
disable spoolss = yes
server min protocol = SMB2
client min protocol = SMB2
server max protocol = SMB3
client max protocol = SMB3
log file = /var/log/samba/samba.log
max log size = 1000
panic action = /usr/share/samba/panic-action %d
enable core files = no
security = user
invalid users = root
encrypt passwords = true
map to guest = Bad User
guest account = nobody
name resolve order = bcast lmhosts host wins
max xmit = 65536
[Pi]
path = /media/hdd/samba/
comment = Sammeleimer für alle zum Dateiaustausch
guest ok = no
browseable = yes
read only = no
writeable = yes
create mask = 0777
directory mask = 0777
valid users = benutzer
Die Festplatten sind per ext4 Formatiert, die VeraCrypt Container ebenfalls, welche dann in Samba eingebunden werden.
Kopieren vom Samba Server (ext4) auf die interne Windows Festplatte (NTFS) funktioniert problemlos, doch Kopieren oder Verschieben von der Windows Festplatte (NTFS) oder einer andern Festplatte (internen oder externen macht kein unterschied) formatierten in ext4 auf den Samba Server funktioniert nicht.
Es kommt immer wieder der Fehler „Fehler 0x8007003B: Unerwarteter Netzwerkfehler."
Ich habe gerade den umgekehrten Weg getestet: Windows -> Samba - auch das hat einwandfrei funktioniert.
Versuche doch mal, in Deiner Konfiguration den kompletten Abschnitt [global] durch meine Konfiguration zu ersetzen. Ggf. muss Du den Bereich bind interfaces anpassen, wahrscheinlich nicht. Wenn das dann funktioniert, hakt es an irgendeinem Parameter in Deiner Konfiguration. Dann kannst Du Dich Stück für Stück herantasten. Wenn meine Konfiguration auch nicht funktioniert, hm ...
Okay, ich habe deine Config benutzt und sie angepasst. Leider funktioniert es nicht.
Beim Kopieren von Windows auf den Samba Server kommt wieder der ""Unerwartete"" Netzwerkfehler. Ich habe gemerkt, das er dann alle Nutzer für 40 Sekunden ca. sperrt, wenn die Zeit um ist, können alle Geräte den Samba Server wieder erreichen. (Windows, macOS usw.)
Zudem sind zwei neue Fehler hinzu gekommen, welche vorher nicht dar waren. Denke das ich etwas bei der smb.conf etwas falsch gemacht habe.
[2021/05/15 17:24:47.233005, 0] ../lib/util/become_daemon.c:138(daemon_ready)
&
daemon_ready: STATUS=daemon 'smbd' finished starting up and ready to serve connections
Wenn Windows gescheitert ist, steht im Samba Status Log, das der Windows Computer sich verbunden hat,
session opened for user pi by (uid=0)
sobald der Fehler in Windows erscheint, komme ich per macOS auch nicht mehr drauf.
session opened for user pi by (uid=0)
und danach direkt
session closed for user pi
Hier nochmal die volle Samba Status abfrage:
pi@raspberrypi:/etc/samba $ sudo service smbd status
● smbd.service - Samba SMB Daemon
Loaded: loaded (/lib/systemd/system/smbd.service; enabled; vendor preset: enabled)
Active: active (running) since Sat 2021-05-15 17:24:47 CEST; 2min 14s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Process: 1287 ExecStartPre=/usr/share/samba/update-apparmor-samba-profile (code=exited, status=0/SUCCESS)
Main PID: 1288 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 5 (limit: 4915)
CGroup: /system.slice/smbd.service
├─1288 /usr/sbin/smbd --foreground --no-process-group
├─1290 /usr/sbin/smbd --foreground --no-process-group
├─1291 /usr/sbin/smbd --foreground --no-process-group
├─1306 /usr/sbin/smbd --foreground --no-process-group
└─1358 /usr/sbin/smbd --foreground --no-process-group
Mai 15 17:24:46 raspberrypi systemd[1]: Starting Samba SMB Daemon...
Mai 15 17:24:47 raspberrypi systemd[1]: Started Samba SMB Daemon.
Mai 15 17:24:47 raspberrypi smbd[1288]: [2021/05/15 17:24:47.233005, 0] ../lib/util/become_daemon.c:138(daemon_ready)
Mai 15 17:24:47 raspberrypi smbd[1288]: daemon_ready: STATUS=daemon 'smbd' finished starting up and ready to serve connections
Mai 15 17:25:15 raspberrypi smbd[1306]: pam_unix(samba:session): session opened for user pi by (uid=0) # Windows Computer
Mai 15 17:26:56 raspberrypi smbd[1374]: pam_unix(samba:session): session opened for user pi by (uid=0) # Versuch mit MacOS den Server zu erreichen nachdem Windows gescheitert ist.
Mai 15 17:26:58 raspberrypi smbd[1374]: pam_unix(samba:session): session closed for user pi # Versuch mit MacOS gescheitert.
Mai 15 17:27:57 raspberrypi smbd[1306]: pam_unix(samba:session): session closed for user pi # Verbindung mit Windows gescheitert.
Das ist seltsam. An der Konfiguration an sich scheint es dann ja nicht zu liegen. Du solltest mal die Logfiles direkt anschauen, auch das samba.log.
Okay, ich hab mal Log Level auf 3 gestellt. Ich denke das es irgendwie mit der WORKGROUP zutun hat, da im log auch etwas mit dem überschreiten der Wartezeit steht und Windows bei großen Daten (egal welches Windows Gerät) immer den Fehler "...Unerwarteter Netzwerkfehler." ausspuckt.
Der Raspberry Pi 4 hat 8 GB RAM, da ich auch mal andere Daten ausprobiert habe (eine iso mit 8,50 GB), müsste er die Daten aufteilen, vielleicht hat er damit Probleme unter Windows. Unter macOS funktionieren auch iso, img, zip, rar usw. über 10 GB problemlos. macOS fängt übrigens fast sofort mit dem übertragen der Daten an, während Windows erstmal 1-2 Minuten braucht und währenddessen nur den leeren Kopiervorgang im Explorer anzeigt, bis der Fehler kommt.
Ich habe den Raspberry Pi auch nochmal ganz neu aufgesetzt, da eine Festplatte sich immer wieder von alleine unmountet und VeraCrypt manchmal meint, das die Festplatte oder das Kabel beschädigt seie. Unter Windows muss dann erstmal die Festplatte mit VeraCrypt untersucht und repariert werden. Obwohl die Festplatte laut CrystalDiskInfo in Ordnung ist und sie auch nicht gerade alt ist.
(Ja, es ist eine externe USB Festplatte, welche ich extern mit dem gleichen Netzteil vom Pi (5V 10A) über die USB A Schnittstelle mit Strom versorge. Also das USB A Festplattenkabel an einer stelle abisoliert und die Strom Kabel zum pi abgekappt und die Strom Kabel zur Festplatte mit dem vom Netzteil verbunden, natürlich ist auch wieder die Alu und Isolierschicht drauf. Deswegen dürfte diese genug Strom bekommen und nicht den Pi überlasten.)
Ich habe mal so ein paar Log Fehler aufgelistet, wollte nicht den ganzen Log hier zeigen, da sich viele Events Millisekündlich wiederholen.
[2021/05/16 20:57:55.059796, 3] ../auth/ntlmssp/ntlmssp_sign.c:512(ntlmssp_sign_reset)
NTLMSSP Sign/Seal - Initialising with flags:
[2021/05/16 20:57:55.059824, 3] ../auth/ntlmssp/ntlmssp_util.c:72(debug_ntlmssp_flags)
Got NTLMSSP neg_flags=0xe2088215
[2021/05/16 20:57:55.060150, 3] ../source3/auth/token_util.c:681(finalize_local_nt_token)
Failed to fetch domain sid for WORKGROUP
[2021/05/16 21:00:22.138336, 3] ../source3/smbd/smb2_server.c:3195(smbd_smb2_request_error_ex)
smbd_smb2_request_error_ex: smbd_smb2_request_error_ex: idx[1] status[NT_STATUS_CANCELLED] || at ../source3/smbd/smb2_notify.c:126
[2021/05/16 20:49:35.578087, 1] ../source3/lib/messages.c:910(send_all_fn)
send_all_fn: messaging_send_buf to 2609 failed: NT_STATUS_OBJECT_NAME_NOT_FOUND
[2021/05/16 20:49:35.578219, 3] ../source3/lib/util_procid.c:54(pid_to_procid)
pid_to_procid: messaging_dgm_get_unique failed: Datei oder Verzeichnis nicht gefunden
[2021/05/16 20:55:06.788515, 1] ../source3/lib/messages_dgm.c:696(messaging_dgm_out_sent_fragment)
messaging_dgm_out_sent_fragment: messaging_out_queue_recv returned Die Wartezeit für die Verbindung ist abgelaufen
[2021/05/16 20:55:06.788700, 1] ../source3/lib/messages_dgm.c:696(messaging_dgm_out_sent_fragment)
messaging_dgm_out_sent_fragment: messaging_out_queue_recv returned Die Wartezeit für die Verbindung ist abgelaufen
[2021/05/16 20:55:09.283262, 3] ../lib/util/access.c:365(allow_access)
Allowed connection from 192.168.178.20 (192.168.178.20)
[2021/05/16 20:55:30.880779, 1] ../source3/lib/messages_dgm.c:696(messaging_dgm_out_sent_fragment)
messaging_dgm_out_sent_fragment: messaging_out_queue_recv returned Verbindungsaufbau abgelehnt
Da sind ja ziemlich viele Unsicherheiten. Zunächst einmal würde ich die Platte, die da Probleme macht, einfach mal abklemmen. Wenn das Zeug dann stabil läuft, probiere den Datentransfer noch einmal.
Ansonsten wird es jetzt für mich ein ziemliches Stochern im Nebel.
Okay, ich denke das ich den Fehler nun gefunden habe.
Also ich hatte schon vorher mal die Festplatte außer Betrieb genommen und es mit der anderen VeraCrypt schlüsselten Festplatten nach einem Neustart versucht. (alle ext4) Doch es kam der selbe Fehler, nachdem du aber meintest, das ich mal eine andere Platte ausprobieren sollte, habe ich mal eine ganz andere Festplatte ausprobiert. Die OS Festplatte vom Raspberry PI, (welche nicht mit VeraCrypt verschlüsselt ist) diese hat sofort angefangen die 8,50 GB iso und die 4,18 GB zip zu Kopieren, von Windows zum Samba Server WOW.
Daher hat es etwas mit der Art und Weise des Kopiervorgangs von Windows zu tun und ganz offensichtlich mit VeraCrypt. Da macOS problemlos die Daten überträgt, kam ich nicht auf den Gedanken das es mit VeraCrypt Probleme geben könnte. Somit überträgt macOS die Daten anders als Windows. Ja, da sieht man das dies echt zwei komplett verschiedene Betriebssysteme sind.
Ich guck nachher mal ob VeraCrypt Logs anlegt und wenn ja, was dort so steht. Ich denke aber, das ich mich überwinden werde und den Server ohne die Verschlüsselung von VeraCrypt benutzen werde. Da es vorher ein sicheres Gefühl gemacht hatte, dass, wenn ich dem Server ein Shutdown Befehl sende und ihm danach per Relai den Strom ab drehe. Niemand ohne das Passwort und den PIM Wert auf die Daten zugreifen konnte. Auch wenn es keine wichtigen Daten waren.
Vielen Vielen Dank für deine Hilfe! Echt, du hast viel von einer Zeit investiert und mir geholfen, danke für die vielen Ideen und Verbesserungsvorschläge!
Daher hat es etwas mit der Art und Weise des Kopiervorgangs von Windows zu tun und ganz offensichtlich mit VeraCrypt.
Das wäre meine nächste Vermutung gewesen. Generell gilt immer: Schrittweise vorgehen. Du hast mehrere Fehlerquellen gehabt: Natürlich die Konfiguration selbst, mehrere Platten/Freigaben, von denen mindestens eine nicht ganz unproblematisch war, virtuelle Laufwerke inForm von VeraCrypt-Containern - da kommt eine Menge zusammen, was man einzeln auseinander dröseln muss.
Ich bin aber in SMB und dessen Macken nicht drin. Mehr als Samba aufgesetzt habe ich hier auch nicht gemacht. Klar, Verschlüsselung ist eine schöne Sache, aber manchmal offenbar nicht ganz so einfach.
Vielen Vielen Dank für deine Hilfe!
Gerne ... Und Dir danke für die Rückmeldung.
Ich würde vermuten, dass es an der Formatierung und- oder Veracrypt liegt. Formatier die Festplatten als ext4 und entferne Veracrypt, das eignet sich hier sowieso nicht wirklich. Viel besser wären entweder verschlüsselte ZFS Pools oder alternativ die Festplatten mit LUKS verschlüsseln.
In Stackexchange gibt es ein vaage ähnlichen Thread, bei dem dem Ersteller folgendes beim Mounten geholfen hat.
veracrypt /dev/sda6 /mnt/D --filesystem=none
sudo mount -o umask=000 /dev/mapper/veracrypt1 /mnt/D
Moin Moin, ja deine Vermutung ist richtig, es liegt an VeraCrypt. Da er auf die interne OS Festplatte vom Raspi (ohne eine VeraCrypt Verschlüsselung) sofort die Daten Kopiert.
Danke für den Tipp, werde ich nachher mal aufprobieren, vielleicht muss ich doch nicht auf die VeraCrypt Verschlüsselung verzichten. Aber der Pi schmeißt meistens die ganze Platte mit Raus, so das mir unter lsblk nur noch die Festplatte mit 16K ohne Partitionen usw. angezeigt wird. (Aber auch nur, wenn ich versucht habe von Windows große Daten auf den Samba Server zu Kopieren. macOS ist da anders.)
Okay, sorry, das hatte ich anfangs versucht und bekam den Fehler, das ich 214 Zeichen zu viel habe. Komischerweise ist es bei den Kommentaren anders.
Einmal die Ausgabe von "cat smb.conf | grep -v '#' | grep -v ^$":
Dann einmal die Status abfrage von Samba: