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 版本

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 提供兩種 TCP/IP 協定堆疊:systemgvisor。為獲得最佳效能,建議優先使用 system,只有遇到相容性問題時才改用 gvisor。若發生此類問題,請立即提交 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` 冲突