AmneziaWG VPN
キーワード
| キーワード | 定義 |
|---|---|
| 🛡️ AmneziaWG | パケットヘッダー、サイズ、送信時間をランダム化して深層パケット検査に対抗しながら、同じ証明済みの暗号化を維持するWireGuardのフォークです。これはサーバー上で実行されるプロトコルです。 |
| 🚀 AmneziaWG 2.0 | 動的ヘッダー範囲(固定値の代わり)を使用し、データレベルのパディング(S4)を追加し、強力なDPI回避のためにカスタムプロトコル署名を持つ代替パケットをサポートする現在のメインバージョンです。 |
| 🔍 深層パケット検査 (DPI) | ISPや政府機関がVPNトラフィックを特定しブロックするために、パケットヘッダー、サイズ、ハンドシェイクパターンを分析するために使用するネットワークフィルタリング技術です。AmneziaWGはこれに対抗するように特別に設計されています。 |
| ⚡ WireGuard | 小さなコードベースとカーネルレベルのパフォーマンスを持つ高速で現代的なVPNプロトコルです。固定パケット構造のため、DPIシステムによって容易に識別されますが、これはAmneziaWGで対処されています。 |
| 🏠 セルフホスト型VPN | 商業プロバイダーに加入するのではなく、自分のサーバー(通常はVPS)で展開し管理するVPNです。キー、構成、インフラストラクチャを制御します。 |
| 🐧 DKMS (Dynamic Kernel Module Support) | システムカーネルが更新されると自動的にカーネルモジュールを再コンパイルするLinuxフレームワークです。AmneziaWGインストーラーは、DKMSを使用して高性能のカーネルモジュールを構築します。 |
| 🎭 難読化 | VPNトラフィックを通常のインターネットトラフィックのように見せかけるために、トラフィックを隠す実践です。AmneziaWGは、ヘッダーをランダム化し、パディングを追加し、代替パケットを送信し、ジャンクパケットを生成することでトランスポート層で難読化します。 |
| 🔀 スプリットトンネリング | 特定のトラフィック(例:ブロックされたサイト)のみがVPNを通過し、他のトラフィックは直接接続を使用するルーティング構成です。部分的な検閲がある国で便利です。 |
| 🖥️ KVM vs LXC | KVMは、AmneziaWGのようなカスタムカーネルモジュールを読み込むために必要な専用カーネルを持つフル仮想化です。LXCはホストの共有カーネルを使用するコンテナ仮想化で、カスタムモジュールを読み込むことはできません。 |
| 🎪 CPS (Custom Protocol Signature) | AmneziaWG 2.0の機能で、実際のハンドシェイクの前に他のプロトコル(QUIC、DNS、SIP)を模倣する代替パケットを送信し、DPIシステムを誤解させてトラフィックを通常のものとして分類します。 |
セルフデプロイ型AmneziaWG VPNサーバー — 完全ガイド

AmneziaWGは特定の問題を解決するために設計されたプロトコルです:接続するネットワークがそれをブロックしようと積極的に行動しているときに、WireGuardの速度をどのように達成するか?これはAmnezia VPNチームによって作成されたWireGuardのフォークであり、元のものができないことを行います — トランスポート層をランダム化して深層パケット検査システムがそれを特定できないようにします。暗号化は全く同じままです。ネットワーク内のパケットの見た目だけが変わります。
VPNの難読化の広範な風景は、年々武器競争のようなものです。Shadowsocks、VLESS+Reality、OpenVPN with obfs4のようなツールは、さまざまな方法でトラフィックを隠そうとします — 一部はプロキシとして、一部はフルトンネルとして、一部は高パフォーマンスコストを伴います。AmneziaWGは特定のニッチを占めています:WireGuardレベルのパフォーマンスと組み込みのDPI保護を備えたフルVPNトンネルが一つのパッケージにまとめられています。そして、オープンソースであるため、自分のサーバーに展開できます。
しかし、これが必要な理由となる問題があります。WireGuardを設定します。それは完璧に機能します — 高速、クリーン、信頼性があります。すると、ある日、それが止まります。エラーメッセージもタイムアウトも接続拒否もありません。パケットがただ消えます。これがDPIブロッキングが実際にどのように見えるかです:トンネルは依然として稼働しており、構成も正しいのに、何も通過しません。これはロシア(WireGuardの成功率は約12%)、イラン(98%のパケット損失)、中国、エジプト、UAE、トルコ、ベラルーシ、ウズベキスタン、カザフスタン、ミャンマー、パキスタンを含む増え続ける国々の現実です。

