デスクトップとルーターの設定

SecurQbit のコマンドラインクライアントを Linux・Windows・FreeBSD・OpenWrt ルーターにワンコマンドで導入し、ダウンロードを検証して、ネットワーク全体を VPN の内側に置く方法。

SecurQbit には、アプリのない機器のためのコマンドラインクライアントがあります。Linux のサーバーとデスクトップ、Windows、FreeBSD、そして OpenWrt ルーターです。VPN もアカウントもモバイルアプリと同じものです — iOS と Android についてはSecurQbit のインストールをご覧ください。

インストールされるのは 2 つのプログラムです。

プログラム役割
securqbitdバックグラウンドで動くサービス。セッションを保持し、トンネルを構築し、システムのルーティングを設定します。トンネルデバイスの作成には特権が必要なため、システム権限で動作します。
sqctlあなたが入力するコマンド。サービスに処理を依頼し、その様子を表示します。認証情報は保持せず、それ自体に特権は不要です。

操作するのは sqctl です。全コマンドは CLI リファレンスを参照してください。

ワンコマンドでインストール

Linux・macOS・FreeBSD・OpenWrt では:

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh

インストールはこれだけです。スクリプトがこの機器に必要なパッケージを判断し、ダウンロードし、公開されている SHA-256 チェックサムと照合し、2 つのプログラムを配置したうえで、この環境で常駐プロセスを管理している仕組み — systemd、OpenRC、runit、SysV init、procd、rc.d、launchd のいずれか — にサービスを登録します。ほかに設定するものはありません。

完了したら:

sqctl login              # ブラウザーで承認するリンクを開きます
sqctl connect --fastest
sqctl status

既存のアカウントが必要です。 デスクトップクライアントはブラウザーでの承認によってサインインするため、アカウントを作成できません。まず iOS または Android アプリで作成してください。ゲストアカウントも同様で、リカバリーコードで accounts.securqbit.com にサインインし、そこで承認します。

オプション

インストーラーはいくつかのオプションを受け取ります。sh -s -- の後ろに指定してください。

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --no-start
オプション動作
--version <v>最新版ではなく指定したリリースを導入します。
--from <path>ダウンロード済みのアーカイブから、ネットワークを使わずに導入します。
--prefix <dir>/usr/local 以外の場所に導入します(OpenWrt では /usr)。
--no-startサービスを登録しますが起動はしません。
--no-routerOpenWrt で、LAN をトンネルの内側に置かずに導入します。
--uninstallサービスと 2 つのプログラムを削除します。

対応プラットフォーム

システムアーキテクチャ
Linuxx86-64、arm64、armv7
Windowsx86-64、arm64
FreeBSDx86-64、arm64
OpenWrtx86-64、arm64、armv7
macOSApple シリコン、Intel

静的ビルドなので、Linux 用のパッケージ 1 つで glibc と musl の両方をまかなえます — Debian、Ubuntu、Fedora、Arch、Alpine、Void はどれも同じファイルを使います。

MIPS 版はありませんし、今後も作りません。 その種のルーターのフラッシュは 8〜16 MB で、SecurQbit は約 40 MB を必要とします。つまり MIPS 用パッケージは、ダウンロードを待たせたあげく失敗することしかできません。ARM か x86-64 のルーターであれば動作します。

macOS ではアプリをお使いください。 Mac 向けの製品は App Store の SecurQbit ネイティブアプリです。コマンドラインクライアントが macOS でビルドでき動作するのは、そこで開発できるようにするためであり、Mac ユーザーが入れるべきものではありません。

ダウンロードの検証

インストーラーは、アーカイブを隣に公開されたチェックサムと既に照合しており、食い違えば処理を中止します。手作業で確認したい場合や、オフラインで導入する場合は:

