NordBastion のホッキョクグマのマスコットが Nordic の石のワークショップにおり、スタイライズされたラップトップとサーバータワーの間に輝くシアンの暗号化トンネルがアーチを描き、鍵と錠のグリフがトンネルを周回している
方法 · セルフホスト·読了11分 · 実践15分

VPS 上で WireGuard VPN を自己ホストします。
自分専用の VPN まで15分。

「サーバーなし」から「自分専用の VPN」まで五つのステップ — サインアップ時 KYC フリー、暗号通貨払い、信頼チェーンにサードパーティ VPN プロバイダーなし。メインラインカーネルの WireGuard 1.0+ を搭載した Debian 12 でテスト済み。

5つのステップ
  1. 01

    プロビジョニング

    Nordic VPS

  2. 02

    インストール

    apt install wireguard

  3. 03

    設定する

    キー + wg0.conf

  4. 04

    ファイアウォール

    UDP 51820 + フォワーディング

  5. 05

    接続

    wg-quick up wg0

ステップ01 · プロビジョニング

居住地に近い Nordic バスティオンを選んでください。

パネルで:注文 → VPS → Sentinel(月 $5.90、2 vCPU / 4 GB / 120 GB NVMe)。Sentinel は無制限の帯域幅と 1 Gbps のアップリンクを持っています — フルストリーミングでも個人用 VPN に十分です。送信するすべてのバイトが宛先に到達する前に VPS を通過するため、物理的に最も近いバスティオンを選択します。ヨーロッパの顧客は Stockholm または Helsinki を選択し、南北アメリカ・アジアの顧客は Reykjavík(大西洋横断レイテンシー最小)または Oslo を選択します。

OS イメージ:Debian 12 を推奨します。Ubuntu 22.04+ も同様に動作します。Alpine も動作しますが、異なるパッケージ名を使用します(apk add wireguard-tools)。FreeBSD も動作しますが設定構文が異なります。サーバーは約90秒で起動し、root 認証情報はパネルに一度だけ表示されます。

ステップ02 · インストール

1つのパッケージ、すでにカーネルに組み込まれています。

root として SSH 接続します。次に:

apt update
apt install -y wireguard qrencode

以上です。WireGuard は Linux カーネル 5.6(2020年3月)以降メインラインに含まれているため、apt はユーザースペースツール(wg、wg-quick)のみをインストールします——モジュールのコンパイルも、DKMS も、カーネル再構築も不要です。qrencode パッケージはステップ5でクライアント設定を QR としてスマートフォンに転送するのに便利です。

ステップ4で忘れないように、今すぐ IP フォワーディングを有効にします:

echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
echo "net.ipv6.conf.all.forwarding=1" >> /etc/sysctl.conf
sysctl -p
ステップ03 · 設定

キーを生成し、wg0.conf を書きます。2分。

サーバーのキーペアを生成します:

cd /etc/wireguard
umask 077
wg genkey | tee server_private.key | wg pubkey > server_public.key

次に、デバイスごとにクライアント鍵ペアを生成します:

wg genkey | tee laptop_private.key | wg pubkey > laptop_public.key
wg genkey | tee phone_private.key  | wg pubkey > phone_public.key

サーバー設定 + クライアントごとに一つの [Peer] ブロックで /etc/wireguard/wg0.conf を作成します:

[Interface]
PrivateKey = <contents of server_private.key>
Address    = 10.66.66.1/24, fd00:66::1/64
ListenPort = 51820
PostUp     = iptables -A FORWARD -i %i -j ACCEPT; iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
PostDown   = iptables -D FORWARD -i %i -j ACCEPT; iptables -t nat -D POSTROUTING -o eth0 -j MASQUERADE

[Peer]
# laptop
PublicKey  = <contents of laptop_public.key>
AllowedIPs = 10.66.66.2/32

[Peer]
# phone
PublicKey  = <contents of phone_public.key>
AllowedIPs = 10.66.66.3/32
ステップ04 · ファイアウォール

UDP 51820 を開放します。残りはロックします。

UFW を使用している場合(Ubuntu のデフォルト):

ufw default deny incoming
ufw default allow outgoing
ufw allow 22/tcp        # SSH (consider port-knocking or VPN-only in production)
ufw allow 51820/udp     # WireGuard
ufw enable

NordBastion のバスティオンにはパネルから管理されるアップストリームファイアウォールもあります — 多層防御のために同じルールをそこで複製できます。バスティオンレベルのファイアウォールはパケットが VPS に到達する前にブロックし、ボリューム型スキャンの CPU を節約します。

実践する価値のあるプライバシーのヒント:WireGuard の ListenPort を 51820(スキャナーが探すデフォルト)から 1024〜65535 のランダムなポートに変更します。決意した攻撃者に対するセキュリティは向上しませんが、ランダムなスキャナーからのノイズを減らします。

ステップ05 · 接続

トンネルを起動します。最初のクライアントが数秒で接続。

サーバー上で:

systemctl enable --now wg-quick@wg0
wg                          # status: should show interface up

サーバー上にクライアント設定(laptop.conf)を作成し、ラップトップにコピーします:

