Accélérer les transferts SMB sous macOS

macOS est notoirement lent avec les transferts en SMB – une norme pour les partages en réseau – et c’est un problème actuellement, vu que l’AFP risque de disparaître à court terme. Mais il existe une solution, que j’avais évoquée dans l’article sur les sauvegardes Time Machine sur les NAS.

Le problème, apparu avec macOS 10.11.5, est la signature des paquets en SMB. En théorie, c’est une bonne idée qui permet d’améliorer les performances. En pratique, ça empêche macOS de se connecter à certains NAS et – surtout – ça limite gravement les performances.

Si vous vous connectez à des partages SMB

Cas le plus classique, vous utilisez votre mac pour vous connecter à des partages. Il faut simplement éditer le fichier /etc/nsmb.conf et ajouter deux lignes. Attention, n’effacez pas le contenu s’il existe déjà.

sudo nano /etc/nsmb.conf

Dans le fichier, ajoutez les deux lignes suivantes.

[default]
signing_required=no

Si elles existent, pas de soucis.

Normalement, ensuite, le simple fait de connecter/déconnecter les partages suffit.

Si vous hébergez des partages SMB

Si votre Mac partage des données en SMB, il faut modifier la configuration par défaut avec la ligne suivante.

sudo defaults write /Library/Preferences/SystemConfiguration/com.apple.smb.server SigningRequired -bool FALSE

Sous macOS Server, la ligne suivante doit permettre de mettre à jour les informations.

sudo /usr/libexec/smb-sync-preferences

Sous macOS « client », il faut d’abord désactiver le partage (Préférences Système -> Partage -> Partage de fichiers), tapez la commande puis réactiver le partage.

Le gain en performances dépend franchement de plusieurs paramètres (votre machine, le serveur en face, etc.) mais reste toujours assez substantiel, au détriment de la sécurité. Dans un environnement domestique fermé, la perte de sécurité ne devrait pas être un problème, mais je vous déconseille de le faire en environnement professionnel.