Premium 版本 · Clash文件

功能:TUN 裝置

用 Clash Premium TUN 接管 TCP、UDP 與 ICMP 時,核對 auto-route、auto-redir、system/gvisor 和 DNS 劫持設定,確認系統限制再啟用。

  • auto-route
  • auto-redir
  • dns-hijack
  • gvisor
  • interface-name
Premium 版本
本文章節

歷史文件適用範圍

本文保留原版 Clash / Clash Premium 的歷史用法,供核對舊設定。文中的「僅 Premium」「暫不支援」及平台限制不代表目前 Mihomo 的能力;請勿據此覆蓋現用客戶端設定或執行權限相關指令。

使用 Mihomo 時,請對照 Mihomo 目前的設定文件;圖形介面、安裝與授權操作則以 對應客戶端的專案說明 為準。

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。

下文保留原版 Premium 的 system/gvisor 用法。處理目前的 TUN 故障時,請先確認實際核心與客戶端版本;介面、安裝或權限問題請向對應客戶端回報,確認屬於 Mihomo 核心的問題後,再使用 Mihomo 問題回報。不確定專案歸屬時,可先查看 客戶端與專案來源;原版 Clash 的新增 Issue 入口已失效。回報前請移除日誌與設定中的訂閱權杖、密碼等資訊。

技術限制

  • 在 Android 上,控制裝置位於 /dev/tun,而非 /dev/net/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` 冲突