[Interface]
PrivateKey = <contents of laptop_private.key>
Address    = 10.66.66.2/24, fd00:66::2/64
DNS        = 1.1.1.1, 9.9.9.9       # or your favourite privacy resolver

[Peer]
PublicKey         = <contents of server_public.key>
Endpoint          = <server-ip>:51820
AllowedIPs        = 0.0.0.0/0, ::/0
PersistentKeepalive = 25

モバイルの場合、設定を qrencode にパイプして WireGuard アプリでスキャンします:

qrencode -t ansiutf8 < phone.conf

以上です。クライアントが接続し、トンネルが確立し、ラップトップ/スマートフォンは Nordic バスティオンを通じてインターネットにアクセスしています。確認方法:curl https://api.ipify.org を実行——返される IP は自宅の IP ではなく VPS のパブリック IP です。

FAQ · WireGuard

質問、回答済み。

初めてのセルフホスト VPN 顧客が尋ねる八つの質問。

なぜ NordVPN / Mullvad / ProtonVPN を使う代わりに WireGuard VPN を自己ホストするのですか?

3つの実際の理由。(1)信頼の連鎖が短縮されます。商業 VPN は「この会社がログを取らないと信頼する」ことを意味します。自己ホスト型は「この VPS プロバイダーがログを取らないと信頼する」——関係者が1つ少ない。(2)VPN エンドポイントはあなただけのものです。商業 VPN の出口 IP は何千ものユーザーで共有され、多くのサービスでブロックされています。自己ホスト型エンドポイントは誰もフラグを立てていないクリーンな IP です。(3)コスト。NordBastion Sentinel は月額 $5.90 で無制限帯域幅の VPN を実行します。商業 VPN は共有インフラで月額 $5-15 です。

OpenVPN ではなく WireGuard を選ぶ理由は?

WireGuard はより小さく(カーネルコード4,000行 vs OpenVPN の約100,000行)、より高速で(同じハードウェアで多くの場合3-5倍のスループット)、設定がシンプルで(CA/cert/dhparam の配管ではなく単一の設定ファイル)、監査しやすいです。Linux カーネル 5.6(2020年)以降メインラインに含まれているため、コンパイルステップは不要です。OpenVPN はレガシー互換性と TCP ベースのトラフィックには依然として有用ですが、それ以外では WireGuard がモダンなデフォルトです。

ISP は私が VPN を実行していることを知っていますか?

ISP はポート51820の暗号化された UDP トラフィックが NordBastion IP に向かうのを見ます。そのパターンは VPN トラフィックとして認識できますが、反対側にあるものはわかりません。「そもそも VPN を実行する」ことが状況的に敏感な場合は、WireGuard をポート443で実行してください(UDP で動作し TCP ではありませんが、ポートは HTTPS と同じです)。ISP が WireGuard ハンドシェイクを積極的にブロックする場合は udp2raw などの難読化ラッパーを検討してください。

VPS を VPN と他のものへのサーバーの両方として使用できますか?

はい、一般的なパターンです。VPS は WireGuard と必要なもの——個人ウェブサイト、Bitcoin ノード、Mastodon インスタンスを実行します。ファイアウォールルールが VPN トラフィックと公開向けサービスを分離します。iptables/nft は VPN クライアントを特定のローカルサービスにルーティングし、他のサービスにはしないことができます。

IP ジオロケーションについて——サイトは私がスウェーデンにいると思いますか?

はい——あなたの出口 IP は選んだ NordBastion バスティオンのものです。IP でジオフェンスするストリーミングサービスはあなたをスウェーデン人(Stockholm バスティオン)、フィンランド人(Helsinki)、ノルウェー人(Oslo)、またはアイスランド人(Reykjavík)として扱います。「新しい国からログイン」をフラグ立てする銀行サイトは不正ルールをトリガーします。これは通常の動作であり、VPN の問題ではありません。

一つの WireGuard サーバーはいくつのクライアントを処理できますか?

個人利用では事実上無制限です。各ピアは数 KB のメモリを追加します。制約は WireGuard デーモン自体ではなく、帯域幅とバスティオンのアップリンクです。無制限帯域幅と 1 Gbps アップリンクを持つ Sentinel ティアは、WireGuard プロセスが気づく前に飽和します。

専用 VPS で実行すべきか、他のワークロードと共有すべきか?

専用 VPS は OPSEC の観点からよりクリーンです — その IP に関連付けられるのは「自分専用の VPN」だけです。ワークロードを混在させると、VPN トラフィックと他のワークロードのトラフィックが発信 IP を共有し、どちらかのレピュテーション問題がもう一方に波及します。月 $5.90 なら、分けておくのが合理的です。

セルフホスト型 WireGuard はキルスイッチ機能を持てますか?

はい、クライアント側で。WireGuard 設定は PostUp / PostDown ブロックをサポートしており、トンネルが起動しているときに非 VPN トラフィックをドロップする iptables ルールを追加できます。クライアント OS をデフォルトで非 VPN 接続を拒否するように設定することもできます。いくつかのオープンソース管理アプリ(wg-easy、WireGuard-UI、Pi-VPN)がこれをラップしてくれます。

準備完了

Sentinel を注文して自前の VPN を起動します。

最終レビュー · 2026-05-20 · テスト済み · Debian 12 · WireGuard 1.0.20210914