V=$(curl -fsSL https://cdn.securqbit.com/securqbitd/latest)
BASE=https://cdn.securqbit.com/securqbitd/$V
 
curl -fsSLO $BASE/securqbit-$V-linux-amd64.tar.gz
curl -fsSLO $BASE/SHA256SUMS
 
sha256sum --check --ignore-missing SHA256SUMS

そのうえで、いま確認したファイルから導入します。

tar -xzf securqbit-$V-linux-amd64.tar.gz
sudo ./securqbit-$V-linux-amd64/install.sh

展開済みのアーカイブ内から install.sh を実行すると、そのアーカイブが導入され、ネットワークには一切アクセスしません — インターネットへの経路をまだ持たない機器へ導入する方法は、まさにこれです。

チェックサムはパッケージと同じ HTTPS 接続で届くため、証明できるのはファイルが壊れずに届いたことであって、サーバーが正直だったことではありません。接続を信頼できるものにしているのは TLS です。平文の http 経由で導入しないでください。

sudo なしで使う

サービスは root で動作します。待ち受けに使うソケットはインストーラーが作成する securqbit グループの所有なので、そのグループに属していればパスワードなしで VPN を操作できます。

sudo usermod -aG securqbit "$USER"    # Linux
sudo pw groupmod securqbit -m "$USER" # FreeBSD

新しいグループを反映させるには、いったんログアウトして入り直してください。macOS ではグループは admin で、管理者は既に所属しています。Windows での相当物は、SYSTEM と Administrators と並ぶ SecurQbit Users グループです。

それまでの間、sqctl は権限がない旨を伝え、上のコマンドを表示します。

Windows

Windows へはワンライナーではなく、アーカイブから導入します。

  1. cdn.securqbit.com/securqbitd から securqbit-<version>-windows-amd64.tar.gz をダウンロードして展開します。
  2. トンネルアダプターのドライバー wintun.dll(アーキテクチャの合うもの)を securqbitd.exe と同じ場所に置きます。SecurQbit には同梱されていないため、wintun.net から入手してください。
  3. 展開したフォルダーで、管理者として実行した PowerShell から:
.\install.ps1

これで 2 つのプログラムが %ProgramFiles%\SecurQbit にコピーされ、サービスが登録され、どのシェルからでも sqctl を使えるようフォルダーがシステムの PATH に追加されます。新しい PATH を読み込ませるため、その後は新しいターミナルを開いてください。

削除するには、同じ管理者権限のプロンプトから .\uninstall.ps1 を実行します。

OpenWrt: ネットワーク全体を VPN の内側に置く

ルーター上では、SecurQbit がネットワーク上のすべて — スマートフォン、ノート PC、ゲーム機、スマートテレビ — を保護します。しかもそれらの機器には何も入れる必要がありません。

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sh
sqctl login
sqctl connect --fastest

インストール時にはファイアウォールも設定されます。トンネルデバイス上に NAT 付きのゾーンを作り、LAN のトラフィックをそこへ転送し、LAN から WAN へ向かう IPv6 を拒否します。ルーターではこれが既定です。ルーター自身のトラフィックしか守らない VPN では、そもそも導入する意味がないからです。本当にそれを望む場合は --no-router を使ってください。

始める前に、3 点を確認してください。

  • フラッシュ容量。 約 90 MB の空きが必要です。家庭用ルーターの多くはそれを持たず、インストーラーは overlay を埋め尽くす代わりに処理を拒否します — overlay が満杯になったルーターはネットワーク越しに修復できません。対処法は USB メモリーや SD カード上の extroot です。
  • tun モジュール。 OpenWrt は既定イメージに含めていません: opkg update && opkg install kmod-tun(または apk add kmod-tun)。これがないと失敗するのはインストールではなく最初の接続です。
  • curl。 イメージによっては curl も、HTTPS をきちんと扱える wget も入っていません: opkg install curl

ログは logread -f -e securqbitd で読めます。ログを RAM に留めているのは意図的です — ルーターのフラッシュに毎日メガバイト単位で書き込むことこそ、フラッシュが壊れる原因だからです。

IPv6 は破棄ではなく拒否します。これは意図的です。 トンネルが運ぶのは IPv4 なので、LAN の IPv6 を WAN に流したままにすると、各端末のトラフィックの半分が VPN の外を通ってしまいます。拒否すればクライアントは直ちに IPv4 へフォールバックし、リクエストごとにタイムアウトを待たされることがありません。--allow-ipv6 はこの保護を外し、漏れを受け入れます。

起動時に接続する

sqctl set autoconnect on

サービスは機器と一緒に起動し、ネットワークが使えるようになり次第トンネルを張ります。sqctl set country と組み合わせれば、ルーターやサーバーは再起動から保護された状態で復帰し、誰もログインする必要がありません。

常に最新に保つ

sqctl update

これで最新リリースをダウンロードし、検証し、2 つのプログラムを置き換えてサービスを再起動します。SecurQbit は 1 日 1 回自分でも確認し、新しいものがあれば知らせます — sqctl status の下に 1 行:

    Update         v1.1.0 available — run: sqctl update

知らせるだけです。自分で導入することは決してありません。更新を完了するには再起動が必要であり、再起動すればその時つながっているトンネルが切れるからです。sqctl set updates off で確認を止められます。sqctl update は引き続き使えます。

削除する

curl -fsSL https://cdn.securqbit.com/securqbitd/install.sh | sudo sh -s -- --uninstall

まずトンネルを落としてルーティングと DNS を元の状態に戻し、それからサービスと 2 つのプログラムを削除します。ルーターでは、追加したファイアウォール設定も併せて削除されます。設定ファイルとログはそのまま残ります。

次のステップ