先日Taildropを紹介しましたが、Tailscaleには似たような機能としてTaildriveがあります。こちらは、一言で言えば「Tailscaleネットワーク(Tailnet)内で、自分のPCのフォルダを『ネットワークドライブ』として他端末に共有できる機能」です。Taildropが「ファイルを送る」機能なのに対し、Taildriveは「離れた場所にあるフォルダを、まるで自分のPC内にあるかのように直接覗く・編集する」機能です。
Taildriveの機能
Taildriveで出来る事はおもに次の3つですね。
- ネットワーク共有: 自分のUbuntu上の特定のフォルダ(例:
~/Public)を、Tailscale上の他のスマホやPCからマウント(接続)できます。 - 直接編集: ファイルを転送することなく、リモートから直接書き換えたり、動画をストリーミング再生したりできます。
- OS標準の操作: Windowsの「エクスプローラー」やMacの「ファインダー」から、ネットワークドライブとして普通に操作できます。
Taildropとの違い
Taildropとの違いを簡単にまとめると次のようになります。
| 機能 | 操作感 | 向いている用途 |
|---|---|---|
| Taildrop | 転送 | 単発の写真やドキュメントの送受信 |
| Taildrive | フォルダを繋ぐ(共有) | 大量のデータ管理、リモート作業 |
Sambaとの違い
Sambaと比較した際のメリット・デメリットを簡潔にまとめます。
Sambaより優れている点
- 設定が圧倒的に楽: 複雑な設定ファイル(
smb.conf)の編集や、ルーターのポート開放、ファイアウォールの穴あけが一切不要です。 - どこでも繋がる: 外出先のカフェやスマホの回線からでも、VPNを意識せずに自宅のフォルダにアクセスできます。
- セキュリティ: Tailscaleの暗号化通信(WireGuard)に乗るため、Sambaを直接インターネットに公開するようなリスクがありません。
Sambaに劣る点
- 速度: 常に暗号化されるため、同一LAN内(同じ家の中)での大容量転送は、生粋のSamba(非暗号化)より少し遅くなる場合があります。
- 導入の手間: アクセスする側のデバイスすべてにTailscaleアプリが入っている必要があります(SambaはOS標準機能だけで繋げることが多い)。
- ベータ版: まだ機能として新しいため、Sambaほどの枯れた安定性や、詳細すぎる権限設定(ユーザーごとの細かなフォルダ制限など)は不得意です。
結論
- 家の中だけで爆速で使いたいなら:Samba
- 設定が面倒・外出先からも使いたいなら:Taildrive
といった形でしょうか。個人的には枯れた技術であるSambaを利用したほうが良いと思いますが。
ここからは、Taildriveを使用する方法を紹介します。
Tailscaleの管理コンソールでTaildriveを有効化
まずはTailscale管理コンソールのAccess controlsページを開きます。
Access Controlメニューを開き、以下のコードを nodeAttrs セクションに追加して保存します。
"nodeAttrs": [
{
"target": ["autogroup:member"],
"attr": ["drive:share", "drive:access"]
}
]
これにより、ネットワーク内の全デバイスで共有機能が有効になります。
ビジュアルエディタで設定
ビジュアルエディタで行ったほうが失敗がなくて良いでしょう。

- Tailscale管理コンソール → Access controls を開く。
- 「Node attributes」タブを選択。
- 「Add node attribute」ボタンを押す。
- フォームで以下を設定:
- Targets:対象デバイス(例:
autogroup:memberや*など) - Attributes:ここに
drive:shareとdrive:accessを選択
(例: 誰でもアクセスさせたい場合は両方、共有だけ制限したい場合は分けてもOK) - (任意)Note:メモを書いておくと後でわかりやすい
- IP Pools:Taildriveでは通常不要
- Targets:対象デバイス(例:
- 右側の「JSON preview」で確認(自動でnodeAttrsの形になります)。
- 「Save node attribute」を押して保存。

書き込み可能(rw)にするためにポリシーを設定
書き込み許可はgrantsセクションで別途指定が必要です。
"grants": [
{
"src": ["*"], // または "autogroup:member" など
"dst": ["*"],
"app": {
"tailscale.com/cap/drive": [
{
"shares": ["*"], // すべての共有フォルダ対象
"access": "rw" // ← これで書き込み可能!
}
]
}
}
]
- 自分だけrw、他はroにしたい場合はsrcやsharesを細かく指定してください。
- 保存後、Save → 数秒待ってからクライアント側で再接続。
ビジュアルエディタで設定する
こちらもビジュアルエディタで設定出来ます。
- 「General access rules」タブを選択
- 「Add rule」ボタンを押す(既存のルールは触りません)。
- 新しいルールで以下を設定:
- Source: *(または autogroup:member など)
- Destination: *
- Port and protocol: そのまま(All ports)
- Advanced options を開く
- App capabilities で:
- Capability:
tailscale.com/cap/drive - 配列に追加:
- Capability:
{
"shares": ["*"],
"access": "rw"
}
右側のJSON preview で確認すると、grants配列に2つ目のオブジェクトが追加されます。問題なければ保存します。
{
"src": ["*"],
"dst": ["*"],
"ip": ["*"],
"app": {
"tailscale.com/cap/drive": [
{
"access": "rw",
"shares": ["*"],
},
],
},
}

対象フォルダの準備
共有するフォルダを作成して書き込み可能にします。
# ディレクトリ作成(存在しなければ)
sudo mkdir -p /opt/lxd-data/taildrive
# 権限設定(rootでTaildriveサーバーが動くのでこれで十分)
sudo chown -R root:root /opt/lxd-data/taildrive
sudo chmod -R 775 /opt/lxd-data/taildrive # 必要に応じて777にしてもOK
フォルダを共有する
Tailscaleが起動している状態で実行します。
# 共有名「taildrive」で共有(共有名は自由に付けられます)
sudo tailscale drive share taildrive /opt/lxd-data/taildrive
確認コマンド。
# 現在共有中のフォルダ一覧
tailscale drive list
解除したい場合。
sudo tailscale drive unshare taildrive
他の端末からアクセスする
iPhone / Android の場合
- Tailscaleアプリを開き、自分のUbuntuマシンを選択します。
- 「Browse Files」(または「Taildrive」)という項目をタップすると、中のファイルが見えます。
Windows の場合
- エクスプローラーのアドレスバーに以下を入力してエンター。
\\100.100.100.100(またはマシンのTailscale IP) - 共有フォルダが表示されます。
Mac の場合
- Finderで
Cmd + K(サーバへ接続)を押します。 http://100.100.100.100:8080を入力して接続します。
もし同じフォルダを Samba でも共有している場合、ポートや権限設定が複雑になることがあります。まずはTailscale単体で動作確認することをおすすめします。


