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 |
|
|---|---|---|
| VPN を通る通信 | すべての IPv4 の通信 | テナントの範囲と自宅の LAN だけ |
| インターネットへの出口 | 自宅(出口の Grid) | 今の回線のまま |
| SSH でつないだまま実行 | 実行中の SSH の接続元だけをトンネルの外へ出す(--no-ssh-guard で外す) |
外向きは今の回線のままなので、設定は入れない |
| 自宅の LAN の範囲の取り直し | 要らない | --refresh-routes で取り直す |
- キルスイッチはありません。 トンネルが落ちると、通信は今の回線へ出ます。
- IPv6 はトンネルに入りません(IPv4 だけ)。
手順 1:ダッシュボードでコマンドを発行する
-
ダッシュボードの「Spoke を追加する」の枠で、「+ Spoke を追加 (QR コード)」を押します。「Spoke を追加」の画面が開きます。
-
「デバイス名(例: iphone-15-pro)」の欄に、端末の名前を入れます。名前は英小文字・数字・ハイフンで付けます(例:
home-server)。 -
「Linux(コマンド)」を押します。「Linux に入れるコマンド」の画面に、「既定(フル)」と「分割(
--split)」の 2 つのコマンドが表示されます。
-
使う方の行の「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@wg0wg 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)で実行します。
外す
-
Linux の機械で、次のコマンドを実行します。
sudo /usr/local/sbin/homegrid-spoke --uninstall「この端末から VPN を外しました。」と表示されます。
-
ダッシュボードの「登録済みデバイス」で、その端末の「削除」を押します。
--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 で外せます。 |
入れ直す
sudo /usr/local/sbin/homegrid-spoke --uninstallで外します。- 「登録済みデバイス」から前の端末を削除します。
- ダッシュボードで新しいトークンを発行し(手順 1)、もう一度実行します(手順 2)。
同じトークンは使えません(1 回限り)。フルトンネルと --split を切り替えるときも、この手順で入れ直します。