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 提供兩種 TCP/IP 協定堆疊:system 或 gvisor。為獲得最佳效能,建議優先使用 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 功能的示例設定:
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` 冲突