NASを外から見る方法が分からなかった。純正のリモートアクセスをやめてTailscaleを入れるまで
NASを買って、家の中で使えるようになって、次にぶつかったのがこれでした。
外出先から、どうやって中を見るんだろう。
家にいる間は何も考えずにつながります。ところが一歩外に出た瞬間、NASは急に手の届かない箱になります。
説明書を見ると純正のリモートアクセス機能が付いていて、オンにすれば数分で解決すると書いてある。
それなのに、私はそこで一度手が止まりました。
先に書いておくと、私はネットワークの専門家ではありません。本業は全然違う分野で、
この手のことは毎回、調べながら手を動かしている側の人間です。
なので、この記事は「詳しい人が正解を教える記事」ではありません。
純正の機能を使うのが何となく引っかかって、調べて、Tailscaleというものを入れて、
今のところ困っていない——という、その過程の記録です。
分からなかったこと、いまだに理解できていないことも、そのまま書きます。
同じところで止まっている人が、「自分はどっちを選ぶか」を決められる状態になれば十分です。
やりたかったのは「外から自宅の環境に入る」こと
うちにはNASが1台あって、その中で仮想マシンとしてUbuntuを動かしています。
普段いじっているものはこのUbuntuの中にあるので、外出先ではノートPCからそこに入って続きをやりたい、という話です。
このUbuntuにAI(Claude Code・Codex)を置いて、スマホからも同じ作業の続きができるようにした話はこちらの記事に書きました。
やりたかったのは、これだけです。
- 外出先の端末から、自宅の中にいるときと同じようにアクセスできること
そのうえで、やりたくないなと思ったことが二つありました。
- ルーターのポートを開けて、自宅の機器をインターネットに直接晒すこと
- 自分が中身を分かっていないサービスを、ずっと経路に挟むこと
前者は、素人の私でも危ないと分かります。悩んだのは後者です。
純正のリモートアクセスが、なんとなく引っかかった
うちのNASにも純正のリモートアクセス機能(UGREENlink)が付いています。
オンにすると https://ug.link/<ID> というメーカー側のURLでNASに届くようになって、
そこでメーカーのクラウドアカウントにログインする形です。ポート開放も、固定IPも要りません。
便利です。実際、これで済むならそれが一番早い。
ただ、素人なりに考えて引っかかったのがここでした。
ポートも開けていない、固定IPも持っていない。それなのに外からつながる。
ということは、どこかでメーカー側のサービスが仲介してくれているはずです。そうでないと届きようがない。
正直に書きます。「常にメーカーのサーバーが通信を中継しているのか、
それとも最初のつなぎだけ手伝って後は端末同士が直接やり取りするのか」は、
公式のガイドを読んでも分かりませんでした。
なので私は「全部の通信がメーカーのサーバーを通っている」とは書きません。分からない、が正確なところです。
そして引っかかったのは、まさにその分からないでした。
- 家族の写真も、仕事に近いデータも入っている箱である
- その入口を、自分が説明できないサービスに常時預けることになる
- メーカーが悪いという話ではなくて、自分が分かっていない状態のまま使い続けるのが落ち着かない
理屈より気分の問題かもしれません。
ただ、何を誰に預けているのかを自分の言葉で説明できるかを基準にしたら、私の場合は別の道を探すことになりました。
念のため書いておくと、NASが初めてなら純正機能で全然いいと思います。
私も、これを調べる時間が無ければそうしていました。
結局こうなりました
外出先のノートPC / スマホ
│ Tailscale(VPN)
│ ※ ポート開放なし・固定IPなし
▼
自宅のUbuntu(NASの中で動いている仮想マシン)
│
▼
NASのデータ
大事なのは、自宅側をインターネットに公開していないことです。
「外から見えるようにする」のではなくて、自分の端末だけが通れる道が引かれる、という感覚に近いです。
Tailscaleを入れると、それぞれの端末に 100. で始まるIPアドレスが割り当てられます。
このIPは自分の輪の中でだけ意味を持つもので、外の人からは見えません。
Tailscaleが何をしているのか(私が理解できた範囲で)
ここは、分かる範囲で書きます。細かいところは正直あやしいです。
- 通信の暗号化そのものは WireGuard という仕組みがやっている
- 秘密の鍵は、それを作った端末から外に出ない
- Tailscale社のサーバーがやっているのは、「この人とこの人をつなぎます」という取り次ぎ。
電話の交換手のようなものだと理解しました
- 端末同士が直接つながれない回線のときだけ、DERPという中継サーバーを経由する
- その中継も、暗号化されたままの荷物をそのまま横に流すだけで、中身は開けられない
つまり「誰と誰をつなぐか」の取り次ぎはしているけれど、荷物の中は開けられない設計、
というのが私の理解です。ここは公式のドキュメントにはっきり書いてありました。
正直に言うと、DERPが実際どうやって動いているのかは、雰囲気しか分かっていません。
それでも「中継されても中身は読まれない」という一点は、繰り返し明記されていたので、そこは信じています。
「Tailscaleは安全」で終わらせたくなかった
ここが、この記事で一番書きたかったところです。
私は最初、「他社のサーバーを通らないから安全なんだな」と理解していました。
調べ直したら、それは正確ではありませんでした。私の勘違いです。
通信の中身は渡っていない
これはさっきの通りで、鍵の作りからして読めないようになっています。ここは安心していい部分でした。
でも、メタデータは渡っている
一方で、こういう情報はTailscale社の側にあります。
- どの端末とどの端末がつながっているか
- それぞれの端末のグローバルIPアドレス
- 自分のネットワークがどういう構成になっているか
中身は見えないけれど、「誰と誰がいつつながったか」は見えているということです。
私はここを分かっていませんでした。
偽物を混ぜられない保証は、自分では取っていない
もう一つ。Tailnet Lock という機能を有効にしない限り、
「取り次ぎ役のサーバーが偽の端末を紛れ込ませたりしない」ことは信頼する前提になっています。
理屈のうえでは、そこに割り込む余地があるという話です。
うちの環境で確認したら、このTailnet Lockは有効になっていませんでした。
つまり私は、その部分は信頼して使っている側です。名前を知ったのも、この記事を書くために調べている途中でした。
だから、私の言い方はこうなりました
「どこも信用しない構成にした」のではなくて、「信用する範囲が、荷物の中身から“誰と誰がつながったか”まで狭くなった」。
私にはこの差で十分でした。
逆に「他社を1ミリも通したくない」という人だと、Tailscaleでも条件を満たしていないことになります。
その場合は自分でVPNサーバーを立てる話になるはずですが、私にはそこまでの手間を続ける自信がなかったので選びませんでした。
それと、素人なりに一番現実的だと思ったリスクはこれです。
Tailscaleへのログインに使っているアカウント(私の場合はSNSやメールのアカウント)を乗っ取られたら、
自宅への入口をそのまま渡すことになります。暗号がどうこうより、こっちのほうがよほど身近な穴です。
二段階認証だけは必ずかけてください。
入れる手順(拍子抜けするほど簡単でした)
身構えていたわりに、作業そのものは呆気なく終わりました。
1. アカウントを作る
Tailscaleのサイトでアカウントを作ります。GoogleやGitHubのアカウントでログインする形です。
個人向けの Personal プランは無料で、公式の料金ページを見ると
6ユーザーまで、その人の端末は台数無制限、非商用に限るという条件でした。家庭で使うぶんには余裕です。
ここで一つ引っかかった点があります。解説記事には「3ユーザー・100台まで」と書いてあるものが今もたくさん残っていて、
私も最初はそれを信じていました。公式ページの今の記載とは違っていました。
この手の条件は変わるので、面倒でも公式の料金ページを見てください。
2. 自宅側のUbuntuに入れる
公式に書いてあるコマンドを、そのまま打つだけです。
curl -fsSL https://tailscale.com/install.sh | sh
これでaptの登録も一緒にやってくれます。うちの環境では、こうなっていました。
/etc/apt/sources.list.d/tailscale.list
deb [signed-by=/usr/share/keyrings/tailscale-archive-keyring.gpg] https://pkgs.tailscale.com/stable/ubuntu noble main
以降は apt upgrade のときに一緒に新しくなります。続けて起動します。
sudo tailscale up
すると認証用のURLが出るので、ブラウザで開いてログインすれば、その端末が仲間入りします。本当にこれだけでした。
ちゃんと入ったかどうかは、この二つで確認できます。
tailscale status
tailscale ip -4
tailscale status を打つと、参加している端末が一覧で出ます。
うちはLinux・Windows・Mac・iPhoneが混ざっていますが、OSが違っても扱いは同じでした。ここは楽です。
3. 持ち歩く端末に入れる
ノートPCとスマホにもアプリを入れて、同じアカウントでログインするだけです。設定項目はありません。
ポート開放もDDNSも、結局一度も触っていません。
4. IPではなく名前で呼べるようにする
MagicDNSという機能を有効にすると、100.x.x.x を覚えなくても、端末の名前で呼べるようになります。
ssh ユーザー名@ホスト名.tailXXXXXX.ts.net
数字を覚えるのが苦手なので、これは有効にしておいてよかったです。
入れたあとに知った、つまずきポイント
ここからは、使い始めてから知った話です。先に知っていれば慌てずに済みました。
180日でつながらなくなることがある
Tailscaleの端末ごとの鍵には、既定で180日の有効期限があります。期限が切れると、その端末の接続は止まります。
これは怖いです。外から自宅に入るための機械が、自分が外にいる間に期限切れになるのが一番まずいパターンだからです。
家に置きっぱなしのサーバー用の機械については、管理画面の Machines から対象を選んで
Disable Key Expiry(有効期限を無効化)にしておきます。
うちのUbuntuを確認したら、有効期限は無効になっている状態でした。
ただ、これは定期的に認証をやり直すという安全装置を自分で外しているということでもあります。
持ち歩くノートPCやスマホまで無効にするのはやりすぎだと思っていて、
うちでは家に据え置く機械だけにとどめています。
直接つながらないときは中継されている
端末同士が直接つながれない回線のときは、通信が中継サーバー経由になります。
暗号化されたままなので中身は守られますが、経路が遠回りになるぶん速度は落ちるとされています。
tailscale status の表示を見ると、直接つながっていれば direct、
中継されていれば relay "tok" のように出ます。うちの表示では東京の中継が割り当たっていました。
もし「なんだか遅いな」と思ったときは、回線を疑う前にここを見る。私はこれを知らなかったので、書いておきます。
起動の順番で失敗する
自宅側でNASの共有フォルダを自動的にマウントしていると、
Tailscaleが立ち上がる前にマウントしにいって失敗する、ということが起きます。
/etc/fstab に _netdev を付けて、ネットワークの準備ができてからマウントさせる必要がありました。
このあたりで実際にハマった話は、長くなるので別の記事にします。
家族のスマホは「招待」で入れました
うちは家族のスマホもこの輪に入れていて、外出先からでも自宅に写真を戻せるようにしています。
このとき、家族の端末に自分のアカウントでログインさせるのはやめました。
代わりに、管理画面から別のユーザーとして招待して、家族自身のアカウントで入ってもらっています。
地味ですが、あとになって効いてくる違いだと思っています。
- 自分のログイン情報を、家族の端末に置かずに済む
- 誰のどの端末が入っているのか、管理画面の一覧で分かる
- やめるとき(機種変更のときも含めて)は、その招待を消すだけで済む
家族と何かを共有するときは、始め方より、やめ方を先に決めておくほうが気が楽です。
ここまでは「外から自宅に入る」話でしたが、家の中の速度でも一度つまずいています。NASへの転送が100MB/sしか出ず、原因が1Gのハブだった話はこちらです。
NASが遅いと思ったら、犯人はハブだった。10G LANにして1GB/s出たのは最初の2秒だけ
まとめ
- NASを外から見る方法は一つではありません。純正のリモートアクセスは手軽なので、
初めてならそれで十分だと思います
- ただ、ポートも固定IPも無しでつながる以上、メーカー側のサービスが仲介に入っているのは確かです。
その中身が公開されていないことが気になるなら、別の選択肢を調べる価値はあります
- Tailscaleも「どこも信用しない」仕組みではありませんでした。荷物の中身は渡らないけれど、
誰と誰がつながったかは渡るし、取り次ぎ役のサーバーは信頼して使っています。
信用する範囲が狭くなるだけ、というのが調べた結果です
- 導入自体は、コマンドを2つ打つだけでした。難しいのは手順ではなく、どこまで納得して使うかを決める部分でした
- 入れたあとは、180日で鍵が切れることと、直接つながらないときは中継されることの二つを知っておくと慌てません
- 家族の端末は招待で入れる。やめるときに一発で切れる形にしておくと安心です
これから試す人には、まずスマホに入れて、家のパソコン1台に入れて、
つながるところまでを一晩でやってみるのをおすすめします。
そこまで動いてしまえば、あとは同じ作業を繰り返すだけでした。私でもできたので、たぶん大丈夫です。
ちなみに、ここまで出てきた自宅の回線は光ではなくStarlinkです。光回線がエリア外だった話と、3年半使ってどうだったかは光回線が来ない土地に家を建てて、Starlinkで3年半暮らした記録に書きました。