従来の代替手段はこの問題を完全には解決しません。Shadowsocksはプロキシであり、フルVPNトンネルではありません — DNSや非TCPトラフィックは依然として漏れます。OpenVPN with obfs4は機能しますが、約25%のパフォーマンスオーバーヘッドがあります。VLESS+Realityは強力な難読化を提供しますが、プロキシベースで設定が複雑です。AmneziaWGはそのギャップを埋めます:WireGuardレベルのパフォーマンスと組み込みのDPI保護を備えたフルVPNトンネルです。
このガイドでは、KVM VPS上に完全に機能するAmneziaWG 2.0サーバーを15分以内に単一のコミュニティインストーラスクリプトを使用して展開する手順を説明します。最後には、任意のデバイスから接続できる作動するVPNトンネルが得られます。手順はプロバイダーに依存せず、SSHアクセスとroot権限がある任意のVPSで機能します。これは、SSHや基本的なLinuxコマンドを使いこなす中級レベルの技術スキルを持つユーザー向けに書かれています。
始める前に一つ明確にしておきます:AmneziaWGはプロトコルです。AmneziaVPNはそれに接続するクライアントアプリケーションです。これらは関連していますが異なります — あなたのブラウザのTLSのように。接続するためのアプリケーションが必要ですが、プロトコルはサーバー上で実行されるものです。
しかし、何かを展開する前に、AmneziaWGがWireGuardとどのように異なるのか、そしてその違いがDPIがあなたを監視しているときに重要である理由を理解する必要があります。
AmneziaWGとは何ですか? (メンタルモデル)
WireGuardはその設計において優雅です。小さなコードベースを持ち、現代的な暗号化を使用し、ほぼネイティブのパフォーマンスでLinuxカーネルで実行されます。しかし、この優雅さには可視性の問題があります:すべてのWireGuardパケットは同じ固定ヘッダー構造、同じ固定パケットサイズ、同じハンドシェイクパターンを持っています。深層パケット検査システムにとって、WireGuardトンネルはバーコードのように明確な署名を持っています。一度DPIデバイスがこの署名を学習すると、ポートをブロックしたり接続を閉じたりすることなく、すべてのパケットをドロップできます。

