−25%

Windows 年払い、10月31日まで。 プランを見る

EQVPS

Headscale 向け VPS:セルフホストの Tailscale 制御サーバー

小さな VPS で Headscale を動かし、メッシュ VPN の調整サーバーを自分の管理下に。インストール、最初のユーザー、デバイスの接続、そして制約。

メッシュ VPN は、静かにすべてを楽にしてくれる道具の一つです。ノート PC、自宅サーバー、スマートフォン、VPS が、どこにあってもプライベートアドレスで互いに見えるようになります。ホスト型メッシュ VPN の難点は調整サーバーで、ある企業があなたの持つすべてのデバイスの地図を握っています。Headscale はその制御サーバーのオープンソース代替です。小さな VPS で動かし、通常のクライアントアプリを使い続ければ、地図はあなたのものになります。

全体の組み立て

この最後の点が、ごく小さなプランで足りる理由です。VPS が応答するのは小さな調整リクエストだけです。

必要なもの

インストール(Debian 12 / Ubuntu 24.04)

GitHub の Headscale リリースページから最新の .deb を取得します。バージョンは最新のものに置き換えてください。

HS_VER=0.26.1
wget -O headscale.deb \
  "https://github.com/juanfont/headscale/releases/download/v${HS_VER}/headscale_${HS_VER}_linux_amd64.deb"
apt install -y ./headscale.deb caddy

/etc/headscale/config.yaml を編集します。重要なのは次の 2 行です。

server_url: https://hs.example.com
listen_addr: 127.0.0.1:8080

HTTPS のために前段に Caddy を置きます。

cat > /etc/caddy/Caddyfile <<'EOF'
hs.example.com {
    reverse_proxy 127.0.0.1:8080
}
EOF
systemctl enable --now headscale
systemctl reload caddy

ユーザーとデバイスを追加する

headscale users create alice
headscale users list            # note the user's ID
headscale preauthkeys create --user 1 --expiration 24h

古いリリースでは --user に ID ではなくユーザー名を指定します。headscale preauthkeys create --help で、お使いのバージョンが何を求めているか確認できます。

Linux デバイスでは次のとおりです。

tailscale up --login-server https://hs.example.com --authkey YOUR_KEY

スマートフォンやデスクトップでは、Tailscale アプリの設定でカスタムの制御サーバーを指定できます。VPS で headscale nodes list を実行すれば、デバイスが表示されるはずです。

リレーと NAT 越え

ほとんどのデバイスは直接つながります。2 台がつながれないとき(厳しいモバイル回線、二重 NAT)は、通信が DERP リレーを経由します。初期状態の Headscale は Tailscale の公開リレーを使い、そこで見えるのは暗号化されたパケットだけです。経路上に外部のものを一切置きたくなければ、config.yaml で内蔵リレーを有効にし(derp.server.enabled: true)、UDP 3478 を開けてください。中継トラフィックは VPS の帯域にカウントされます。

正直な制約

公式の Web ダッシュボードはありません。ユーザー、鍵、ルートはすべて CLI コマンドです(2 回やれば慣れます)。ホスト型サービスの新機能が Headscale に来るのは遅れてから、来るとしてもです。そして制御サーバーはあなたの責任になります。停止しても既存の接続は動き続けますが、新しいデバイスは参加できず、鍵も更新できません。バックアップを取りましょう。状態はすべて /var/lib/headscale にあります。

ホームラボ、家族、あるいはデバイスの地図を第三者のサーバーから引き上げたい小さなチームにとって、$8 の VPS の最良の使い道の一つです。

関連

デプロイの準備はできましたか?暗号通貨で支払い、KYC不要 — 約1分でオンライン。

今すぐデプロイ →

FAQ

Headscale サーバーには実際に何が見えますか?

メタデータです。どのデバイスが存在するか、その公開鍵、アドレス、最後にオンラインだった時刻。通信そのものは WireGuard でデバイス間を直接流れ(互いに到達できない場合はリレー経由)、エンドツーエンドで暗号化されます。セルフホストとは、そのメタデータが他人ではなく自分のサーバーにあるということです。

特別なクライアントが必要ですか?

いいえ。Linux、macOS、Windows、iOS、Android で通常の Tailscale アプリを使い、接続先をあなたのサーバーの URL にするだけです。Linux ならフラグ一つ、--login-server です。

どのプランで足りますか?

Headscale はとても軽量で、Nano-IP(月額 $8)なら家族や小さなチームを余裕でまかなえます。デバイスが HTTPS で制御サーバーに到達する必要があるため、専用 IP が必要です。NAT プランは 443 番の受信を受け付けません。

2 台のデバイスが直接つながれない場合は?

リレー(DERP)にフォールバックします。デフォルトでは Headscale は Tailscale の公開リレーを使い、そこで見えるのは暗号化されたパケットだけです。代わりに Headscale 内蔵のリレーを有効にすることもできます。その場合は UDP 3478 を開く必要があり、中継トラフィックに VPS の帯域を使います。

ホスト型の Tailscale サービスと比べて何が足りませんか?

公式の Web 管理パネルはありません。ユーザーと鍵はコマンドラインで管理します(コミュニティ製の UI はあります)。ホスト型サービスの新機能の一部は、Headscale に遅れて来るか、まったく来ません。個人や小規模チームのネットワークなら、中核機能(メッシュ、ACL、MagicDNS、exit node)は問題なく動きます。

コメント

まだコメントはありません。最初になりましょう。

コメントを残す

コメントは表示される前にモデレートされます。