2018年6月2日土曜日

LS-CHLでSMBv2を使う

数ヶ月前にLS-CHLのHDD交換を依頼してきた友人からLinkStationに繋がらなくなったとの報告が。調べてみるとつながらないのはSambaだけで、MacとかだとSambaにも接続できる…
どうやらWindows 10がSMB1.0をデフォルトで無効にしたっぽくてSMB1.0しか対応してないこの世代のLinkStationに繋がらなくなった模様。
例の脆弱性によってSMB1.0を無効にするのが推奨されたりしてるし、これで繋がらなくなってる人結構いるかも?

調べてみると海外のフォーラムでSMB2.0を有効にする方法を公開してる人が居たので参考にして改造してみた。
ちなみに今回使用したLinkStationはLS-CHLv2でファームウェアが現時点での最新のv1.74です。行指定でパッチ当ててるのでそれ以外ではうまく動かない可能性あり。うまく動かないどころかファイルが壊れる可能性があるので注意。

とりあえずファームウェアを解凍して何行目に追記すればよいかを確認した。
公式ファームウェアアップデータの中のhddrootfs.imgは例によって拡張子をzipにしてネットに上がっているパスワードで解凍できる。さらに解凍したファイルをWinRARで覗くとLinkStationのシステム内部と同じようなファイル構成になってるはず。

このバージョンのファームウェアでは/etc/init.d/smb.shを確認した限り58行目に先程のフォーラムで公開してくれているコマンドを挿入すれば良さそうなのでacp_commander.jarを使って書き込んでみた。

本来はTelnetとかSSHを有効化した後にsmb.shファイルを書き換えるのだけれども、今回はTelnetやSSHは不要で単純にSMBv2を有効にしたいだけだったので、acp_commander.jarでsedコマンドで行指定で挿入してみた。なのでファームバージョンが異なる場合は使え無いはず。

acp_commander.jarを動かすためにJavaをインストールしておく。
ファイアーウォールは無効にしておく。
LS-CHLv2のIPを"192.168.11.2"、adminパスワードは"password"とするので、この手順でやってみたい方は自分の環境に読み替えてください。

コマンドプロンプトを起動して、cdでacp_commander.jarがあるところに移動
java -jar acp_commander.jar -t 192.168.11.2 -ip 192.168.11.2 -pw password -s
でうまくLinkStationにつながれば
/root>
となるのでここに
sed -i "58i/bin/sed -i '3i\\    max protocol = SMB2\\' /etc/samba/smb.conf" /etc/init.d/smb.sh
と貼り付けてエンター(一行
OK (ACP_STATE_OK)
となれば完了

あとはLinkStationを再起動すればSMB2.0に対応してるはず。
共通ファームのLS-XHLとかLS-VLとかでも行けるかも?
これで最新のWindows 10からもアクセスできる。

4 件のコメント:

  1. 貴重な情報を有難う御座います。LS-XHLにてokでした。なお、ACP Commander GUI (https://gry.ch/Java/styled/) というのにも出会うことができました。こちらの記事のお導き(?)と感謝。

    返信削除
    返信
    1. コメントありがとうございます!
      GUI版便利そうですね。情報がりがとうございました!

      削除
  2. Hello, Sorry for my late reply.
    You're right, I didn't use ssh method at all. I just used acp_commander.jar for this mod.
    I copied command to pastebin below.
    https://pastebin.com/H9V6mqHw

    返信削除
  3. The other day, I wrote the usefulness of ACP Commander GUI (https://gry.ch/Java/styled/) . A few days ago, I tried Linkstation LS-XHL fw 1.75 whether the SMB2 trick is availabel or not. In my case, this mission was completed. I am grateful for Georg and his nice work!

    返信削除