Linux 上 Clash 和 Tailscale 共存实操

目标很直接:Clash 负责代理,Tailscale 负责组网,两边同时稳定运行。 实际问题通常是这样:Clash 开启 TUN 后,tailnet 访问异常;Tailscale 接管 DNS 后,Clash 的 fake-ip 解析又不稳定。 可行做法是: Clash 排除 Tailscale 网段和网卡,Tailscale 关闭 DNS 接管。 一、为什么会冲突 两边都会改路由和 DNS,冲突主要有 3 个: 路由冲突 Clash TUN 默认接管系统流量,可能把 Tailscale 的 100.64.0.0/10 也带进去。 DNS 冲突 Tailscale 默认启用 MagicDNS,会改系统 DNS;Clash fake-ip 也依赖 DNS 控制,两边会互相干扰。 防火墙拦截 就算前两步都配好了,tailscale0 没放行的话,入站流量还是会被系统挡掉。 二、实操步骤 1) 先改 Clash:排除 Tailscale 流量 编辑文件: 1 ~/clashctl/resources/mixin.yaml 关键配置如下: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 tun: enable: true stack: system auto-route: true route-exclude-address: - 100.64.0.0/10 exclude-interface: - tailscale0 dns: enable: true enhanced-mode: fake-ip fake-ip-filter: - "+.tailscale.net" - "100.64.0.0/10" 改完重启 Clash: ...