目标很直接: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 流量
编辑文件:
|
|
关键配置如下:
|
|
改完重启 Clash:
|
|
这一段就看三项:
- 排除 Tailscale 网段
100.64.0.0/10 - 排除网卡
tailscale0 - 不要把
tailscale.net和内网段塞进 fake-ip
2) 再改 Tailscale:关闭 DNS 接管
执行:
|
|
关键参数:
--accept-dns=false:最关键,避免和 Clash 抢 DNS--ssh:开启 Tailscale 内置 SSH(可选)--netfilter-mode=on:让 Tailscale 正常管理自己的网络规则
3) 最后放行防火墙
如果你开了 UFW,执行:
|
|
第一条是放行 Tailscale 网卡入站,第二条是保证 SSH 端口可访问。
三、验证
按顺序检查:
- 检查 Tailscale 状态
|
|
确认状态是 Online,并且设备地址正常。
- 测试 tailnet 内部连通性
|
|
如果 Clash 开启时也能通,说明 Tailscale 流量没有被错误接管。
- 测试 SSH
|
|
可以登录,基本说明路由、DNS、防火墙都已打通。