TUNモード
TUN(ネットワークトンネル)モードはカーネルレベルで仮想ネットワークアダプタを作成し、ドライバ層で全TCP/UDPトラフィックを捕捉して、真のグローバル透明プロキシを実現します。アプリ側でプロキシ対応していなくても利用可能です。
- ゲームクライアント(Steam、Epic、UPlay)がシステムプロキシを無視し、高遅延や接続失敗が発生する
git clone、npm install、pip installなどのCLIツールでプロキシを使いたい- Electronアプリ(VS Code、Discord)が内部通信でシステムプロキシを迂回する
- UDPトラフィック(音声通話、DNS-over-UDP、ゲームUDP)も透過的にプロキシしたい
TUNモードの有効化手順
TUN設定例
# TUN mode configuration
tun:
enable: true
stack: mixed # mixed = gVisor(UDP) + system(TCP), best compatibility
auto-route: true # auto-add routing rules for TUN interface
auto-redirect: true # auto-redirect TCP connections (Linux)
auto-detect-interface: true
dns-hijack:
- any:53 # intercept all DNS queries to prevent leaks
strict-route: true # stricter routing, prevents traffic bypass
mixed は互換性が最も高く(TCPはsystem、UDPはgVisor)、純粋な system は高性能ですがUDP互換が弱め、gvisor はUDP対応が最も広い代わりにCPU負荷がやや高くなります。
GEOIP,CN,DIRECT などの直結ルールを必ず含めてください。
YAML ルール設定
Clashは設定ファイル内の rules で通信先を制御します。国内はDIRECT、海外はPROXY、広告ドメインは遮断といった分岐が可能です。ルールは上から順に評価され、最初に一致したものが適用されます。
ルール種別クイックリファレンス
| ルール種別 | マッチ条件 | 例 |
|---|---|---|
DOMAIN |
完全一致ドメイン | DOMAIN,google.com,PROXY |
DOMAIN-SUFFIX |
ドメイン接尾辞(サブドメイン含む) | DOMAIN-SUFFIX,github.com,PROXY |
DOMAIN-KEYWORD |
キーワードを含むドメイン | DOMAIN-KEYWORD,google,PROXY |
IP-CIDR |
IPアドレス範囲 | IP-CIDR,192.168.0.0/16,DIRECT |
GEOIP |
IP地理情報(国/地域) | GEOIP,CN,DIRECT |
RULE-SET |
外部ルールセットファイル | RULE-SET,reject,REJECT |
MATCH |
最終キャッチオール(末尾必須) | MATCH,PROXY |
完全なルーティング設定例
# proxy groups
proxy-groups:
- name: PROXY
type: select
proxies:
- Auto-Speed-Test
- HK-01
- US-01
- name: Auto-Speed-Test
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300
proxies:
- HK-01
- US-01
# rule-sets from community-maintained lists
rule-providers:
reject:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/reject.txt"
path: ./ruleset/reject.yaml
interval: 86400
proxy:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/proxy.txt"
path: ./ruleset/proxy.yaml
interval: 86400
direct:
type: http
behavior: domain
url: "https://cdn.jsdelivr.net/gh/Loyalsoldier/clash-rules@release/direct.txt"
path: ./ruleset/direct.yaml
interval: 86400
# rules — matched top to bottom, first match wins
rules:
- RULE-SET,reject,REJECT # block ads/trackers
- RULE-SET,direct,DIRECT # CN domains → direct
- RULE-SET,proxy,PROXY # known proxy domains
- DOMAIN-SUFFIX,cn,DIRECT
- GEOIP,LAN,DIRECT
- GEOIP,CN,DIRECT
- MATCH,PROXY # everything else → proxy
DNS汚染対策設定
DNS汚染が発生すると、海外ドメインが誤ったIPへ解決され、接続失敗やトラフィックハイジャックの原因になります。ClashのDNSモジュールはDoH/DoT暗号化に対応し、国内外ドメインを別々のDNSで解決することで、速度と安全性を両立できます。
UDP 53の平文通信は改ざんされやすく、海外ドメインがブロックIPや誤IPへ誘導される恐れがあります。
DNS-over-HTTPSまたはDNS-over-TLSにより、問い合わせをTLSで保護します。改ざんや汚染のリスクを大幅に下げられます。
推奨DNS設定(国内外で分離解決)
dns:
enable: true
ipv6: false
listen: 0.0.0.0:53
enhanced-mode: fake-ip # fake-ip prevents DNS leaks, recommended
fake-ip-range: 198.18.0.1/16
# Nameservers for domains NOT matched by nameserver-policy
nameserver:
- https://dns.google/dns-query # Google DoH
- https://cloudflare-dns.com/dns-query # Cloudflare DoH
- tls://1.1.1.1:853 # Cloudflare DoT
# Fallback: used when nameserver returns potentially polluted result
fallback:
- https://dns.google/dns-query
- https://doh.pub/dns-query # Tencent DoH (fast in CN)
# Fallback filter: if GEOIP is CN → use nameserver; else use fallback
fallback-filter:
geoip: true
geoip-code: CN
ipcidr:
- 240.0.0.0/4
# Policy: route specific domains to specific servers
nameserver-policy:
"geosite:cn":
- https://doh.pub/dns-query # fast domestic resolver for CN domains
- 114.114.114.114
"geosite:geolocation-!cn":
- https://dns.google/dns-query
- https://cloudflare-dns.com/dns-query
各ドメインへ仮想IPを割り当て、接続時に実IPを解決する方式です。DNSリークを防ぎやすく、解決速度も高速です。
接続前に実IPを取得する方式で、実IPを必要とするアプリとの互換性が高い一方、DNSリークリスクはわずかに残ります。
サブスクリプション管理と自動更新
サブスクリプションURLは、プロキシサービスが配布するノード情報入りのYAMLリンクです。proxy-providers を使えば、複数のサブスクリプションを設定ファイルから直接参照し、更新間隔も自動化できます。
方法1: クライアントへサブスクリプションURLを直接取り込む
https:// で始まり、取得するとYAMLが返ります。
方法2: proxy-providers(複数サブスクリプション統合)
複数プロバイダを使う上級ユーザーや、サブスクリプションとカスタムルールを分離したい場合に最適です。
# Reference multiple subscription sources
proxy-providers:
AirportA:
type: http
url: "https://your-airport-a.com/clash/subscribe?token=xxx"
interval: 86400 # refresh every 24 hours
path: ./providers/airport_a.yaml
health-check:
enable: true
interval: 600
url: https://www.gstatic.com/generate_204
AirportB:
type: http
url: "https://your-airport-b.com/clash/subscribe?token=yyy"
interval: 86400
path: ./providers/airport_b.yaml
health-check:
enable: true
interval: 600
url: https://www.gstatic.com/generate_204
# Use providers in proxy groups
proxy-groups:
- name: PROXY
type: select
use:
- AirportA # include all nodes from AirportA
- AirportB # include all nodes from AirportB
- name: Auto-Best
type: url-test
use:
- AirportA
- AirportB
url: https://www.gstatic.com/generate_204
interval: 300
よくあるサブスクリプション問題
取り込み後に「ノードなし」または空表示になる
サブスクリプション更新時にネットワークエラーが出る
ローカルYAMLとオンラインサブスクリプションを併用したい
proxy-providers で参照し、ローカルノードは proxies へ手動追加します。proxy-groups で use(provider)と proxies(手動)を併記すれば統合運用できます。
遅延テストと最適化
Clashのプロキシグループは自動ルーティングに対応しています。url-test は最小遅延ノードを自動選択、fallback は障害時に自動切替、load-balance は複数ノードへ分散して処理します。
url-test
最も一般的
テストURLに定期アクセスして、最も遅延の低いノードへ自動切替します。ゲームやストリーミングなど遅延に敏感な用途に最適です。
fallback
通常は先頭ノードを使用し、利用不可時に次ノードへ切り替えます。優先ノードを固定しつつ冗長化したい場合に向いています。
load-balance
複数ノードへトラフィックを分散し、総合帯域を向上させます。複数ダウンロードを同時実行する場面に適しています。
遅延テスト用プロキシグループ設定例
proxy-groups:
# Auto select lowest-latency node
- name: Auto-Best
type: url-test
url: https://www.gstatic.com/generate_204
interval: 300 # test every 5 minutes
tolerance: 50 # switch only if new node is 50ms faster (prevents thrashing)
lazy: true # only test when traffic is present
proxies:
- HK-01
- HK-02
- US-01
- SG-01
# Failover: use HK-01 first, switch if unavailable
- name: Failover
type: fallback
url: https://www.gstatic.com/generate_204
interval: 180
proxies:
- HK-01 # primary
- US-01 # backup 1
- SG-01 # backup 2
# Load balance across multiple nodes
- name: LoadBalance
type: load-balance
strategy: consistent-hashing # same domain always uses same node
url: https://www.gstatic.com/generate_204
interval: 300
proxies:
- HK-01
- US-01
- SG-01
# Manual selection group (top-level entry point)
- name: PROXY
type: select
proxies:
- Auto-Best
- Failover
- LoadBalance
- HK-01
- US-01
https://www.gstatic.com/generate_204(Google 204)または https://cp.cloudflare.com/generate_204(Cloudflare 204)がおすすめです。応答が速く安定しており、内容の影響を受けにくいURLです。