知識ベース Profitserver サービスの操作方法の簡単な説明
メイン 知識ベース Hysteria2とTUICの設定

Hysteria2とTUICの設定


今日、VPNとプロキシ技術への需要はますます高まっています。ユーザーは、安全なインターネットアクセス、検閲の回避、外部からの脅威からの保護のためにこれらの技術を利用しています。このようなサーバーに接続すると、すべての通信は暗号化されたトンネルを経由し、サーバーがネットワークへのゲートウェイとなります。

OpenVPNやWireGuardといった従来のプロトコルは、安定した環境では優れたパフォーマンスを発揮しますが、パケット損失率の高い劣悪な接続環境(モバイルネットワーク、公共Wi-Fi、厳しい検閲が行われている国など)では速度低下に悩まされることがよくあります。そこで登場するのが、Hysteria2やTUICといった最新のプロトコルです。これらはQUICをベースに構築されており、通常のHTTPS(HTTP/3)と同様に、高速性、低遅延、そして効果的なトラフィック難読化を実現します。

Hysteria2は、利用可能な帯域幅を積極的に活用する「Brutal」アルゴリズムを採用しています。TUIC(バージョン5)は、オーバーヘッドが最小限であること、優れたUDPサポート、およびRTTが0の接続確立を特徴としています。

この記事では、Ubuntu/Debian上でサーバーをセットアップし、Windowsから接続する手順を説明します。

必要なもの:Ubuntu 22.04/24.04またはDebian 12が動作するVPS、root権限、およびサーバーのIPアドレス。ドメインは不要です。

サーバーに接続しています

Windows (PuTTY): PuTTYを開き、ホスト名にYOUR_SERVER_IP、ポート番号に22を入力し、VPSプロバイダーのメールに記載されているパスワードを使用してrootユーザーとしてログインします。

Linux/macOS(ターミナル):

ssh root@YOUR_SERVER_IP

以下のコマンドはすべて、同じセッション内でサーバー上で実行されます。

サーバーの準備(Ubuntu / Debian)

IPフォワーディングを有効にする

これにより、サーバーはクライアントからのパケットをさらにインターネットへ転送できるようになります。

nano /etc/sysctl.conf

パスワードを入力または作成してください(英字と数字のみを使用し、スペースは使用しないでください)。

サーバー上でnanoエディタを使って/etc/sysctl.confを開きます。

