OpenWRT ベースの無線LANルーター GL-MT300N-V2 をファイルサーバーにする

## はじめに
OpenWRT ベースの無線LANルーター GL-MT300N-V2 でファイルサーバー (Samba サーバー) を立てる際の手順が整理できたので、メモとして残しておきます。

## 準備
### GL-MT300N-V2側 で準備すること
管理画面にログインし、左側のメニューからファイル共有を選択します。「書けます」[^2]をオンにします。
「WAN で共有します」[^3]は、オフのままにしてください。
![junbi_3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/2b970ddf-7d46-8869-7602-15285bca657b.png)

「書けます」をオンにすると、警告が表示されます。USB の抜き差しをひんぱんに行うとデータが損失する可能性もあるようです。
![junbi_4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/32a5a287-92ed-4e4b-f2d2-a8da816c0a8e.png)

[^2]: 「書けます」は、違和感があるので「書き込み可能」が良いですね。ファイルを読み出すだけで、新規保存・変更・削除する必要がなければ「書けます」はオフのままで構いません。
[^3]: 「WAN で共有します」をオンにすると、インターネットを通じて不特定多数の人がファイルサーバーへアクセスできるようになってしまいます。

### Windows PC側 で準備すること
これを忘れると、GL-MT300N-V2 で立てたファイルサーバーにアクセスできません。Windows PC の場合を例にして準備することを説明します。

コントロールパネルの「プログラムと機能」で「Windows の機能の有効化または無効化」を選びます。
![junbi_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/5d3536c0-0270-0291-fb43-ff5b89a15a29.png)

「SMB 1.0/CIFS クライアント」だけ[^1]チェックをつけて OK ボタンを押します。
![junbi_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/8ea6b1db-774f-1ce4-64cd-38d634f67e3c.png)

## ファイルサーバーにアクセスしてみる
Windows の再起動後にエクスプローラーで半角の￥マーク２つにつづけて192.168.8.1と打つと、ファイルサーバーにアクセスできるようになります。
![samba_can_accessed.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/1896a035-8b0d-b461-8a5b-e3c3ac60f6b6.png)

あとは、無線LANルーター GL-MT300N-V2 の大きいほうの USB ポートにメモリをさしたり、外付けハードディスク[^4]をさせばファイルにアクセスできるはずです。
![IMG_20200502_131654.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/67693a8a-6a75-1674-e9b3-efdb144d70a7.jpeg)

[^1]: SMB 1.0/CIFS サーバーにもチェックをつけると、あなたの Windows PC 自身がファイルサーバーとして外部からアクセスされる可能性があります。
 
[^4]: この画像の外付けハードディスクは、たしか ５，６年以上前に「あきばお～」の店頭で購入した 20GB のものです。USB メモリーでは手に余るようなサイズのファイルを一時的に保管して持ち歩くときに便利かな、とついでに買っておいたものです。UNIS というロゴが入っています。最悪壊れてもいいので試験用に使いました。

## トラブルシューティング
GL-MT300N-V2 の管理画面で、Samba が起動しているか、USB メモリを認識しているか確認しましょう。

### 準備
左側のメニューの「高級機能」を選択してログインします。[OpenWRT ベースの無線LANルーター GL-MT300N-V2 を初期設定する](https://qiita.com/strysd/items/8cf0ba6b305044787f97) の「高級機能」の「画面日本語化」の手順をおこなっていること、および luci-i18n-samba-ja を追加していることを前提にして説明します。

luci-i18n-samba-ja を追加すると、luci-app-samba も追加され、Samba 機能を管理するためのネットワーク共有設定画面が使用できるようになります。

### Samba が起動しているか
上のメニューバーの「システム」で「スタートアップ」を選択し、samba が有効になっているか確認してください。有効になっていれば右側にいくつか並んでいるボタンのうち、「再起動」ボタンを押してみてください。
![if_troube.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/915cff27-2e53-0124-8ecf-0cf38ce1fb63.png)

### ネットワーク共有画面の確認
上のメニューバーの「サービス」で「ネットワーク共有」を選択します。正常な動作では、USB メモリをさしていなければ、共有ディレクトリーにも何も表示されません。
![samba_settei_no_usb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/1ffea430-3c8c-1df5-d98e-7017cd3bc6cb.png)

USB メモリをさした後、上のメニューバーで意図的に別のメニューを選択し、また「ネットワーク共有」に戻ってきてください。正常な動作では、共有ディレクトリーに/mnt/sda1 や /mnt/sda などの表示が増えます。
さらに、ワークグループの設定が Windows PC のワークグループと一致していることを確認してください。
![samba_settei_exist_usb.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/ebf22b8d-615a-e8ea-2066-c95f54cc9618.png)

もし共有ディレクトリーに何も表示されていなければ、Tera term[^5] などで GL-MT300N-V2 に root としてログインし、USB メモリなどがマウントされたディレクトリーを df コマンドなどで調べてください。調べた結果を共有ディレクトリーの設定として追加してみてください。
![hd_idle_0.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/5d0538d8-7f9e-440f-3410-33b2c0d76356.png)

[^5]: https://ttssh2.osdn.jp/

## おまけ：hd-idle
Luci のアプリケーションの中に hd-idle というものがあります。外付けハードディスクへのアクセスがしばらくない場合にスタンバイ(スピンダウン)させるものだそうです。
トラブルシューティングの準備と同様に、luci-i18n-hd-idle-ja を追加すると、hd-idle および luci-app-hd-idle が追加されます。

上のメニューバーの「サービス」で「HDD Idle」を選択します。「有効」にチェックをつけます。「ディスク」は自動認識されません。自分で必要に応じて sda1 などを[^6]入力します。
![hd_idle_1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/1f399eff-ff0c-7a70-bf3b-9b709edefc1a.png)

![hd_idle_2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/27855/df460fa6-2802-f97b-0fa7-46567bb07998.png)

[^6]: sda がデフォルト値として選択されています。