高度な使い方 · Clash ドキュメント

ルールベースの WireGuard

特定の通信だけを WireGuard に通すには、デフォルトルートの取り込みを無効にしてから、interface-name、DIRECT、DOMAIN ルールで通信を wg0 に送ります。AllowedIPs、MTU、endpoint も確認してください。

  • WireGuard
  • interface-name
  • AllowedIPs
  • MTU
  • endpoint
高度な使い方

過去のドキュメントの適用範囲

この記事は、旧設定を確認するために原版 Clash / Clash Premium の過去の使い方を残しています。「Premium のみ」「未対応」やプラットフォームの制限は、現在の Mihomo の機能を示すものではありません。そのまま現在の設定に上書きしたり、権限に関するコマンドを実行したりしないでください。

Mihomo を使う場合は 現在の Mihomo 設定ドキュメント を参照してください。画面操作、インストール、権限の設定は 使用するクライアントのプロジェクトドキュメント に従います。

カーネルが Wireguard に対応し、すでに有効になっているものとします。Table オプションを使うと、wg-quick が既定のルートを上書きするのを防げます。

wg0.conf の例:

ini
[Interface]
PrivateKey = ...
Address = 172.16.0.1/32
MTU = ...
Table = off
PostUp = ip rule add from 172.16.0.1/32 table 6666

[Peer]
AllowedIPs = 0.0.0.0/0
AllowedIPs = ::/0
PublicKey = ...
Endpoint = ...

続いて Clash では、アウトバウンドインターフェースを指定した DIRECT ポリシーグループを一つ用意するだけです:

yaml
proxy-groups:
  - name: Wireguard
    type: select
    interface-name: wg0
    proxies:
      - DIRECT
rules:
  - DOMAIN,google.com,Wireguard

通常は、Clash 独自のユーザー空間 Wireguard クライアントよりも高い性能が得られます。Wireguard はカーネル内で動作します。