はじめに
Raspberry Pi 5 を使って、RAID 1(ミラーリング)を構築し、Samba でファイル共有できる NAS を作成 しました。さらに、Tailscale を使って外出先からも安全にアクセス可能 にしました。
本記事では ローカルと外部(VPN)からアクセスできる NAS のセットアップ方法 をわかりやすく解説します。
使用した機器
🖥 ハードウェア
- Raspberry Pi 5(8GB モデル)
- microSDカード(最低 16GB 以上、Ubuntu をインストール)
- USB接続のHDD / SSD ×2(RAID 1 構築用)
- USB 3.0 対応のHDDケース または SATA-USBアダプター
- 有線LAN接続(Wi-Fi でも可だが安定性のため有線推奨)
⚙️ ソフトウェア
- Ubuntu Server 22.04 LTS(64-bit)
- mdadm(RAID 1 構築用)
- Samba(ファイル共有)
- Tailscale(VPN 接続用)
📌 ① Raspberry Pi 5 に Ubuntu 22.04 をインストール
1. Ubuntu のダウンロード
- Ubuntu 公式サイト から Ubuntu Server 22.04 LTS (64-bit) をダウンロード
2. Raspberry Pi Imager で書き込み
-
Raspberry Pi Imager
をダウンロード&インストール - OS に
ubuntu-22.04-server-arm64.img
を選択 - microSD または SSD に書き込み
3. 初回ログインとパスワード変更
- Raspberry Pi に microSD / SSD をセットし、電源 ON
- HDMI + キーボードを接続し、以下のデフォルト情報でログイン
ユーザー名: ubuntu パスワード: ubuntu
- 初回ログイン時にパスワードを変更
📌 ② SSH の有効化(リモート接続を可能にする)
Raspberry Pi をリモートから操作できるようにするために、まず SSH(Secure Shell)を有効化します。これにより、毎回モニターやキーボードを接続しなくても、他の PC から接続して作業ができるようになります。
1. SSH サーバーをインストール
sudo apt update
sudo apt install -y openssh-server
2. SSH を有効化して起動
sudo systemctl enable ssh
sudo systemctl start ssh
3. 接続テスト(別の端末から)
Raspberry Pi の IP アドレスが分かっている場合は、以下のようにして接続できます:
ssh ubuntu@<RaspberryPiのIPアドレス>
📌 ③ ローカル IP アドレスの固定
NAS を安定運用するためには、Raspberry Pi の IP アドレスを固定することが重要です。デフォルトでは DHCP により起動ごとに IP アドレスが変わる可能性があるため、IP を手動で設定しましょう。
1. 現在の IP アドレスを確認
ip a
出力例:
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500
inet 192.168.1.150/24 brd 192.168.1.255 scope global dynamic eth0
ここでは inet
の後ろの 192.168.1.150/24
が現在の IP です。
2. ルーターのゲートウェイ(デフォルトルート)を確認
ip r | grep default
出力例:
default via 192.168.1.1 dev eth0 proto dhcp metric 100
ここで 192.168.1.1
がゲートウェイのアドレスです。
3. ネットワーク設定ファイルを編集
sudo nano /etc/netplan/99-manual.yaml
以下のように編集します(例:192.168.1.100
に固定):
network:
ethernets:
eth0:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses:
- 8.8.8.8
- 1.1.1.1
version: 2
4. 設定を適用
sudo netplan apply
5. 固定 IP が設定されたか確認
ip a | grep inet
✅ 192.168.1.100
が表示されていれば設定完了!
6. 他の端末から SSH 接続(確認)
ssh ubuntu@192.168.1.100
✅ 補足
- IP アドレスは ルーターの DHCP 範囲と重複しないように設定してください。
- 固定 IP をルーター側で設定する(DHCP 予約)という方法もありますが、今回は Raspberry Pi 側で設定する方法を紹介しています。
📌 ④ RAID 1(ミラーリング)の構築
1. RAID 構築用の mdadm
をインストール
sudo apt install -y mdadm
2. RAID 1 を作成(HDD 2台: /dev/sda
/dev/sdb
)
sudo mdadm --create --verbose /dev/md0 --level=1 --raid-devices=2 /dev/sda /dev/sdb
3. ファイルシステムを作成 & マウント
sudo mkfs.ext4 /dev/md0
sudo mkdir -p /mnt/nas
sudo mount /dev/md0 /mnt/nas
4. 再起動後も自動マウントを設定
UUID を確認:
sudo blkid /dev/md0
出力された UUID を /etc/fstab
に追加:
sudo nano /etc/fstab
UUID=xxxxxx /mnt/nas ext4 defaults,nofail,discard 0 2
適用:
sudo mount -a
📌 ⑤ Samba の設定(NAS 構築)
1. Samba をインストール
sudo apt install -y samba
2. Samba の設定を変更
sudo nano /etc/samba/smb.conf
末尾に追加:
[NAS]
path = /mnt/nas
browseable = yes
writable = yes
guest ok = no
valid users = ubuntu
Samba を再起動:
sudo systemctl restart smbd
3. Samba ユーザーを作成
sudo smbpasswd -a ubuntu
4. Windows / Mac / iPhone から接続
-
Windows:
\\192.168.1.100\NAS
-
Mac / iPhone:
smb://192.168.1.100/NAS
📌 ⑥ Tailscale を使った外部アクセス設定(VPN)
外出先からも NAS に安全にアクセスできるよう、Tailscale を使って VPN を構築します。Tailscale は設定が簡単で、NAT やポート開放なしでセキュアな通信が可能です。
1. Tailscale のインストール
curl -fsSL https://tailscale.com/install.sh | sh
2. Tailscale にログインして接続
sudo tailscale up
このとき、URL が表示されるので、ブラウザでアクセスして Google / GitHub などでログインすれば OK。
3. Tailscale IP アドレスの確認
tailscale ip -4
例: 100.101.102.103
のような IP が割り当てられます。
4. 外部からアクセス
外出先の PC やスマホにも Tailscale をインストールし、同じアカウントでログインすると、自宅 NAS に VPN 経由でアクセスできます。
-
Windows/Mac:
\\100.101.102.103\NAS
-
Mac/iPhone:
smb://100.101.102.103/NAS
📌 ⑦ 動作確認と便利な使い方
✅ RAID 状態の確認
cat /proc/mdstat
✅ Samba 接続確認(Windows)
- エクスプローラーのアドレスバーに
\\192.168.1.100\NAS
を入力
✅ Tailscale 経由の接続確認
外出先から NAS に接続できるか確認しましょう。接続できない場合は、Samba のファイアウォールや Tailscale の ACL 設定を見直します。
📌 ⑧ まとめ
この記事では、以下のように Raspberry Pi を使った NAS を構築しました:
- RAID 1 によるデータの安全性確保
- Samba による家庭内ファイル共有
- Tailscale による外部アクセス対応
小型で省電力な Raspberry Pi でも、ちょっとした工夫と設定で立派な NAS が完成します。自宅サーバーの第一歩として、ぜひチャレンジしてみてください!