こう考えてみてください。WireGuardは常に同じ制服を着た宅配便のようです — 高速で信頼性が高く、効率的です。しかし、道路を見ている誰もがその制服を認識することを学び、チェックポイントで宅配便を止めることができます。AmneziaWGは同じ荷物を運ぶ同じ宅配便ですが、チェックポイントごとに制服を変えます。同じ人、同じ貨物、全く異なる外見です。
バージョン履歴は重要です。AmneziaWG 1.xはWireGuardの固定値と異なるカスタムヘッダーを導入しました — これは一時的には役立ちましたが、DPIシステムは適応しました。AmneziaWG 2.0は2025年末にリリースされ、すべてをランダム化します:ヘッダーはパケットごとに変わり、パディングはメッセージごとに異なり、代替パケットは実際のハンドシェイクが始まる前に他のプロトコルを模倣します。検出のための普遍的な署名はありません。なぜなら、各AmneziaWG 2.0サーバーは独自のパラメータセットを生成するからです。各サーバーは独自の方言を話します。
すべての難読化パラメータがゼロに設定されていると、AmneziaWGはWireGuardと同じように動作します — プロトコルレベルで完全に後方互換性があります。しかし、アクティブなパラメータ(デフォルト設定)では、WireGuardができないものになります:DPIシステムが特定するのに苦労する高速VPNトンネルです。
では、AmneziaWGはどのようにしてトラフィックを暗号化するのでしょうか?DPIを盲目にする4つの難読化レベルを見てみましょう — そしてそれらがほとんど速度コストを追加しない理由を見てみましょう。
AmneziaWGがDPIから隠れる方法 (速度損失なし)
AmneziaWG 2.0は、協力して機能する4つの難読化レベルを使用します。それぞれがDPIシステムがVPNトラフィックを特定する方法の異なる側面をターゲットにしています。これらを組み合わせることで、各サーバーのトラフィックをユニークにします。
動的ヘッダー (H1–H4)
WireGuardは固定の32ビットメッセージタイプ識別子を使用します:
- 1 — 開始用
- 2 — 応答用
- 3 — クッキー付き応答用
- 4 — データ用
DPIデバイスはトラフィックをスキャンする際に、これらの値を探します。AmneziaWG 2.0は、各固定値を指定された範囲から選ばれたランダムな数に置き換えます。開始ヘッダー(H1)は234567から345678の任意の値になります。応答ヘッダー(H2)は3456789から4567890の範囲になります。これらの範囲は重複しません — プロトコルは内部でパケットタイプを区別する必要がありますが、外部の観察者にとっては、掴むべき単一のヘッダー値はありません。各パケットは前のものとは異なって見えます。
ランダムパディング (S1–S4)
WireGuardの開始パケットは常に正確に148バイトです。その応答は常に正確に92バイトです。これらの固定サイズは別の指紋です。AmneziaWGは各パケットタイプにランダムパディングを追加します:開始は148+S1バイト、応答は92+S2バイト、クッキー付き応答は64+S3バイト、各データパケットはS4バイトのパディングを受け取ります。S3とS4はバージョン2.0で新たに追加され、S4はすべてのデータパケットに影響を与えるため、セッションレベルのトラフィック分析をはるかに難しくします。
重要な制約があります:S1+56はS2と等しくなってはいけません。開始と応答の間の元のサイズ差は56バイト(148−92)であるため、パディング値が正確にその差を補償すると、2つのパディングされたパケットは同じサイズになり、AmneziaWGが排除しようとしている指紋を再現してしまいます。インストーラーのパラメータ生成器は、この制約を自動的に確保します。
カスタムプロトコル署名 (I1–I5)
実際のハンドシェイクが始まる前に、AmneziaWGクライアントは他のプロトコル(QUIC、DNS、SIP、またはカスタムバイトパターン)を模倣する最大5つの代替パケットを送信します。サーバーはこれらのパケットを完全に無視します。単に本物のハンドシェイクを待ちます。
- シンプルな構成:128バイトのランダムなデータを送信します <r 128>。
- 複雑な構成:QUIC接続を開始するように見えるバイトを送信します (<b 0xc000000001><r 64><t>)、Unixタイムスタンプ付き。
セッション開始を観察しているDPIシステムにとって、最初のパケットは通常のWebトラフィックのように見えます。
ジャンクパケット (Jc, Jmin, Jmax)
代替パケットの後、クライアントはカスタマイズ可能な数のジャンクパケットを送信します — ランダムサイズの純粋なノイズで、JminからJmaxの範囲です。これらのパケットはセッション開始のタイミングとサイズプロファイルをぼかし、DPIシステムが本物のハンドシェイクが始まる場所を特定するのを難しくします。
速度に関する質問
インターネット上で流通している数字があります:AmneziaWGは65%のオーバーヘッドがあります。この数字は実際のもので、ユーザースペースのGo実装を指します — カーネルモジュールではありません。このガイドで使用されるコミュニティインストーラーはDKMSカーネルモジュールを構築し、カーネルモジュールは全体で12%未満のオーバーヘッドを追加します — 実際のテストでは約3%です。検閲されていないネットワークでは、WireGuardを通じて約95 Mbps、AmneziaWG 2.0を通じて92 Mbpsを見ることができます。検閲されたネットワークでは、比較は92 Mbps対ゼロです。
以下の表は、インストーラーが自動的に生成するパラメータを要約しています:
| パラメータ | 生成範囲 | 例の値 |
|---|---|---|
| Jc (ジャンクパケットの数) | 4–8 | 6 |
| Jmin (最小ジャンクサイズ) | 40–89 | 55 |
| Jmax (最大ジャンクサイズ) | Jmin+100からJmin+500 | 380 |
| S1 (開始パディング) | 15–150 | 72 |
| S2 (応答パディング) | 15–150, S1+56≠S2 | 56 |
| S3 (クッキーパディング) | 8–55 | 32 |
| S4 (データパディング) | 4–27 | 16 |
| H1 (開始ヘッダー範囲) | 重複のないuint32 | 234567-345678 |
| H2 (応答ヘッダー範囲) | 重複のないuint32 | 3456789-4567890 |
| H3 (クッキーヘッダー範囲) | 重複のないuint32 | 56789012-67890123 |
| H4 (データヘッダー範囲) | 重複のないuint32 | 456789012-567890123 |
| I1 (CPSパケット) | <r N>形式 | <r 128> |
これらのパラメータを手動で設定する必要はありません。インストーラーは、制約を満たす暗号的にランダムな値を毎回生成します。
難読化がどのように機能するかを理解したので、AmneziaWGが考慮している代替手段とどのように比較されるかを見てみましょう。
AmneziaWGと代替手段 — クイック意思決定ガイド

