Hello bonsoir,
Tiens! Encore un déterrage du tuto pour serveur Ve-Hotech (écrit en ~ 2018 ou 2019, ch'sais pu)
Sur le problème Samba associé à Windows 10. Accès à la machine en ssh obligatoire, et donc activer ce service est un impératif...
Récupérer les partages réseau avec W10
1. Ce qui se passe
L'outil Samba de partage réseau utilise un protocole définit par Microsoft et nommé SMB.
Sur le VHS – au moins depuis les versions 6.x.x du firmware – le serveur samba installé en version 3.6.24 supporte le protocole SMB dans ses versions v1 et v2.
Ainsi, les machines clientes qui s'y connectent doivent également être compatibles SMBv1 et/ou SMBv2, qu'elles soient sous Windows, MacOS, Linux ou autre.
La version SMB est négociée entre le client et le serveur à la connexion: le protocole utilisé correspond
a priori à la version proposée initialement dans la première connexion du client, si elle est supportée par le serveur.
Les clients Microsoft sous Windows 10 ne supportent plus SMBv1 pour des raisons de sécurité («Une faille dans la version 1 de ce protocole (SMBv1), nommée EternalBlue, est en cause pour la diffusion en mai 2017 d'un des plus grands ransomware de l'histoire d'internet, WannaCry» - source Wikipedia).
Cependant il semble y avoir un bug sur cet OS: la première connexion s'effectue en SMBv1 - que le VHS accepte puisqu'il la supporte. Et ensuite seulement le client Windows 10 augmente sa version et ne tolère plus qu'une SMBv2 minimum...

Forcément, le NAS ne sait plus quoi faire et la connexion n'est pas opérationnelle.
2. Contournement
Les versions SMB
maximales supportées par les différents clients correspondent au tableau ci-contre. Windows 10 n'y figure pas: il est, lui, capable d'aller jusqu'à SMB 3.11.
Il s'agit bien de versions maximales: toutes les versions plus faibles sont également supportées, donc y compris SMB1,
sauf pour Windows 10, «qui dit oui, puis qui dit non» ! On voit donc que la version commune, supportée à la fois par les clients Windows et par le serveur est
SMBv2.
Plutôt que de faire des modifications sur tous les clients, le plus simple est de modifier à un seul endroit – côté serveur VHS – la configuration, pour imposer cette version SMBv2 commune.
Les manipulations pour le faire sont proposées ci-dessous.
Mais attention: elles ne règlent pas le cas ou votre ...«parc» est très hétérogène, avec un client Windows 10 (ou plus d'un) et de vieux ... Windows XP par exemple

: SMBv1 obligatoire pour lui.
Deux options dans le cas de clients divers:
* Attendre le correctif sur Windows 10 (il existe peut-être déjà)
* Faire autrement pour les «vieux»: ftp, ou bien poubelle

, ou mieux: un petit Linux à la place...
3. Mise en œuvre
Les manipulations se font en ligne de commande sur le serveur VHS
via un accès
ssh
.
3.1. Tester la modification
- Sauvegarder la config (au cas où... mais un
reboot
suffira tant que le § 3.2 n'est pas joué)
Bash:
admin@sesame:~$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.original
- Modifier la configuration: ajout d'une ligne qui fixe la version de protocole
Bash:
admin@sesame:~$ sudo sed -i "/\[global\]/a \protocol = SMB2" /etc/samba/smb.conf
- Tester la configuration: rechargement de la configuration du serveur samba
Bash:
admin@sesame:~$ sudo service smbd reload
☛ Vérifier votre connexion / partage samba depuis votre poste Windows 10 et/ou d'autres (peut-être un arrêt / relance du client Windows pourrait s'avérer nécessaire ?)
3.2. Persistance
Si votre partage Windows est opérationnel, il s'agit de rendre la modification de paramétrage persistante.
Pour faire cela, on joue la même commande de configuration ci-dessous, mais appliquée cette fois aux fichiers
template. Ceci permettra de conserver cette config. même après un arrêt du serveur.
Il faut donc jouer les deux commandes ci-dessous:
Bash:
admin@sesame:~$ sudo sed -i "/\[global\]/a \protocol = SMB2" /opt/vht/etc/templates/core/samba/smbwor.conf
admin@sesame:~$ sudo sed -i "/\[global\]/a \protocol = SMB2" /opt/vht/etc/templates/core/samba/smb.conf
La commande de redémarrage du serveur samba, suivi d'un nouveau test, vous permettra de valider l'ensemble:
Bash:
admin@sesame:~$ sudo service smbd restart
3.3. Retour arrière
Pour remettre les fichiers d'origine, jouer les 3 commandes ci-dessous, toujours en ''ssh'':
Bash:
admin@sesame:~$ sudo sed -i "/protocol = SMB2/d" /opt/vht/etc/templates/core/samba/smbwor.conf
admin@sesame:~$ sudo sed -i "/protocol = SMB2/d" /opt/vht/etc/templates/core/samba/smb.conf
admin@sesame:~$ sudo sed -i "/protocol = SMB2/d" /etc/samba/smb.conf
Prise en compte par arrêt / relance de la machine, ou plus simplement du serveur samba:
Bash:
admin@sesame:~$ sudo service smbd restart
Pour servir et valoir...

@+