以下の行を見つけてコメントを解除するか(先頭の「#」を削除する)、または以下の行を追加してください。

net.ipv4.ip_forward=1
コマンド入力後の画面は以下のようになります。

ファイルを保存(Ctrl+O、Enter)して終了(Ctrl+X)します。再起動せずに変更を適用します。

sysctl -p

NAT設定(マスカレード)

この設定により、クライアントはサーバーのIPアドレスを使用して、サーバー経由でインターネットにアクセスできるようになります。

外部ネットワークインターフェース(インターネットに接続されているインターフェース)の名前を確認してください。

ip link show
Linuxシステム上のすべてのネットワークインターフェース(ネットワークカード)の一覧と、それぞれの現在の状態および基本設定を表示します。

通常、これはeth0、ens3、またはenp1s0です。これをコピーまたは記憶しておき、iptablesにマスカレードルールを追加します。eth0を自分のインターフェース名に置き換えてください。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
サーバーの実際のインターフェース名を使用して、偽装ルールを追加します。

iptablesルールの保存

サーバーの再起動後にルールがリセットされないようにするには、ルールを保存する必要があります。

apt update
apt install iptables-persistent -y
netfilter-persistent save
Linuxシステムにファイアウォールルール(iptables)をインストールして保存する。

インストール中に、現在の IPv4/IPv6 ルールを保存するかどうかを尋ねるプロンプトが表示される場合があります。その場合は、両方とも「はい」を選択してください。

ファイアウォール設定(UFW)

必要なポートはすべてすぐに開きますので、後でこの手順に戻る必要はありません。SSH 用の 22 (これをスキップするとサーバーから締め出されます)、Hysteria2 用の 443/udp、TUIC 用の 8443/udp です。

apt install ufw -y
ufw allow 22/tcp
ufw allow 443/udp
ufw allow 8443/udp
ufw --force enable
ufw status
UFWのインストールと設定。

ufw status の出力には、3 つのルールすべてがアクティブとして表示されるはずです。

ヒステリー2

Hysteria2サーバーのインストール

chmod +x hysteria-linux-amd64
mv hysteria-linux-amd64 /usr/local/bin/hysteria
hysteria version
ファイルをシステムディレクトリに移動(および名前変更)します。 ヒステリー版の出力。

バージョン出力にエラーがないことを確認してください。これにより、バイナリが正しく動作していることが確認できます。

自己署名SSL証明書の作成

お客様のコンピュータとサーバー間の通信を保護するために、弊社独自の暗号化キーが必要です。弊社はドメインを保有していないため、365日間有効な自己署名証明書を生成します。そのため、後ほどクライアント側で「証明書の検証をスキップ」を有効にする必要があります。

mkdir -p /etc/hysteria
chmod 755 /etc/hysteria
 
openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /etc/hysteria/private.key \
  -out /etc/hysteria/cert.crt \
  -subj "/CN=YOUR_SERVER_IP"
作業ディレクトリと自己署名証明書を作成します。
ls -la /etc/hysteria/

cert.crtとprivate.keyの両方がリストに表示される必要があります。

設定ファイルの作成

nano /etc/hysteria/config.yaml

以下の内容を貼り付け、YOUR_PASSWORDの部分をご自身のパスワード(英字と数字のみ、スペースなし)に置き換えてください。

listen: :443
 
tls:
  cert: /etc/hysteria/cert.crt
  key: /etc/hysteria/private.key
 
auth:
  type: password
  password: "YOUR_PASSWORD"
 
masquerade:
  type: proxy
  proxy:
    url: https://cloudflare.com
    rewriteHost: true
 Hysteria VPNサーバーの設定。

マスカレードブロックは、誰かがブラウザでサーバーのIPアドレスを開いた際に、プロキシの痕跡を露呈させるのではなく、サーバーが通常のウェブサイトのように見えるようにします。

保存(Ctrl+O、Enter)して終了(Ctrl+X)します。

自動起動の設定

nano /etc/systemd/system/hysteria.service
NanoテキストエディタでHysteria2のシステムサービスファイルを開く(または作成する)。

Hysteria2の自動起動のためのsystemdユニットファイル。 

[Unit]
Description=Hysteria2 Server
After=network.target
 
[Service]
Type=simple
ExecStart=/usr/local/bin/hysteria server --config /etc/hysteria/config.yaml
Restart=on-failure
RestartSec=5
 
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now hysteria.service
systemctl status hysteria.service
このブロックは、Hysteria 用のシステムサービスを作成し、起動します。 ヒステリー誘発デモンストレーション。

ステータスは「アクティブ(実行中)」と表示されるはずです。コンソールがログビューで「フリーズ」している場合は、Qキーを押して終了してください。

TUIC v5

TUICのダウンロードとインストール

mkdir -p /usr/local/sbin/tuic

利用可能なリリースを確認してください:

curl -s https://api.github.com/repos/tuic-protocol/tuic/releases | grep -Po '"tag_name": "\K[^"]*' | head -10
curlを使用して利用可能なTUICリリースを確認する

サーバーバイナリをダウンロードしてください。1.0.0の部分を現在のバージョン番号に置き換えてください。

wget https://github.com/tuic-protocol/tuic/releases/download/1.0.0/tuic-server-1.0.0-x86_64-unknown-linux-gnu \
  -O /usr/local/sbin/tuic/tuic-server
chmod +x /usr/local/sbin/tuic/tuic-server
/usr/local/sbin/tuic/tuic-server --version
Tuicサーバー側をダウンロード、インストール、テストしてください。

TUIC用の自己署名証明書を作成する

openssl req -x509 -nodes -days 365 -newkey rsa:2048 \
  -keyout /usr/local/sbin/tuic/privkey.pem \
  -out /usr/local/sbin/tuic/fullchain.pem \
  -subj "/CN=YOUR_SERVER_IP"
 
ls -la /usr/local/sbin/tuic/
TUIC用の自己署名証明書を生成する

UUIDを生成する

apt install uuid-runtime -y
普遍的に一意な識別子(UUID)を生成するためのユーティリティ群であるuuid-runtimeパッケージをインストールします。
uuidgen
単一の普遍的に一意な識別子(UUID)を生成して表示する。

生成されたUUIDをコピーしてください。このUUIDは、後述のサーバー設定とクライアント設定の両方で必要になります。

設定ファイルの作成

TUICサーバーの完成したconfig.jsonファイル:

nano /usr/local/sbin/tuic/config.json
{
    "server": "[::]:8443",
    "users": {
        "YOUR_UUID": "YOUR_TUIC_PASSWORD"
    },
    "certificate": "/usr/local/sbin/tuic/fullchain.pem",
    "private_key": "/usr/local/sbin/tuic/privkey.pem",
    "congestion_control": "bbr",
    "alpn": ["h3"],
    "log_level": "warn"
}
Tuicサーバーの設定ファイルを/usr/local/sbin/tuic/config.jsonに作成します。

ここではポート8443を使用します。443番ポートは既にHysteria2で使用されているためです。YOUR_UUIDを手順4.3の値に、YOUR_TUIC_PASSWORDをご自身のパスワードに置き換えてください。

保存(Ctrl+O、Enter)して終了(Ctrl+X)します。

手動始動のテスト

/usr/local/sbin/tuic/tuic-server -c /usr/local/sbin/tuic/config.json
指定された設定ファイルを使用してTuicサーバーを起動します。

エラーが表示されなければ、設定は有効です。Ctrl+Cで停止し、自動起動の設定に進んでください。

自動起動の設定

nano /etc/systemd/system/tuic-server.service
nanoテキストエディタで、Tuicサーバーのシステムサービスファイルを開く(または作成する)。
[Unit]
Description=TUIC Server
After=network.target nss-lookup.target
 
[Service]
User=root
WorkingDirectory=/usr/local/sbin/tuic
ExecStart=/usr/local/sbin/tuic/tuic-server -c config.json
Restart=on-failure
RestartPreventExitStatus=1
RestartSec=5
 
[Install]
WantedBy=multi-user.target
systemctl daemon-reload
systemctl enable --now tuic-server.service
systemctl status tuic-server.service
それでは、Tuic用のsystemdサービスを作成して実行してみましょう。

ステータスはアクティブ(実行中)と表示されるはずです。

現在、サーバー上では、最も優れた高速な最新プロトコルのうち2つが並行して動作しており、どちらも通常のQUIC/HTTPSトラフィックを装っています。標準ポート443/udpではHysteria2が、ポート8443/udpではTUIC v5が動作しています。

Windowsから接続しています

Hiddifyのインストール

Hiddify for Windowsを公式サイト(https://hiddify.com)からダウンロードしてインストールしてください。「次へ」または「インストール」をクリックしてインストーラーを進めてください。Windows SmartScreenが表示された場合は、「詳細情報」→「とにかく実行」を選択してください。

ヒステリア2のプロフィール

「+(新規プロファイル)」→「手動入力」→プロトコル「Hysteria2 」をクリックし、以下を入力してください。

フィールド

プロファイル名

私のHysteria2サーバー

住所

あなたのサーバーIPアドレス

ポート

443

パスワード

ステップ3.3のパスワード

SNI

あなたのサーバーIPアドレス

証明書の検証をスキップ

On

証明書は自己署名証明書であるため、信頼できる認証局が存在しないため、「証明書の検証をスキップ」を有効にする必要があります。

TUIC v5プロファイル

「+(新規プロファイル)」→「手動入力」→「プロトコルTUIC 」をクリックし、以下を入力してください。

フィールド

プロファイル名

私のTUICサーバー

住所

あなたのサーバーIPアドレス

ポート

8443

UUID

ステップ4.3のUUID

パスワード

ステップ4.4のパスワード

輻輳制御

bbr

SNI

あなたのサーバーIPアドレス

証明書の検証をスキップ

On

接続と検証

プロフィールを選択し、大きな丸い「接続」ボタンをクリックしてください。ステータスが「接続済み」に変わります。

トラフィックが実際にサーバーを経由していることを確認するには、ブラウザでIPアドレス確認サービスを開いてください。表示されるアドレスがYOUR_SERVER_IPと一致するはずです。

結論

このガイドを完了すると、サーバー上で2つの高速な次世代プロトコル(ポート443/UDPのHysteria2とポート8443/UDPのTUIC v5)が並行して動作するようになります。どちらのプロトコルも、送信トラフィックを標準的な暗号化されたQUIC接続(HTTP/3)として偽装するため、極めて不安定なチャネルでも安定した接続が確保されます。

設定済みのプロファイルは、Windowsだけでなく、同様の設定でAndroidまたはiOS版のHiddifyモバイルアプリにもインポートして使用できます。

接続に問題が発生した場合は、まず systemctl status コマンド hysteria.service (または tuic-server.service) を使用してサービスの状態を確認し、ファイアウォールルールが有効になっていること (ufw status) を確認してから、IP アドレス、UUID、パスワードが正しく入力されていることを再度確認してください。なお、自己署名証明書は 365 日間有効ですので、ちょうど 1 年経過したら、同じ openssl req コマンドを使用して更新する必要があります。

❮ 前の記事 SPF、DKIM、DMARCの設定
次の記事❯ AmneziaWGサーバー導入ガイド

VPSについてお問い合わせください

私たちは昼夜を問わずいつでもお客様のご質問にお答えする準備ができています。