Linux—Clash的tun模式(全局透明代理)

1、下载mihomo

https://github.com/MetaCubeX/mihomo/releases/

下载的时候一定要注意平台类型,分arm、linux及darwin的不同版本。

2、解压并安装

gunzip mihomo-linux-arm64-v1.19.21.gz
chmod 755 mihomo-linux-arm64-v1.19.21
mv mihomo-linux-arm64-v1.19.21 /usr/sbin/clash

3、配置clash的订阅

vim /opt/ClashMeta/config/config.yaml

登录到X梯复制Clash订阅地址放到浏览器,把配置文件下载后进行配置。

port: 7890
socks-port: 7891
redir-port: 7892
allow-lan: true
mode: rule
log-level: info
external-controller: '0.0.0.0:9090'
secret: ''

tun:
  enable: true
  stack: system
  auto-route: true
  strict-route: false
  auto-detect-interface: true
  dns-hijack:
  - any:53

dns:
  enable: true
  enhanced-mode: fake-ip
  nameserver:
    - 223.5.5.5
    - 8.8.8.8
proxies:
  -
    name: PRO-A-香港-HK01
    type: ssr
    server: 8b66fee1041c35dc.80f42b15d30109ec.tencent-cloud01.net
.....

4、初始化配置

mkdir /opt/ClashMeta/config
clash -d /opt/ClashMeta/config

初始化的过程会下载MMDB文件,如果由于无法下载该文件而导致初始化失败,那么可以按照【步骤4】手工下载。

5、下载MMDB

https://github.com/P3TERX/GeoLite.mmdb/releases

分三个版本,用于判断ip属于哪个国家,以便判断是否为国外流量,因此只下载GeoLite2-Country.mmdb版本即可。

cp GeoLite2-Country.mmdb /opt/ClashMeta/config
cd /opt/ClashMeta/config
mv GeoLite2-Country.mmdb geoip.metadb

6、配置服务

# vim /etc/systemd/system/clash.service

[Unit]
Description=Clash Meta
After=network.target

[Service]
ExecStart=/usr/sbin/clash -d /opt/ClashMeta/config
Restart=always
User=root

[Install]
WantedBy=multi-user.target

启动服务

systemctl enable clash
systemctl start clash

7、配置流量

TUN 模式下流量是怎么走的

开启 TUN 后:

系统所有流量 → TUN 虚拟网卡 → mihomo 内核 → 路由规则 → 策略组 → 节点

👉 关键点在这两层:

  1. rules(规则)
  2. proxy-groups(策略组)

你这堆节点本身不会被“自动用

你贴的这些:

- name: PRO-A-香港-HK07
- name: PRO-A-香港-HK08

👉 只是“候选节点池”,不会直接用

真正决定权在:

proxy-groups:

核心:策略组决定用哪个节点

常见几种模式👇

1️⃣ 手动选择(select)

proxy-groups:
- name: Proxy
type: select
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08

👉 行为:

  • 默认用第一个
  • 你可以在客户端手动切换

2️⃣ 自动延迟最低(url-test)🔥推荐

proxy-groups:
- name: Auto
type: url-test
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08
url: http://www.gstatic.com/generate_204
interval: 300

👉 行为:

  • 自动测速
  • 选延迟最低的节点

3️⃣ 故障切换(fallback)

- name: Fallback
type: fallback
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08
url: http://www.gstatic.com/generate_204
interval: 300

👉 行为:

  • 默认用第一个
  • 挂了自动切换

4️⃣ 负载均衡(load-balance)

- name: LoadBalance
type: load-balance
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08
strategy: round-robin

👉 行为:

  • 请求轮询分配
  • 多连接分散

真正决定“哪些流量走代理”

看 rules 👇

rules:
- GEOIP,CN,DIRECT
- MATCH,Proxy

👉 含义:

  • 国内 → 直连
  • 其他 → 走 Proxy 组

TUN 模式默认策略(很多人踩坑点)

如果你没配规则,通常:

- MATCH,Proxy

👉 就会导致:
👉 所有流量都走代理组

推荐一套标准配置(直接用)

proxy-groups:
- name: Proxy
type: url-test
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08
url: http://www.gstatic.com/generate_204
interval: 300rules:
- GEOIP,CN,DIRECT
- MATCH,Proxy

👉 效果:

  • 国内直连
  • 国外自动选最快节点

进阶(工程师建议直接这样搞)

可以做分流:

proxy-groups:
- name: HK
type: url-test
proxies:
- PRO-A-香港-HK07
- PRO-A-香港-HK08 - name: Proxy
type: select
proxies:
- HK
- DIRECT