【NAS】BuffaloのNAS(TS-QVHL)をSMB2対応に変更する(1)

サーバー

はじめに

TS-QVHLは標準ではSMB1のみの対応となっています。
SMB1の接続のNASでは現在まで、様々なトラブルが発生していました。

SMB1のトラブル(1回目)
SMB1のトラブル(2回目)
SMB1のトラブル(3回目)

このままでは今後も手間が増えるので、SMB2に対応させる事にします。
NASはTS-QVHLでファームウェアのバージョンは1.34です。
尚、今回の対応は非公式対応で試される方は自己責任で行ってください。
また最低限、コマンドプロンプトやLinuxコマンドを使用できる事が前提となります。

確認

まずは現在、どのような状況で接続されているのか確認してみます。
PCからNASのフォルダへアクセスし、Windows PowerShell(管理者)で以下コマンドを実行します。

Get-SmbConnection

実行すると、192.168.1.104のSMB接続のバージョンが1.5で接続されている事がわかります。

実行結果

概要

NASのファイルを変更します。

/etc/samba/smb.conf

このファイルの中の[global]セクションに、「max protocol = SMB2」を追記するだけです。

準備

1:ファイル修正の為に、javaツール「acp_commander」をzipでダウンロードし解凍します。

2:実行にはjava環境が必要ですので、別途jdkかjreを準備します。(java環境が存在する場合は不要です)
java環境が不明な場合は、コマンドで「java -version」で確認しましょう。

3:操作するPCのファイヤーウォールを無効化します。

ファイルの変更

まず変更するファイルの中を、コマンドで確認してみます。
コマンドプロンプトあるいはWindows PowerShellで以下コマンドを発行します。
192.168.1.104はNASのipアドレスなので、変更してください。
*****はadminのパスワードです。
-c以降は、実際に実行するコマンドとなります。

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw ***** -c "cat /etc/samba/smb.conf"

実行すると、catコマンドが発行された直後に結果が表示されます。
1行目に[global]セクションが存在する事がわかります。

次に1行目の直後に追記する為、sedコマンドを発行します。

java -jar acp_commander.jar -t 192.168.1.104 -ip 192.168.1.104 -pw gonchan -c "sed -i '1a \    max protocol = SMB2' /etc/samba/smb.conf"

変更されているか、前述のcatコマンドで確認してみます。

問題無く追記されているようですので、再度Get-SmbConnectionで接続状況を確認してみます。

問題無くSMB2で接続できたようです。

まとめ

比較的簡単にsmb2に対応する事ができました。
但しこのままでは、追記したファイルが再起動すると元に戻ってしまいます。
再起動する毎に今回の作業をしないといけません。
次回は、再起動しても問題無くsmb2で接続できるように変更してみます。

2021/5/3追記

再起動時も自動でsmb2接続する対応を公開しました。

コメント