OffshoreVps
プライバシーと法律2026年10月20日読了時間 9 分執筆:OffshoreVps チーム

DPI 検閲を回避:VPS で VLESS + REALITY プロキシ

検閲側が通常の VPN を見抜ける理由と、通常の HTTPS トラフィックに見えるように、専用 VPS で Xray VLESS + REALITY エンドポイントを動かす方法を解説します。

ディープパケットインスペクション(DPI)を使うと、ネットワークはアドレスやポートの先を見て、トラフィックの形状を判断できます。従来の VPN プロトコルには見分けやすいハンドシェイクがあるため、検閲側は 1 バイトも復号せずにブロックできます。自分の VPS 上のプライベートなエンドポイントなら共有のブロックリストを避けられ、通常の HTTPS を模倣するプロトコルならフィンガープリンティングを避けられます。このガイドでは、そうしたプロトコルの一つ、Xray 上の VLESS と REALITY をセットアップします。

DPI による検閲を回避する VLESS と REALITY プロキシの構築に使うコマンドを、「sudo apt update && sudo apt -y upgrade」から始めて表示している VPS のターミナルウィンドウ
このガイドでサーバー上で実行するコマンドの例。

DPI が VPN を見抜く仕組み

検閲側は 3 つのシグナルに頼っています。固定のハンドシェイクパターン(OpenVPN と WireGuard の両方にあります)、商用 VPN プロバイダーの既知の IP 範囲、そして検閲側があなたのサーバーに接続して応答を確認するアクティブプロービングです。長く使えるプロトコルは、この 3 つすべてを切り抜けなければなりません。

  • ハンドシェイクパターン:本物の TLS セッションでトラフィックを包むことで回避します。
  • 共有の IP 範囲:自分だけが使うサーバーを使うことで回避します。
  • アクティブプロービング:鍵を持たない相手に対しては、サーバーが本物のウェブサイトのように振る舞うようにして回避します。

REALITY を使う理由

REALITY は、実在する人気ウェブサイトの TLS ハンドシェイクを借用します。鍵を知らないプローブはそのサイトへそのまま転送され、通常の証明書とページが見えるだけです。鍵を知っているクライアントにはプロキシが提供されます。目を付けられる自前の証明書も、登録するドメインもありません。

ステップ 1:サーバーを準備する

ユーザーへの経路が良好なロケーションで、新しい Ubuntu VPS を使い、まず基本的な堅牢化を行います。その後、公式スクリプトで Xray をインストールします。

sudo apt update && sudo apt -y upgrade
bash -c "$(curl -L https://github.com/XTLS/Xray-install/raw/main/install-release.sh)" @ install
xray x25519

最後のコマンドで秘密鍵と公開鍵が出力されます。秘密鍵はサーバーに保管し、公開鍵をクライアントに渡します。ユーザー ID は xray uuid で生成します。

このガイドの手順(順番どおり):1. DPI が VPN を見抜く仕組み;2. REALITY を使う理由;3. サーバーを準備する;4. Xray の設定を書く;5. ファイアウォールを開けて接続する;6. 動作を維持する
このガイドの手順(順番どおり)。

ステップ 2:Xray の設定を書く

TLS 1.3 と HTTP/2 に対応し、サーバーから到達できるカモフラージュ用のサイトを選びます。そのホスト名を dest と serverNames の両方に入れます。

{
  "inbounds": [{
    "port": 443,
    "protocol": "vless",
    "settings": {
      "clients": [{ "id": "YOUR-UUID", "flow": "xtls-rprx-vision" }],
      "decryption": "none"
    },
    "streamSettings": {
      "network": "tcp",
      "security": "reality",
      "realitySettings": {
        "dest": "example.org:443",
        "serverNames": ["example.org"],
        "privateKey": "YOUR-PRIVATE-KEY",
        "shortIds": ["a1b2c3d4"]
      }
    }
  }],
  "outbounds": [{ "protocol": "freedom" }]
}

/usr/local/etc/xray/config.json として保存し、sudo systemctl restart xray を実行して、systemctl status xray を確認します。

ステップ 3:ファイアウォールを開けて接続する

sudo ufw allow OpenSSH
sudo ufw allow 443/tcp
sudo ufw enable

クライアントでは、サーバーのアドレス、ポート 443、UUID、公開鍵、short ID、同じサーバー名をインポートします。v2rayN、Nekoray、Streisand、Hiddify などのクライアントが REALITY に対応しています。フローはサーバーに合わせて xtls-rprx-vision に設定します。

動作を維持する

  • 少人数のユーザーグループごとに 1 台の VPS を使います。混み合ったエンドポイントはプロファイリングされやすくなります。
  • カモフラージュ用のサイトにサーバーから到達できなくなると、接続は失敗します。安定したサイトを選び、必要なら変更してください。
  • Xray を最新に保ちます。プロトコルの修正は頻繁にリリースされます。
  • 同じ IP のポート 443 では、他のものを動かさないでください。

あらゆる検閲下でのアクセスを保証するツールはありません。実際に使うネットワークからテストし、フォールバック用に別のプロトコルも用意しておきましょう。もっと簡単な日常使いの VPN にはVPS で WireGuard を動かす方法を、2 つの定番の選び方にはWireGuard か OpenVPN かをご覧ください。