| WireGuard | AmneziaWG 2.0 | OpenVPN+obfs4 | Shadowsocks | VLESS+Reality | |
|---|---|---|---|---|---|
| DPI耐性 | 低 | 高 | 中 | 中 | 非常に高い |
| 速度オーバーヘッド | 約4% | <12%(実際の条件で約3%) | 約25% | 約8% | 約10% |
| フルVPNトンネル | はい | はい | はい | いいえ(プロキシ) | いいえ(プロキシ) |
| カーネルで実行 | はい | はい(DKMS) | いいえ | いいえ | いいえ |
| セットアップの複雑さ | 低 | 低(インストーラーを使用) | 高 | 中 | 高 |
| トランスポート | UDP | UDP | TCP/UDP | TCP | TCP |
意思決定のルールはシンプルです:
- あなたの国にDPIがないですか? 通常のWireGuardを使用してください。簡単で、より広いエコシステムがあります。
- 最大のDPI保護が必要で、プロキシを気にしないですか? VLESS+Realityは難読化に最も強力なオプションですが、フルトンネルではありません。
- 速度と難読化を兼ね備えたフルトンネルが必要ですか? AmneziaWG 2.0は、WireGuardレベルのパフォーマンスと実際のDPI保護を提供する唯一のオプションです。
- すでにOpenVPN+obfs4を使用していて、まだ機能していますか? 切り替える緊急の必要はありませんが、AmneziaWGは明らかに速くなります。
この記事はAmneziaWGに焦点を当てています。なぜなら、フルトンネル、カーネルレベルのパフォーマンス、組み込みの難読化を提供する唯一のプロトコルだからです — すべてが単一のスクリプトで設定されています。
AmneziaWGがあなたの状況に適している場合、展開を開始する前に必要なものは以下の通りです。
開始前に必要なもの
インストーラーを実行する前に、環境が以下の要件を満たしていることを確認してください:
| 要件 | 詳細 | 理由 |
|---|---|---|
| OS | Ubuntu 24.04 LTS(クリーンインストール)。Ubuntu 25.10は実験的です。Debian 12/13は動作しますが、curlが事前にインストールされている必要があります。 | インストーラーはUbuntu 24.04でテストされ、完全にサポートされています。 |
| VPSスペック | 1 vCore、1 GB RAM、25 GBストレージ。$3–5/月の任意のプランが適しています。 | インストーラーはDKMSビルド中に約2 GBのディスクスペースと約1 GBのRAMを必要とします。作動するVPNは最小限のリソースを使用します。 |
| 仮想化 | KVM(OpenVZではなく、LXCではありません)。 | AmneziaWGはDKMSを介してカーネルモジュールを読み込みます。LXCは共有ホストカーネルを使用し、カスタムモジュールを読み込むことはできません。 |
| SSHアクセス | パスワード/キー認証を持つrootまたはsudoユーザー。 | インストーラーはrootとして実行する必要があります。 |
| SSHポート | デフォルトの22または、非標準ポートを使用している場合はUFWで事前に開放されたポート。 | SSHがポート22で実行されておらず、事前に開放していない場合、インストーラーのファイアウォール設定があなたをブロックします。 |
| クライアントアプリケーション | Amnezia VPN >= 4.8.12.7(すべてのプラットフォーム)。 | AWG 2.0オプションは古いクライアントでは理解されません。標準のWireGuardクライアントはAWGを全くサポートしていません。 |
⚠️ 警告: LXCコンテナはサポートされていません。あなたのVPSがLXC仮想化を使用している場合、DKMSカーネルモジュールのビルドは失敗します。KVMまたはベアメタルを使用する必要があります。わからない場合は、プロバイダーに確認してください。
⚠️ 警告: SSHが非標準ポート(22以外)で実行されている場合、インストーラーを実行する前にUFWでそれを必ず開放する必要があります:
sudo ufw allow YOUR_PORT/tcpYOUR_PORTを実際のSSHポートに置き換えてください。インストーラーにはデフォルトポリシーを持つUFWが含まれています — SSHポートが許可されていない場合、すぐにブロックされます。
💡 ヒント: VPSを作成した後、インストーラーを実行する前に5〜10分待ってください。Cloud-initやバックグラウンド初期化プロセスが、インストーラーが行うapt-getの呼び出しと競合する可能性があります。
VPSが準備できており、前提条件が確認されたら、コミュニティインストーラスクリプトを使用してAmneziaWG 2.0を展開しましょう — 最も迅速で透明な方法です。
方法1 — CLIインストーラーで展開(推奨)
これは主なインストール方法です。バージョン固定されたインストーラスクリプトをダウンロードし、rootとして実行し、8つの自動化されたステップを経て(2回の再起動が予想されます)、完全に構成されたAmneziaWG 2.0サーバーが得られます。インストーラーはすべてを処理します:パッケージのインストール、カーネルモジュールのコンパイル、ファイアウォールの設定、パラメータの生成、サービスの起動。
6.1 — SSH経由でVPSに接続
ターミナルを開き、サーバーに接続します:
ssh root@<SERVER_IP><SERVER_IP>をVPSの実際のパブリックIPアドレスに置き換えてください。プロバイダーから非rootユーザーが与えられた場合、そのユーザーでログインし、次に昇格します:
ssh <username>@<SERVER_IP>
sudo -iUbuntu 24.04のウェルカムバナーの後にrootプロンプトが表示されるはずです:
Welcome to Ubuntu 24.04 LTS (GNU/Linux 6.8.0-xx-generic x86_64)
...
root@vps:~#6.2 — インストーラーをダウンロードして実行
インストーラスクリプトをダウンロードし、実行可能にして実行します:
wget https://raw.githubusercontent.com/bivlked/amneziawg-installer/v5.8.1/install_amneziawg_en.sh
chmod +x install_amneziawg_en.sh
sudo bash ./install_amneziawg_en.shURLはv5.8.1にバージョン固定されています — 2026年4月時点での最新リリースです。これはサプライチェーンの安全性です:ダウンロードされたスクリプトがテストされたバージョンと一致することを保証します。リポジトリが更新されてもです。
インストーラーはシステムをチェックすることから始まります:
============================================
AmneziaWG 2.0 Installer v5.8.1
============================================
Checking system requirements...
OS: Ubuntu 24.04 LTS — OK
Virtualization: KVM — OK
RAM: 1024 MB — OK
Disk: 25 GB free — OKチェックが失敗した場合、インストーラーは停止し、その理由を教えてくれます。問題を修正し、コマンドを再実行してください。
6.3 — インストーラープロンプトを通過する
インストーラーは8ステップの状態マシンで、再起動後の再開をサポートしています。進行状況は/root/awg/setup_stateに保存されるため、サーバーが再起動した場合は、同じコマンドを再実行するだけで、前回の続きから再開します。
ステップ0: 初期化 — インストーラーはOS、仮想化タイプ、RAM、ディスクスペースをチェックします。/root/awg/作業ディレクトリを作成し、並行実行を防ぐためのロックファイルを設定します。
ステップ1: システムの更新とパッケージのインストール — インストーラーは
apt-get update && apt-get upgrade -yを実行し、次にAmneziaWG、DKMS、Linuxヘッダー、UFW、Fail2Ban、QRコード生成ツール、およびその他の依存関係をインストールします。
📝 注: インストーラーは、最小限のVPSインスタンスでリソースを消費するいくつかのバックグラウンドサービスを削除します:snapd、modemmanager、networkd-dispatcher、unattended-upgrades、packagekit、lxd-agent-loader、およびudisks2。これは意図的で安全です。
ステップ1が完了すると、インストーラーは再起動を要求します:
Reboot required. Reboot now? [y/n]:yと入力してEnterを押します。サーバーが再起動した後、再度SSHで接続し、同じコマンドを再実行します:
sudo bash ./install_amneziawg_en.shスクリプトは保存された状態を読み込み、再度プロンプトを尋ねることなくステップ2に進みます。
ステップ2: DKMSカーネルモジュールビルド — インストーラーは、現在のカーネルに対してAmneziaWGカーネルモジュールをコンパイルし、将来のカーネル更新時に自動的に再ビルドされるようにDKMSに登録します:
Step 2: Building AmneziaWG kernel module via DKMS...
Creating symlink /var/lib/dkms/amneziawg/2.0/source -> /usr/src/amneziawg-2.0
DKMS: add completed.
Kernel preparation completed.
Building module:
make -C /lib/modules/6.8.0-xx-generic/build M=/var/lib/dkms/amneziawg/2.0/build modules
DKMS: build completed.
DKMS: install completed.2回目の再起動が要求されます。yと入力してEnterを押します。
📝 注: インストール中に2回の再起動は正常で予想されるものです。最初は新しいカーネルヘッダーを読み込み、2回目は新しく構築されたカーネルモジュールをアクティブにします。スクリプトは再起動間で状態を保存します — 何も失われません。
2回目の再起動後、再度SSHで接続し、インストーラーをもう一度実行します:
sudo bash ./install_amneziawg_en.shステップ3: 再起動後のモジュール確認 — スクリプトはカーネルモジュールが読み込まれていることを確認します(lsmod | grep amneziawg)。DKMSビルドが何らかの理由で失敗した場合、ユーザースペースのGo実装にフォールバックし、高いオーバーヘッドについて警告します。
ステップ4: ファイアウォールの設定 — UFWがデフォルトの拒否受信ポリシーで有効になります。インストーラーはポート22でのSSHレート制限ルールを追加し、UDPトラフィックのためにVPNポートを開放し、awg0インターフェースのためのルーティングルールを設定します。
ステップ5: 管理スクリプトのダウンロード — クライアント管理スクリプト(manage_amneziawg_en.shおよびawg_common_en.sh)が/root/awg/に所有者専用の権限(700)でダウンロードされます。これらもv5.8.1にバージョン固定されています。
ステップ6: インタラクティブ構成 — インストーラーは今、4つの質問をします:
- UDPポート(デフォルト:39743、範囲1024–65535)。デフォルトはランダムな高ポートです — ISPが高UDPポートをブロックすることで知られている場合を除いて、そのままにしてください。
- トンネルサブネット(デフォルト:10.9.9.1/24)。これは内部VPNネットワークです。サーバーは.1を取得し、クライアントは.2から.254を取得し、最大253クライアントをサポートします。
- IPv6を無効にする(デフォルト:Y)。推奨 — IPv6を無効にすると、トンネル外にトラフィックが漏れるのを防ぎます。
- ルーティングモード:すべてのトラフィックには1、Amneziaリスト + DNSには2(推奨)、またはカスタムネットワークには3を選択します。モード2は、ブロックされた公開IP範囲とDNSのみをVPN経由でルーティングし、ローカルネットワークアクセスを高速かつ直接に保ちます。
💡 ヒント: MTUはデフォルトで1280に設定されています。これは最小のIPv6 MTUであり、モバイルおよびセルラーネットワークにとって重要です。iOSはパスMTU発見に厳格であり、セルラーネットワークはしばしばWireGuardのデフォルトの1420を下回る効果的なMTUを持っています。これを1280のままにしてください。
ステップ7: サービスの開始 — インストーラーは/etc/amnezia/amneziawg/awg0.confにサーバー構成を生成し、/root/awg/に2つのデフォルトクライアント構成(my_phoneとmy_laptop)を作成し、QRコードを生成し、awg-quick@awg0システムdサービスを開始します。
ステップ8: 完了 — 成功メッセージが表示されます:
============================================
AmneziaWG 2.0 installation and configuration completed SUCCESSFULLY!
============================================インストーラーはすべてのAmneziaWG 2.0難読化パラメータを自動的に生成します。これらに触れる必要はありません。各サーバーにはユニークな値のセットが与えられます — DPIシステムが検出するための普遍的な指紋はありません。
6.4 — インストール後のクライアント管理
/root/awg/manage_amneziawg.shにある管理スクリプトは、すべてのクライアントライフサイクル操作を処理します。以下は重要なコマンドです:
新しいクライアントを追加:
sudo bash /root/awg/manage_amneziawg.sh add my_desktopこれにより、新しいクライアントの.confファイル、QRコード、および.vpnuriファイルが生成されます。サーバー構成はホットリロードされます — サービスの再起動は必要ありません。
一時的な自動期限付きクライアントを追加:
sudo bash /root/awg/manage_amneziawg.sh add guest --expires=7dcronジョブが5分ごとにチェックし、期限が切れたときに自動的にクライアントを削除します。構成、キー、およびサーバーエントリはすべてクリーンアップされます。
すべてのクライアントをリスト:
sudo bash /root/awg/manage_amneziawg.sh listClients: my_phone (10.9.9.2/32) my_laptop (10.9.9.3/32) my_desktop (10.9.9.4/32) guest (10.9.9.5/32) [expires in 6d 23h]
-vフラグを追加すると、公開キーや作成日などの詳細が表示されます。
クライアントを削除:
sudo bash /root/awg/manage_amneziawg.sh remove guestサーバーの完全なステータスを確認:
sudo bash /root/awg/manage_amneziawg.sh checkこれにより、サービスの状態、開いているポート、すべてのAWG 2.0パラメータ、カーネルモジュールの状態、UFWの状態、およびFail2Banの状態が1つのビューで表示されます。
クライアントごとのトラフィック統計を表示:
sudo bash /root/awg/manage_amneziawg.sh statsClient Received Sent Latest handshake ─────────────────────────────────────────────────────────────────── my_phone 1.24 GiB 356.7 MiB 2 minutes ago my_laptop 892.3 MiB 128.4 MiB 15 seconds ago my_desktop 0 B 0 B (none)
バックアップを作成:
sudo bash /root/awg/manage_amneziawg.sh backupこれにより、サーバー構成、クライアント構成、キー、および期限データを含む圧縮アーカイブが/root/awg/backups/に作成されます。
📝 注: addおよびremoveコマンドは、ホットリロードのためにawg syncconfを使用します。サーバー構成は、サービスを再起動することなく瞬時に更新されます。ポートやMTUのようなサーバー側のパラメータを変更する場合にのみrestartを使用してください。
6.5 — サーバーが稼働していることを確認
すべてが稼働していることを確認するために、これらのチェックを実行します:
systemdサービスを確認:
sudo systemctl status awg-quick@awg0● awg-quick@awg0.service - AmneziaWG Quick via awg-quick(8) for awg0
Loaded: loaded (/lib/systemd/system/awg-quick@.service; enabled)
Active: active (exited) since Thu 2026-04-09 14:32:01 UTCAmneziaWGの状態とパラメータを確認:
sudo awg show awg0ファイアウォールを確認:
sudo ufw status verboseStatus: active Default: deny (incoming), allow (outgoing) 22/tcp LIMIT IN Anywhere 39743/udp ALLOW IN Anywhere
Fail2Banを確認:
sudo fail2ban-client status sshdStatus for the jail: sshd |- Filter | |- Currently failed: 0 | `- Total failed: 0 `- Actions |- Currently banned: 0 `- Banned IP list:
DKMSカーネルモジュールを確認:
dkms statusamneziawg/2.0, 6.8.0-xx-generic, x86_64: installed
すべての5つのチェックが合格すれば、あなたのAmneziaWG 2.0サーバーは稼働中で、接続を受け入れる準備が整っています。
サーバーが稼働して確認されました。ターミナルの代わりにGUI駆動のアプローチを好む場合、AmneziaVPNアプリを使用した代替方法があります。
方法2 — AmneziaVPNアプリで展開(代替)
AmneziaVPNデスクトップアプリケーションは、SSH経由でサーバーにAmneziaWGを自動インストールできます。CLIメソッドと同じ基盤となるインストーラスクリプトを使用しますが、すべてをガイド付きインターフェースにラップします。これは、手間のかからないインストール体験を望む場合に最適です。
- AmneziaVPNをダウンロードします amnezia.org/en/downloadsから。Windows、macOS、Linux、Android、iOS用に利用可能です。
- アプリを開くし、➕(プラスアイコン)をクリックするか、始めるをクリックします。
- 提示されたオプションから「セルフホスト型VPN」を選択します。
- サーバーの資格情報を入力:
- サーバーIPアドレス(SSHが22でない場合はポートも、例:203.0.113.10:2221)
- SSHユーザー名(例:root)
- パスワードまたはSSHプライベートキー
- インストールタイプを選択:
- 自動 — AmneziaWGのみをインストール(推奨)
- 手動 — リストから特定のプロトコルを選択
- 「インストール」をクリック — アプリがSSH経由でサーバーに接続し、自動的にインストールを実行します。進行状況インジケーターが表示されます。
- インストール後、アプリは使用可能なVPN接続プロファイルを作成します。
インストール後の注意:
- アプリはデフォルトでランダムポートでAmneziaWGをインストールします。一部のISPは高ポートでUDPをブロックします。アプリは9999未満のポート(585や1234など)に変更することを推奨します。変更するには:接続の隣にあるギアアイコンをクリック → 管理タブ → ポート番号を変更します。
- サーバーにすでにAmneziaソフトウェアがインストールされている場合、接続作成中に「セットアップをスキップ」をクリックし、その後管理タブで「以前にインストールされたAmneziaサービスをサーバーで確認」を使用します。
以下は、2つの方法の比較です:
| 側面 | CLIインストーラー | AmneziaVPNアプリ |
|---|---|---|
| 制御 | 完全 — すべてのステップが見え、カスタマイズ可能 | 制限あり — アプリがすべてを処理 |
| 可視性 | 透明 — すべてのコマンドが表示される | 不透明 — 背後で実行される |
| 柔軟性 | カスタムルーティング、エンドポイント、フラグ | デフォルトのみを使用 |
| 使いやすさ | SSHの知識が必要 | ターミナル作業ゼロ |
| 管理 | 完全manage_amneziawg.sh スイート | アプリベースの管理のみ |
| 最適な用途 | 管理されていないVPS、トラブルシューティング | 迅速なセットアップ、ガイド付き体験 |
CLIまたはアプリを使用した場合、サーバーは準備が整いました。次に、最初のデバイスを接続しましょう。
最初のクライアントを接続
インストール後、Amnezia VPNアプリにクライアント構成をインポートする方法は3つあります。デバイスに合った方法を選択してください。
方法A: QRコード(モバイル)
インストーラーは/root/awg/my_phone.pngにQRコードを生成しました。コンピュータにダウンロードします:
scp root@<SERVER_IP>:/root/awg/my_phone.png .PNGファイルを画面に表示します。電話でAmnezia VPNアプリを開き、「VPNを追加」 → 「QRコードをスキャン」をタップし、カメラを画面のQRコードに向けます。接続が自動的にインポートされます。
方法B: vpn:// URI(Amneziaクライアント)
サーバーで圧縮されたURIを表示します:
cat /root/awg/my_phone.vpnuri全体のvpn://…文字列をコピーして自分に送信します — Telegram、メール、またはメモアプリを介して。電話でAmnezia VPNアプリを開き、「VPNを追加」 → 「クリップボードから貼り付け」をタップします。構成が一度のステップでインポートされます。
URIは、フル構成ファイルのzlib圧縮されたBase64エンコードバージョンです。コンパクトで迅速な共有のために設計されています。
方法C: .confファイル(デスクトップ/Windows)
構成ファイルをダウンロードします:
scp root@<SERVER_IP>:/root/awg/my_phone.conf .AmneziaWG for WindowsクライアントまたはAmneziaVPNデスクトップアプリを開き、「ファイルからトンネルをインポート」をクリックし、.confファイルを選択します。
接続を確認
接続後、トンネルがサーバーを通じてトラフィックをルーティングしていることを確認します:
curl ifconfig.me
出力には、ローカルIPアドレスではなく、サーバーのパブリックIPアドレスが表示されるはずです:203.0.113.1
詳細を表示するには、サーバーの地理的位置を含めて:
curl -s https://ipinfo.io/json{
"ip": "203.0.113.1",
"city": "Amsterdam",
"region": "North Holland",
"country": "NL",
...
}⚠️ 警告: 標準のWireGuardクライアントはAmneziaWG 2.0構成で動作しません。Amnezia VPNアプリ(バージョン4.8.12.7以降)またはネイティブのAmneziaWGクライアント(Windows/Android/iOSでバージョン2.0.0以降)を使用する必要があります。
⚠️ 警告: Windowsで「無効なキー:s3」が表示された場合、あなたのAmneziaWG Windowsクライアントは古くなっています(バージョン2.0.0未満)。バージョン2.0.0以上に更新するか、Amnezia VPNアプリに切り替えてください。
💡 ヒント: 接続されているがインターネットがない場合、クライアント構成にMTU = 1280が[Interface]セクションにあることを確認してください。これは、モバイルネットワークで「ハンドシェイクは成功するがトラフィックがない」の最も一般的な原因です。
あなたのVPNトンネルは機能しています。ここから、セットアップを最大限に活用するために進むべき場所があります。
次に何をするか — セットアップの拡張
あなたは今、DPI耐性のあるVPNトンネルを自分のサーバーで運営し、制御下に置いています。WireGuardグレードの速度で。あなたのWireGuard接続を殺した静かなパケットの死はもはや問題ではありません — あなたのトラフィックはDPIシステムが信頼性を持って特定できるものとは見なされません。
次にできる最も有用なことは以下の通りです:
- 家族やチームのためにクライアントを追加 — 管理スクリプトを使用して、アクセスが必要なすべてのデバイスの構成を生成します。
- フルトンネルルーティングが必要ない場合はスプリットトンネリングを構成 — これによりローカルトラフィックが高速になり、VPSの帯域幅が減少します。
- 構成をバックアップ — バックアップコマンドを実行し、安全な場所にアーカイブを保存します。サーバーを再構築する必要がある場合、これがあなたを最初からやり直すことから救います。
フルトンネルを通じてすべてのトラフィックをルーティングする必要がない場合はスプリットトンネリングを構成します。これは特に部分的な検閲がある国で便利です — トンネルを通じてブロックされたサイトのみをルーティングし、ローカルトラフィックを直接保ちます:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone AllowedIPs "192.168.1.0/24,10.0.0.0/8"異なるリゾルバーを好む場合はクライアントDNSを変更します:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone DNS "8.8.8.8,1.0.0.1"攻撃的なNAT設定にいる場合はPersistentKeepaliveを調整します。デフォルトの33秒はNATを通じてUDPセッションを維持します — 25に下げることで、アイドルUDPセッションをすぐにドロップするネットワークで役立つ場合があります:
sudo bash /root/awg/manage_amneziawg.sh modify my_phone PersistentKeepalive 25ルーターにインストールしてネットワーク全体をカバーします。AmneziaWGは、AWG Managerを介してKeeneticルーターで、Merlin用のAmneziaWGを介してASUSルーターでサポートされています。
構成を今すぐバックアップします。何かが変わる前に:
sudo bash /root/awg/manage_amneziawg.sh backup新しいサーバーに移行する必要がある場合、フレッシュインストールを実行し、その後:
sudo bash /root/awg/manage_amneziawg.sh restore
sudo bash /root/awg/manage_amneziawg.sh regenrestoreコマンドはあなたの構成とキーを復元し、regenは新しいサーバーIPでクライアント構成を更新します。
より深いドキュメントについては、公式のAmneziaドキュメントはdocs.amnezia.orgにあり、コミュニティはTelegramで活発です。
AmneziaWGサーバーをホストするための信頼できるVPSを探している場合 — またはチームメンバーのために追加のエンドポイントでスケールアップする必要がある場合 — AvaHostは、KVM仮想化、完全なrootアクセス、NVMeストレージ、およびこのセットアップに必要なUbuntu 24.04サポートを提供しています。彼らのインフラストラクチャは、このガイドがカバーするようなセルフホスト型展開のために特別に設計されています。


