有没有老哥成功使用 magisk-tailscaled 实现 tailscale 和 clash 在安卓上共存的

220 天前
 Ploter

最近在尝试使用 Tailscale ,使用体验非常美好,但我在墙内又养成了一直挂着 clash 的习惯,所以就出现了一个很痛苦的问题:Tailscale 和 clash 冲突了。

网上(包括 v2 )看了很多,大多都是说用 tailscale 的 exit node 模式,但我的设备(家里)只有一台 root 的安卓、一台 Ubuntu Server 配 clash-docker ,一台 windows ,我尝试去设置 Ubuntu 为 exit-node ,但照样不能如愿,不知道具体怎么设置。( Ubuntu 是 ping 不通 google 的)

于是我就想能不能从问题源头安卓手机这下手,还真给我搜到了个 Magisk-Tailscaled,用 KernelSU 安装模块之后,按照步骤,在 Tailscale 管理界面确实能看见设备连接上了,但没办法直接通过类似 http://100.x.y.z:8080 访问其他设备的服务。翻遍项目的 issues ,得知如果要用的话得配置 sock5 代理,然后通过 clash 这种代理软件进行分流。

问题就出在这了,我配置了之后甚至成功过一次,但重启后就失效了……


以下是我在手机终端的操作:

tailscaled -tun=userspace-networking -statedir=/data/adb/tailscale/tmp/ -state=/data/adb/tailscale/tmp/tailscaled.state -socket=/data/adb/tailscale/tmp/tailscaled.sock -port=41641 -socks5-server=localhost:41099

后面这段 -socks5-server=localhost:41099 是我从一篇博客得知的,也即我的 socks5 端口设为 41099 。

tailscaled.service start
tailscale login

以下是 clash 配置文件:

dns:
  ...
  nameserver-policy:
  "*.tailscale.io": 8.8.8.8
proxies:
  - { name: tailscale, type: socks5, server: 127.0.0.1, port: 41099}
  ...
rules:
  ...
  - 'IP-CIDR,100.64.0.0/10,tailscale,no-resolve'
  - 'DOMAIN-SUFFIX,tailscale.com,DIRECT'
  - 'DOMAIN-SUFFIX,tailscale.io,DIRECT'

按照上面流程下来是成功过一次,但重启之后怎么都成功不了。

3194 次点击
所在节点    问与答
24 条回复
shoper
220 天前
没太明白,OP 都 tailscale 回家了,为啥手机上还要开 clash ?
Ploter
220 天前
@shoper 因为我在墙内_(:з」∠)_
家里的设备也只是一台 Ubuntu Server ,而不是 openwrt 。
standin000
220 天前
ubuntu 不是更强大,做个代理很方便
Ploter
220 天前
@standin000 能给点关键词我搜搜吗
我在 .bashrc 设置 http_proxy 没用
Ploter
220 天前
@standin000 你的意思难道是做个 SS 服务器,然后直接通过 clash 回家吗
ovoo
220 天前
如果自建梯子:
在梯子上安装 tailscale ,
clash 配置 100.64.0.0/10 走这个梯子就行了
ovoo
220 天前
或者反过来,
Ubuntu 上安装运行 clash ,以及 tailscale 设置为 exit
node

安卓端 use exit node 指定为 ubuntu
Ploter
220 天前
@ovoo 刚参照这篇[博客]( https://zhichao.org/posts/c4fc1f)在 ubuntu 上安装 clash 并设置为 tun 透明代理,但 `ping google.com` 时显示如下:
```
krdw@thinkpad:~$ ping google.com
PING google.com (198.18.0.6) 56(84) bytes of data.
^C
```
Puteulanus
220 天前
Ubuntu Server 或者 Windows 上能跑虚拟机吗,给个 512M 内存跑个 openwrt ,把 openclash 和 tailscale 都挂上,设成 exit node ,还能给家里的设备当旁路由
ovoo
220 天前
@Ploter 这是 fakedns 引起的。把域名添加到 clash 配置文件 fake-ip-filter 里即可
ovoo
220 天前
@Ploter 如果 clash 里要使用 MagicDNS :

配置文件添加:
search-domains: [local, 此处添加你的 Tailnet name: xxxx.ts.net ] # A/AAAA 记录的搜索域
nameserver-policy:
"+.ts.net": "100.100.100.100"

可以实现浏览器里通过主机名访问服务
Ploter
177 天前
@Puteulanus 我前几天买了个软路由当主路由,里面开了 openClash ,设置 exit node 还是不能翻……不知道什么原因,明明用一些 IP 测试站测出来都是 exit node 节点的 IP 。
Puteulanus
177 天前
@Ploter 那有可能是 DNS 的问题了(代理已经通了,但是域名还是被污染的),我用的 passwall + tailscale 是没问题
Ploter
177 天前
@Puteulanus #13 感谢老哥回复,我过几天空了再试试。
原本以为买个软路由就能直接解决这问题来着……
xiaoheicat
146 天前
Ploter
146 天前
@xiaoheicat #15 感谢老哥回复,可我这是安卓端,电脑端只要 clash 做代理就行了。
erji222
142 天前
搞定了么,我也有这个需求,不想手机上 tailscale 和 clash 来回切
Ploter
142 天前
@erji222 这不巧了吗,你看看附言,就在你问的三分钟前。
erji222
141 天前
哈哈 不错 这样只能在 Firefox 里通过 Clash 访问了,APP 通过 Clash 还是需要手动切换的吧
Ploter
141 天前
@erji222 #19 是的,起码减少了切换的次数,虽然切换也变得麻烦了。现在手机看 V2 只好走浏览器了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1034287

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX