Premium コアは TUN デバイスに対応しています。ネットワーク層のデバイスとして TCP、UDP、ICMP 通信を処理でき、本番環境で広くテストされ利用されています。対戦型ゲームにも使用できます。
Clash TUN の大きな利点の一つは、オペレーティングシステムのルーティングテーブル、ルーティングルール、nftable を自動管理できることです。tun.auto-route と tun.auto-redir オプションで有効にできます。この機能は古い設定オプション redir-port(TCP)を置き換え、設定を簡単にして安定性を高めます。
ヒント
tun.auto-route は macOS、Windows、Linux、Android でのみ利用でき、IPv4 トラフィックだけを受信します。tun.auto-redir は Linux でのみ利用できます(カーネルの netlink 対応が必要です)。
Clash では、system と gvisor の二種類の 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 機能の設定例:
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 をスーパーユーザー権限で実行する必要があります。
sudo ./clashデバイスにすでに複数の TUN デバイスがあると、Clash TUN が動作しない場合があります。その際は、ルーティングテーブルとルーティングルールを手動で確認してください。状況によっては fake-ip-filter も役立ちます。
Windows
WinTUN 公式サイト にアクセスして最新版をダウンロードしてください。その後、wintun.dll を Clash のメインディレクトリへコピーします。設定例:
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` 冲突