Linux の端末をコマンド 1 行で入れる・外す

この手順は 2026年10月の画面です。画面が変わっている場合は、ダッシュボードの表示を優先してください。

HomeGrid VPN では、Linux の機械(サーバー・ミニ PC など)を、ダッシュボードの「Linux(コマンド)」で発行したコマンド 1 行で Spoke(接続する側の端末)として VPN に入れられます。既定は外向きの通信も自宅から出るフルトンネルで、--split を付けると自宅の LAN とテナントの範囲だけを VPN に通します。外すときは sudo /usr/local/sbin/homegrid-spoke --uninstall を実行し、ダッシュボードの「登録済みデバイス」から端末を削除します。

このガイドは、Linux の機械を 1 台の端末として VPN につなぐ方法です。LAN 全体を VPN に取り込む「拠点LAN(VPC)を追加」(Platinum の Linux ゲートウェイ)とは別のものです。そちらは「自宅と事務所のLANをつなぐには? HomeGrid VPNの追加手順とメッシュVPNとの違い」をご覧ください。

始める前に

  • 対象は apt / dnf の Linux(Debian・Ubuntu・RHEL 系)で、systemd が要ります。
  • メモリは 1 GB 以上を推奨します(512 MB ではパッケージの導入がメモリ不足で止まることがあります)。
  • root の権限(sudo)で実行します。
  • Grid がつながっていて、「Spoke を追加する」の枠に空きがあることを確かめます(「自分の端末を登録する」の「始める前に」と同じです)。
  • 足りないパッケージ(wireguard-tools・jq、フルトンネルでは必要なときだけ nftables)は、コマンドが自動で入れます。

フルトンネルと --split の違い

フルトンネル(既定)と --split の違い 既定のフルトンネルでは、自宅の LAN への通信もインターネットへの通信も VPN を通り、外向きは自宅から出る。--split では、自宅の LAN とテナントの範囲だけが VPN を通り、インターネットへの通信は今の回線から出る。 既定(フルトンネル) Linux の機械 自宅(Grid) VPN を通る インターネット 自宅の LAN --split Linux の機械 自宅(Grid) VPN を通る 自宅の LAN インターネット 今の回線のまま
既定は外向きの通信も自宅から出る。--split は自宅の LAN とテナントの範囲だけを VPN に通す
既定(フルトンネル) --split
VPN を通る通信 すべての IPv4 の通信 テナントの範囲と自宅の LAN だけ
インターネットへの出口 自宅(出口の Grid) 今の回線のまま
SSH でつないだまま実行 実行中の SSH の接続元だけをトンネルの外へ出す(--no-ssh-guard で外す) 外向きは今の回線のままなので、設定は入れない
自宅の LAN の範囲の取り直し 要らない --refresh-routes で取り直す
  • キルスイッチはありません。 トンネルが落ちると、通信は今の回線へ出ます。
  • IPv6 はトンネルに入りません(IPv4 だけ)。

手順 1:ダッシュボードでコマンドを発行する

  1. ダッシュボードの「Spoke を追加する」の枠で、「+ Spoke を追加 (QR コード)」を押します。「Spoke を追加」の画面が開きます。

  2. 「デバイス名(例: iphone-15-pro)」の欄に、端末の名前を入れます。名前は英小文字・数字・ハイフンで付けます(例: home-server)。

  3. 「Linux(コマンド)」を押します。「Linux に入れるコマンド」の画面に、「既定(フル)」と「分割(--split)」の 2 つのコマンドが表示されます。

    「Linux に入れるコマンド」の画面。既定(フル)と分割(--split)のコマンドが、トークンを伏せ字にして表示されている

  4. 使う方の行の「Copy」を押します。トークンを含むコマンドがコピーされます。

コピーしたコマンドはトークンを含みます。他人に渡さないでください。トークンは 1 回限りで、24 時間で使えなくなります。画面のコマンドはトークンが伏せ字になっているので、手で写さず、必ず「Copy」でコピーしてください。

手順 2:Linux の機械で実行する

コピーしたコマンドを、入れたい Linux の機械で実行します。コマンドは次の形です。

# 既定(フルトンネル)
curl -fsSL "https://api.homegrid-vpn.com/setup?token=<トークン>" | sudo sh

# --split(自宅の LAN とテナントの範囲だけ)
curl -fsSL "https://api.homegrid-vpn.com/setup?token=<トークン>" | sudo sh -s -- --split

フルトンネルで、SSH の接続元をトンネルの外へ出す設定を入れたくないときは、末尾に -s -- --no-ssh-guard を付けます(SSH でつないでいると、接続が切れることがあります)。

curl -fsSL "https://api.homegrid-vpn.com/setup?token=<トークン>" | sudo sh -s -- --no-ssh-guard

終わると「セットアップ完了: モード=…・VPN アドレス = …」と表示されます。入れたものは、機械を再起動しても自動でつながります。

