Configurer SMB/Samba sur macOS 15.1 : résoudre les déconnexions avec nsmb.conf

Depuis l’introduction du système de fichiers APFS (Apple File System) à partir de macOS 10.13 High Sierra, les performances des partages SMB (Server Message Block) sur macOS se sont considérablement dégradées. Et malgré plusieurs mises à jour depuis, y compris la récente version macOS 15.1 Sequoia, les problèmes de lenteur et de déconnexions intermittentes persistent pour de nombreux utilisateurs. Bien que la cause exacte soit difficile à cerner, certains pointent du doigt l’implémentation du protocole SMB sur macOS, ou encore la gestion du réseau et des partages avec le système de fichiers APFS.
Dans cet article, je vais partager ma propre expérience avec ces problèmes et vous montrer les ajustements de configuration qui, dans mon cas, ont permis d’améliorer la stabilité et les performances des partages SMB. Bien sûr, ces solutions ne garantissent pas une résolution universelle, car les performances peuvent aussi dépendre de votre environnement réseau et des périphériques utilisés. Cependant, elles constituent un bon point de départ pour ceux qui souhaitent optimiser leur configuration.
Les ajustements proposés ici sont principalement basés sur macOS 15.1 Sequoia mais peuvent également être efficaces sur d’autres versions : attention au paramètre signing_required
qui peut entraîner des erreurs de connexion si le serveur SMB ne prend pas en charge la signature des paquets.
Modification de la configuration de SMB.
Afin d’améliorer la situation, il est souvent nécessaire d’ajuster le fichier de configuration SMB.
Pour être tout à fait honnête, notons tout de même que ces ajustements amènent nécessairement des compromis. Par exemple, le fait de désactiver le cache des répertoires (dir_cache_off=yes
) ou de ne pas valider la négociation SMB (validate_neg_off=yes
) peut améliorer les performances mais pourrait aussi entraîner des comportements inattendus sur des réseaux complexes.
Voici le fichier nsmb.conf
que j’utilise actuellement, qui a prouvé son efficacité sous macOS 15.1 Sequoia. Ces ajustements peuvent être utiles mais ne garantissent pas une résolution complète.
Ainsi, voici mon fichier de configuration nsmb.conf le plus stable et optimal que j’utilise actuellement sur macOS 15.1 Sequoia. Pour rappel, l’édition dudit fichier se fait depuis le Terminal, par l’intermédiaire de la commande suivante :
vi /private/etc/nsmb.conf
Contenu de mon fichier nsmb.conf :
[default]
# Désactive la mise en cache des répertoires
dir_cache_max_cnt=0
# Ne pas mettre en cache les informations sur les répertoires partagés
dir_cache_off=yes
# Activer la gestion des multiples canaux
mc_on=yes
# Privilégier une connexion réseau filaire (Ethernet)
mc_prefer_wired=yes
# macOS ne recevra pas de notifications des modifications de fichiers ou de répertoires en temps réel depuis le serveur SMB
notify_off=yes
# Éviter l'utilisation de NetBIOS
port445=no_netbios
# Utiliser SMBv2 ou v3
protocol_vers_map=6
# Exiger que tous les paquets soient signés
signing_required=yes
# Utiliser un "soft mount"
soft=yes
# SMB peut gérer les flux de données
streams=yes
# macOS ne valide pas la négociation du protocole SMB
validate_neg_off=yes
Après être intervenu sur le fichier nsmb.conf, démontez et remontez vos partages SMB pour que les changements soient effectifs. Dans le doute, redémarrez votre ordinateur.
Ne pas lire les fichiers .DS_Store sur les partages réseau.
Pour ce faire, il vous suffit d’exécuter la commande suivante depuis le Terminal :
defaults write com.apple.desktopservices DSDontWriteNetworkStores -bool TRUE
Monter les disques externes/partages au démarrage.
Par défaut, macOS monte les disques externes et partages réseau lors de la connexion de l’utilisateur (session) et non au démarrage de l’ordinateur. Pour modifier ce comportement, saisissez la commande suivante dans le Terminal :
sudo defaults write /Library/Preferences/SystemConfiguration/autodiskmount AutomountDisksWithoutUserLogin -bool true
Aller plus loin 🤓
En résumé, la configuration de SMB sur macOS, en particulier depuis l’introduction du système de fichiers APFS, peut poser des défis en termes de performance et de stabilité, notamment avec des déconnexions ou des lenteurs intermittentes. Toutefois, comme nous l’avons vu, ajuster certains paramètres dans le fichier nsmb.conf
permet souvent d’améliorer ces aspects, bien que ces ajustements puissent entraîner des compromis en fonction de votre environnement réseau spécifique.
Les solutions proposées, bien que basées sur macOS 15.1 Sequoia, peuvent être utiles pour d’autres versions de macOS, à condition de tester les configurations dans votre propre contexte. N’oubliez pas que ces changements doivent être réalisés avec prudence et que les performances peuvent encore varier en fonction de nombreux facteurs externes, comme le type de serveur SMB utilisé, la configuration du réseau ou les autres périphériques en interaction.
Avant de vous lancer dans ces ajustements, je vous encourage à tester progressivement chaque modification, et à garder un œil sur les performances de votre système après chaque changement. Si vous rencontrez des problèmes, n’hésitez pas à revenir à la configuration par défaut ou à explorer d’autres solutions disponibles.
Enfin, n’oubliez pas que cette approche ne représente qu’un point de départ. Pour aller plus loin et découvrir d’autres astuces ou solutions de mise à jour concernant les partages SMB sur macOS, je vous invite à consulter des ressources comme le dépôt GitHub macOS_smbx_things, qui compile de nombreuses solutions et améliorations apportées par la communauté.
En espérant que ces ajustements vous apporteront une meilleure expérience de partage SMB sur macOS. Si vous avez des retours d’expérience ou des solutions supplémentaires à partager, n’hésitez pas à les ajouter dans les commentaires ci-dessous – vos contributions seront les bienvenues !
Merci pour le fichier de configuration qui semble améliorer mes montages smb. (après rapides premiers tests)
Petite remarque : Attention !
la ligne : mc_prefer_wired=yes déconnecte le bluetooth
Je l’ai enlevée et tout est redevenu normal.
Encore merci