背景
聽聞 macOS Sierra 之後的版本將以 SMB 3.0 作為建議的檔案分享方式,於是趁著放假把自家伺服器升級到 samba 4.4,簡單以 gigabit ethernet 測一下傳檔發現速度卡在 30 – 40 MB/sec。
診斷
AFP 傳檔很正常,大約 120 MB/sec;只有 SMB 傳檔效能低落,約 30 – 40 MB/sec
解法
若不想修改系統檔案,可以編輯 ~/Library/Preferences/nsmb.conf
加入以下內容:
[default] signing_required=no
此變更僅套用到現行使用者帳戶。
或編輯 /etc/nsmb.conf
加入上述內容,如此全系統將套用此設定。
存檔後斷開現行連線,再重新連線傳檔便可恢復以往的傳輸速度。
解說
SMB 協定支援簽章 (signing) 的功能,但早先的版本預設未啟用;2016 年 4 月 Badlock 攻擊手法曝光後,OS X 內建的 SMB client 於 10.11.5 之後的版本改為預設啟用,但也因此導致傳輸效率不彰。