使い方だけを見たいときは、トークンの無い URL に --help を付けて実行します。ダッシュボードで発行したコマンドの末尾に -s -- --help を付けたときも、トークンは使われません(同じトークンでこのあと実行できます)。

curl -fsSL "https://api.homegrid-vpn.com/setup" | sh -s -- --help

入った後に確かめる

  • ダッシュボードの「登録済みデバイス」に、付けた名前が表示されます。

  • Linux の機械で、トンネルが動いていることを確かめます。

    sudo wg show wg0
    systemctl is-active wg-quick@wg0
    

    wg show の「latest handshake」に時刻が出ていれば、VPN につながっています。

自宅の LAN の範囲を取り直す(--split で入れたとき)

--split で入れたときは、入れた時点の自宅の LAN の範囲だけを VPN に通します。あとで自宅の LAN が増えたり変わったりしたとき、または入れるときに範囲を取れなかったとき(「テナントの範囲だけで続けます」と表示されたとき)は、次のコマンドで取り直します。

sudo /usr/local/sbin/homegrid-spoke --refresh-routes
  • 「自宅の LAN の範囲を取り直しました」と表示されれば完了です。
  • この機械が今いる LAN と同じ範囲は、VPN に入れません(手元の LAN を優先します)。
  • フルトンネルで入れたときは要りません(実行すると「--split で入れたときだけ使えます」と出て止まります)。

RHEL 系の sudo は /usr/local/sbin を探さないため、homegrid-spoke は必ずフルパス(/usr/local/sbin/homegrid-spoke)で実行します。

外す

  1. Linux の機械で、次のコマンドを実行します。

    sudo /usr/local/sbin/homegrid-spoke --uninstall
    

    「この端末から VPN を外しました。」と表示されます。

  2. ダッシュボードの「登録済みデバイス」で、その端末の「削除」を押します。

--uninstall は、Linux の機械の側だけを外します。端末の登録はダッシュボードに残っているので、手順 2 で必ず削除してください。

外れたかを確かめる

ip link show wg0
systemctl list-unit-files | grep -E 'wg-quick@wg0|homegrid'
ls /usr/local/sbin/homegrid-spoke /etc/homegrid

ip link は「Device “wg0” does not exist.」、systemctl は何も出ない、ls は「No such file or directory」になれば外れています。

外した後に残るもの

外れるもの 残るもの
Linux の機械 トンネル(wg0)と自動起動、Hub の宛先の追従の timer、/etc/wireguard/wg0.conf、/etc/homegrid の保存した値、homegrid-spoke 自体 コマンドが入れたパッケージ(wireguard-tools・jq・nftables)
ダッシュボード — 端末の登録(「登録済みデバイス」から削除する)

/etc/wireguard/wg0.conf が、このコマンドで作ったものでないときは、消さずに残します(「この台本で作ったものではないため、残します」と警告が出ます)。中身を手で確かめてください。

うまくいかないとき

表示・状況 意味と対処
「途中で失敗したため、この回に入れた設定を外して戻します。」 登録の後に失敗したため、コマンドが自分で入れたものを外して元に戻しました。トークンは使用済みです。「登録済みデバイス」からその端末を削除し、新しいトークンでやり直します。
「…トークンは使っていません。」と出て止まった 登録の前に止まったので、トークンは使われていません。原因(メモリ不足・パッケージの導入の失敗など)を直してから、同じコマンドを実行し直せます。
「支払いの確認がまだです(HTTP 402…)」 トークンは使われていません。支払いの確認が済んだら、同じコマンドを実行し直します。
「端末の数が上限に達しています(HTTP 403…)」 「登録済みデバイス」で使っていない端末を削除するか、枠を追加します。
「既に /etc/wireguard/wg0.conf が存在します。セットアップ済みです。」 すでに入っているか、別の WireGuard の設定が wg0 を使っています。トークンは使われていません。入れ直すときは、下の「入れ直す」の手順で行います。
「…DNS は設定しません(今の DNS のまま)。」の警告 この機械で DNS の設定に使える仕組み(resolvconf・systemd-resolved)が見つからなかったため、DNS は今の設定のままです。
SSH が切れた フルトンネルでトンネルの外へ出すのは、実行したときの SSH の接続元だけです(--no-ssh-guard を付けたときは出しません)。機械のコンソールから入り、sudo /usr/local/sbin/homegrid-spoke --uninstall で外せます。

入れ直す

  1. sudo /usr/local/sbin/homegrid-spoke --uninstall で外します。
  2. 「登録済みデバイス」から前の端末を削除します。
  3. ダッシュボードで新しいトークンを発行し(手順 1)、もう一度実行します(手順 2)。

同じトークンは使えません(1 回限り)。フルトンネルと --split を切り替えるときも、この手順で入れ直します。