Premium 版 · Clash ドキュメント

機能:TUN デバイス

Clash Premium TUN が TCP、UDP、ICMP を取り込む仕組みと、auto-route、auto-redir、system/gvisor、DNS ハイジャック、各 OS の制限を確認します。

  • auto-route
  • auto-redir
  • dns-hijack
  • gvisor
  • interface-name
Premium 版

Premium コアは TUN デバイスに対応しています。ネットワーク層のデバイスとして TCP、UDP、ICMP 通信を処理でき、本番環境で広くテストされ利用されています。対戦型ゲームにも使用できます。

Clash TUN の大きな利点の一つは、オペレーティングシステムのルーティングテーブル、ルーティングルール、nftable を自動管理できることです。tun.auto-routetun.auto-redir オプションで有効にできます。この機能は古い設定オプション redir-port(TCP)を置き換え、設定を簡単にして安定性を高めます。

ヒント

tun.auto-route は macOS、Windows、Linux、Android でのみ利用でき、IPv4 トラフィックだけを受信します。tun.auto-redir は Linux でのみ利用できます(カーネルの netlink 対応が必要です)。

Clash では、systemgvisor の二種類の TCP/IP スタックを選べます。最良の性能を得るには system を優先し、互換性の問題がある場合だけ gvisor を使用してください。その場合は、直ちに Issue を作成してください

技術上の制限

  • Android では制御デバイスが /dev/net/tun ではなく /dev/tun にあるため、先にシンボリックリンクを作成する必要があります(例:ln -sf /dev/tun /dev/net/tun)。

  • システム DNS がプライベート IP アドレスを使用していると、DNS ハイジャックに失敗する場合があります(auto-route はプライベートネットワークのトラフィックを捕捉しないためです)。

Linux、macOS、Windows

TUN 機能の設定例:

yaml
interface-name: en0 # 与 `tun.auto-detect-interface` 冲突

tun:
  enable: true
  stack: system # or gvisor
  # dns-hijack:
  #   - 8.8.8.8:53
  #   - tcp://8.8.8.8:53
  #   - any:53
  #   - tcp://any:53
  auto-route: true # manage `ip route` and `ip rules`
  auto-redir: true # manage nftable REDIRECT
  auto-detect-interface: true # 与 `interface-name` 冲突

TUN デバイスを使用し、システムのルーティングテーブルと nftable を操作するため、ここでは Clash をスーパーユーザー権限で実行する必要があります。

shell
sudo ./clash

デバイスにすでに複数の TUN デバイスがあると、Clash TUN が動作しない場合があります。その際は、ルーティングテーブルとルーティングルールを手動で確認してください。状況によっては fake-ip-filter も役立ちます。

Windows

WinTUN 公式サイト にアクセスして最新版をダウンロードしてください。その後、wintun.dll を Clash のメインディレクトリへコピーします。設定例:

yaml
tun:
  enable: true
  stack: gvisor # or system
  dns-hijack:
    - 198.18.0.2:53 # 当 `fake-ip-range` 是 198.18.0.1/16, 应该劫持 198.18.0.2:53
  auto-route: true # 为 Windows 自动设置全局路由
  # 推荐使用 `interface-name`
  auto-detect-interface: true # 自动检测接口, 与 `interface-name` 冲突