Linux Erzwinge die Standard-Mount-CIFS-Version auf 3.0

3870
Steven4x4

Ich verwende Ubuntu Server 16.04.3 LTS 64-Bit mit installierten cifs-utils als VM auf einem VMWare ESXi 6.5-Hyper-Visier.

Ich habe eine reguläre Netzwerkfreigabe unter Windows Server 2016.

Das Ziel besteht darin, den Veeam Linux Agent zu verwenden, um diese Linux-VM über CIFS auf einer Windows-Freigabe zu sichern.

Das Problem:

Wenn ich Veeam für die Verwendung von CIFS konfiguriere, führt veeam diesen Befehl aus (um die Protokolle anzuzeigen), um eine Verbindung zur Netzwerkfreigabe herzustellen:

mount -t cifs -o username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare 

Es gibt den Fehler: Mount-Fehler (112): Host ist inaktiv.

Wenn ich den Befehl manuell ausführe, macht er dasselbe.

Allerdings, wenn ich den Befehl so ausführen:

mount -t cifs -o vers=3.0,username=MyUsername,password=*,rw,soft //MyServerIP/MyShare /tmp/veeam/MyServerIPMyShare 

Es ist ohne Probleme gleich, wenn ich auch 2.0 verwende.

Das Problem ist, es gibt keine Möglichkeit, die Version 3.0 in Veeam zu erzwingen. Also, ich muss in der Lage sein, dies in Linux einigermaßen zu erzwingen.

Ich habe gesehen, dass andere ebenfalls auf dieses Problem gestoßen sind, aber es wurde keine Lösung präsentiert.

Ich habe Folgendes versucht (basierend auf dem, was ich gefunden habe):

Die folgenden Zeilen wurden zu /etc/samba/smb.conf hinzugefügt

server min protocol = SMB2 server max protocol = SMB3 client min protocol = SMB2 client max protocol = SMB3 min protocol = SMB2 max protocol = SMB3 client ipc min protocol = SMB2 

Ich habe Variationen mit Neustarts gemischt und abgestimmt, ohne Erfolg.

2

1 Antwort auf die Frage

0
stevek_mcc

Für eine bestimmte mount.cifsVersion kenne ich keine andere Möglichkeit, als vers=3.0die Befehlszeile (oder bis /etc/fstab) hinzuzufügen . Der mount.cifsFahrer ignoriert smb.conf. Historisch mount.cifskonnte es nicht automatisch ausgehandelt werden, und es wurde lediglich eine Protokollversion - 1.0 bis Juli 2017 und 3.0 danach - ausprobiert . (Juli 2017 ist das Datum, an dem der Code in cifs 4.13 geändert wurde, nicht dass frühere Versionen zur Laufzeit auf dieses Datum blickten!) Ab September 2017 sieht es so aus, als könnte es automatisch aushandeln, standardmäßig auf 2.1 oder höher (was auch immer der höchste Wert ist) Server kann anbieten).

Wenn Sie also eine Aktualisierung Ihrer cifs-Version durchführen können, sollten Sie eine andere Protokollversion erhalten, auch wenn Sie keine explizite Version angeben.

Hier ist das Mapping von mount.cifs, smb.conf und Windows-Protokollversionen:
vers = 3.0 ist SMB3, dh Windows 8, Windows Server 2012.
Vers = 2.1 ist SMB2_10, dh Windows 7, Windows Server 2008 R2.
Vers = 2.0 ist SMB2_02, dh Vista SP1, Windows Server 2008
vers = 1.0 ist NT1, dh Windows 95, NT 4.0

"Aktualisieren Sie Ihre Version von Cifs" bedeutet, dass Sie eine neue Kernel-Version mit einem neuen cifs.ko-Modul installieren - _nicht_ das cifs-utils-Paket oder das Tool mount.cifs. (Vergessen Sie auch nicht vers = 3.1 für Windows 10.) grawity vor 5 Jahren 1
@grawity - Außerdem ist es wichtig, dass Sie die passenden mount.cifs für Ihren neuen Kernel benötigen. Ohne diese Option können Sie einige der neuen Optionen (oder neue Werte für vorhandene Optionen) nicht übergeben. Michael Kohne vor 5 Jahren 0