ラズパイでOpenMediaVault7とTailscaleVPNを使って便利なNASを作ろう
前回の続きです。
詳しくはNASを作ろう(計画・設計編)をご覧ください。
材料を用意したので、組み立てからNASを構築して、VPNでファイルにアクセスできるところまで行きたいと思います
今回用意したもの
GeekpiのM.2対応ケース
M.2 SSD 256GB
64GB MicroSD
ラズパイ 5 8GB
利用するOS・サービス
Raspberrypi OS
OpenMediaVault※以下OMV
Tailscale VPN
ラズパイの組み立て
ケースにラズパイを組み付けて行きます
今回はGeekpiのこちらのケースを使用します
M.2を乗せるためのボードが付いていますので、適当なM.2SSDを乗せました
ケースによって組み立て方法は異なりますので、ここでの紹介は略させていただきます。
ラズパイOSのインストール
Raspberry PI OS (ラズパイOS)をSDカードにインストールします
ラズペリーパイ公式HPよりOSをインストールするためのPi installerをPCにダウンロードします
Pi installerを起動します
今回利用するのは Raspberrypi os lite(64bit) になります
OSの一覧が表示されるので
Raspberry Pi OS(others)>Rasberrypi os Lite(64bit)
を選択します
OMVはこの環境上でしか動作しないので注意しましょう
次に、高度な設定からユーザー名とパスワードを設定します。
ここで設定したものは間違えなく、確実に覚えるようにしましょう。
最悪ラズパイOSにログインできなくなり再インストールになります(1回やらかしました)
サービス
からSSHを有効化します。
各種設定が終わったら保存します、次にOSのSDカードへの書き込みが終わったら、ラズパイ本体のSDカードソケットに差し込み、電源を入れて数分待ちます。電源ランプが赤から緑になっていることを確認してください。
ラズパイ5では3分程度でインストールが完了しました。
SSH接続でラズパイに接続する
ラズパイOSを導入する段階でSSHの設定を行ったので、SSH接続でラズパイOSの設定をしていきます
ラズパイを設定を行う別のPCなどと同じネットワーク内に接続します。
接続後、別PCのコマンドプロンプトなどでSSH接続を行います
筆者はWindows環境ですので、コマンドプロンプトで以下を実行します
このコマンドはsshでラズパイに接続する際毎回使いますので、覚えておきましょう
ssh [Piinstallerでインストール時に設定した名前]@raspberrypi.local
※以下設定した名前の部分は、Usernameと表記します
すると、以下のような文章が表示されますので、Pi installerで設定したパスワードを入力します
文字を入力しても非可視化されていますので、何も表示されません。間違えないように入力しましょう。
Username@raspberrypi.local's password:
パスワードを入力後、初回接続の場合は本当に接続しますか?というような確認が出てきますので、yesと入力します。
Are you sure you want to continue connecting (yes/no/[fingerprint])?
すると、ラズパイにSSHで接続できるようになります。
Username@raspberrypi:~ $
上記のような表示が出てくれば成功です。
初期設定
SSHや有線でラズペリーパイにログインすることができたら、OSの更新確認と、適応を行っていきます。
sudo apt update
sudo apt upgrade
筆者環境では10分程度で完了しました。
次にOMVのダウンロードを行います、以下のコマンドを実行します。
wget -O - https://github.com/OpenMediaVaultPluginDevelopers/installScript/raw/master/preinstall | sudo bash
ダウンロードは10分ほどかかりました。終了後、再起動が必要ですので、sudo reboot
で再起動します。
SSHは切断されるので、再接続しておきましょう。
OpenMediaVaultの設定
上記までの手順が終わったら次に、OMVの設定を行います。
ラズパイでifconfig
を実行して、ラズパイのIPアドレスを確認し、PCなどのWebブラウザで調べたIPアドレスを入力します。
アクセスすると以下のような画面が表示されます。
ユーザー名: admin
パスワード: openMediaVault
OMVにログインします。
ログイン後、以下のような画面になります(途中でスクリーンショットを撮影したので、黄色い警告が出ていますが、普通最初は表示されません)
まず最初に、SSH接続がOMVによってキャンセルされている場合があるので、設定の確認をします。
ユーザー>設定
から編集して、グループの部分にSSHがあることを確認します。もし確認できない場合はグループを編集して、SSH接続ができるようになっていることを確認します。
IPアドレスの固定
今のままだと、電源を切った際にIPアドレスが変わってしまったりして不便なので、IPアドレスを固定します。
OMVのネットワーク>インターフェース
から有線接続のため、eth0
を指定して、鉛筆マークから編集画面を開きます。
Wifi接続では、インターフェース名がWlan0などに変わっている可能性があるため注意してください。
IPアドレスの振り分けについては、環境によって異なるため適応したものを入力してください。
以下では参考例を提示します
IPv4の欄に以下のような設定を行います
- メソッド:
スタティック
- IPアドレス:
ラズパイのIPアドレス 例:192.168.XX.XX
- サブネットマスク:
IPアドレスに適したもの 例:255.255.255.0
- ゲートウェイ:
ルーターのIPアドレス 例:192.168.XX.XX
以上の設定をすることでIPの振り分けができます。
設定を実行するとIPが変更されます。
IPを変えると、SSHの接続やOMVのWebページにアクセスできなくなる場合があるので、変更したアドレスにアクセスするように、アクセス先のアドレスを変更してください。
SSDのセットアップ
M.2SSDのワイプを実行します。
ストレージ>ディスク
から
ワイプを実行するドライブを指定して、消しゴムのようなマークをクリックしてワイプを行います。
緑文字のコンソールが立ち上がってくるので、終了を待ちます。
終了後、念のため■と▼のアイコンからアンマウントを実行した後に再度マウントします。
これでM.2SSDのセットアップは完了です。
次にファイルシステムの作成を行います
ストレージ>ファイルシステム
のファイルシステムの部分からワイプを実行したSSDを選択して保存します。
以上でSSDの設定は完了です。
共有用フォルダ作成
ストレージ>共有フォルダ
から共有用のフォルダを作成します。
+
を押します。するとこのような画面になるので、各種設定を行っていきます。
- 名前
共有フォルダに着けたい名前(今回はShere)
- ファイルシステム
先ほど設定したSSD
- 相対パス
shere/
※適応するものを入力 - パーミッション設定は想定している権限の振り分けになるように設定してください。筆者環境では写真のようになりました。
共有用設定
サービス>SMB/CFID>設定
を開き、一番上の有効化にチェックを入れて保存します。
次にSMB/CIFD>共有
から以下の設定を行います
共有フォルダ先ほど作成したフォルダ
☑参照可能
☑パーミッションを継承
☑DOS属性を書き込む
アクセス用ユーザー作成
ユーザー>ユーザー
に移動して、上部にある+
をクリックしてユーザーを作成します。
ユーザー名とパスワードを設定して、保存を行い、黄色バナーの適用をクリックして完了します。
作成したフォルダにアクセスしてみよう
Windows環境であれば、ネットワーク検索とファイル共有を有効化した後、エクスプローラーのネットワーク
欄で作成したNASが確認できると思います。
スマートフォン等であれば、ファイルマネージャー等のアプリを利用して、ラズパイのIPアドレスを指定してアクセスするとShereというフォルダーを開けます
VPNの設定
次に、家の外からでも接続ができるようにするためにVPNの設定を行います。
今回はWireguardの技術を利用したTailscaleというVPNを利用します。
まずはラズパイにTailscaleをインストールします
curl -fsSL https://tailscale.com/install.sh | sh
ダウンロードが終わったら以下のコマンドを実行します。
sudo tailscale up
実行すると、ブラウザが立ち上がるか、ログインするためのURLが出力されますので、Webページにアクセスしてログインします。
Googleなどのアカウントを使ってログインすると、楽なのでおすすめです。
ログインが完了すると、ラズパイとログインしたアカウントでTailnetと接続しますか?と聞かれるので、Connect
を押して接続します
ログインが終わってCLIにSuccessと表示されたら成功です。
次にVPNを利用してアクセスしたい端末にtailscaleを導入し、先ほどログインしたアカウントと同じアカウントでログインします。
iPhoneであれば右上の人マーク>Login
でログインができます
ログインが完了し、一番上のボタンをONにすると以下のような表示になります
ここに自分が今登録したデバイスと、ラズパイが表示されていれば設定は完了です。
ファイルエクスプローラーの接続設定
次にiPhoneでこのファイルにアクセスするための設定を行います。
今回はDocumentsアプリを利用します。
Documentsのダウンロードが終わったら、Tailscale
のVPNをONにします。
Wifi等でラズパイと同じネットワーク内にいる方は、VPNの動作確認のため、一度切断してモバイル回線等の他のネットワークからアクセスしてください。
次に左下のファイルタブ>+ボタン>他のクラウドを追加>SFTPサーバー
を開きます。
以下の情報を入力します。
項目 | 設定内容 |
---|---|
題名(任意) | つけたい名前 |
ホスト | ラズパイの Tailscale IP(例:100.105.x.x) ifconfigで確認可能 |
ポート番号 |
22 (変更していなければ) |
ログイン | OpenMediaVaultのユーザー名 |
パスワード | 上記ユーザーのパスワード |
ログインパス | /srv フォルダを開いたとき一番最初に開く場所※環境によって異なります。
|
入力が終わったら保存します。
するとラズパイ内のファイルにアクセスできるようになります。
/srv
の直下が表示されていると思いますが、その中のdev-disk-by-uuid-XXXX
を開くと、作成した共有フォルダが開けます。
ここまででVPNを通じての接続は完了です。
プラスα 共有フォルダの設定
共有フォルダを設定しておくと、指定したフォルダーをiPhone内にローカルとして保存するので、VPNから切断してもVPN切断直前までにアップロードされていたファイルにアクセスすることができます。
逆に、共有フォルダに後でNASにアップロードしたいファイルなどをまとめておいてからVPNをONにすることで、自動的に同期が行われます。
今回はiPhone専用の共有ファイルが欲しかったので、iPhone Shere
というファイルを/Shere
直下に作りました
共有フォルダに設定したいファイルの下の⋯
を押して、同期
を押します。
するとDocumentsのマイファイルの欄に同期フォルダ
というものが作成されます。
その中に設定したフォルダが表示されていると思います。
VPN接続時に自動同期が行われますのでとても便利です。
おわりに
これで手のひらサイズのNASが完成しました。
初ラズパイでしたが、Linuxベースだったのでとても作業が行いやすい印象をうけました。
次回の+α編ではクラウドなどの連携などを行ってみたいと思います。
Discussion