有没有老哥成功使用 magisk-tailscaled 实现 tailscale 和 clash 在安卓上共存的 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
k1rin
V2EX    问与答

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

  •  
  •   k1rin 2024-04-21 02:26:02 +08:00 6385 次点击
    这是一个创建于 537 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在尝试使用 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' 

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

    第 1 条附言    2024-04-21 17:00:24 +08:00

    按照上面的步骤又来了一遍,发现运行是正常的,只不过每次重启手机之后就得从头打一遍命令,应该是可以写个 shell 脚本简化操作的。 但体验下来,感觉用户层的 tailscale 不太行,原本用官方 APP 能 IPv6 直连的,而用 magisk-tailscaled 只能走中转。 遂放弃使用 magisk-tailscaled,打算尝试常用的 exit-node 模式。

    第 2 条附言    2024-07-08 16:15:05 +08:00

    距离提问已经过去快三个月了,这三个月里我每次都想解决这个问题,但每次都无果。

    最近总算是找到了一个我自己能接受的方案,就是和电脑端一样用,clash 关 VPN 服务,只用作代理, Tailscale 后台常驻打开。

    手机浏览器换成 Firefox,装上 SmartProxy 来用代理,这样就能解决我大多时候的使用场景了,只是偶尔需要打开 clash 的 VPN 服务。

    33 条回复    2025-07-13 22:13:51 +08:00
    shoper
        1
    shoper  
       2024-04-21 09:03:09 +08:00   1
    没太明白,OP 都 tailscale 回家了,为啥手机上还要开 clash ?
    k1rin
        2
    k1rin  
    OP
       2024-04-21 10:16:12 +08:00 via Android
    @shoper 因为我在墙内_(:з」∠)_
    家里的设备也只是一台 Ubuntu Server ,而不是 openwrt 。
    standin000
        3
    standin000  
       2024-04-21 10:20:08 +08:00
    ubuntu 不是更强大,做个代理很方便
    k1rin
        4
    k1rin  
    OP
       2024-04-21 10:22:22 +08:00 via Android
    @standin000 能点关键词我搜搜吗
    我在 .bashrc 设置 http_proxy 没用
    k1rin
        5
    k1rin  
    OP
       2024-04-21 10:27:13 +08:00 via Android
    @standin000 你的意思难道是做个 SS 服务器,然后直接通过 clash 回家吗
    ovoo
        6
    ovoo  
       2024-04-21 11:05:39 +08:00 via Android   1
    如果自建梯子:
    在梯子上安装 tailscale ,
    clash 配置 100.64.0.0/10 走这个梯子就行了
    ovoo
        7
    ovoo  
       2024-04-21 11:12:07 +08:00 via Android
    或者反过来,
    Ubuntu 上安装运行 clash ,以及 tailscale 设置为 exit
    node

    安卓端 use exit node 指定为 ubuntu
    k1rin
        8
    k1rin  
    OP
       2024-04-21 12:33:24 +08:00
    @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
        9
    Puteulanus  
       2024-04-21 13:06:25 +08:00
    Ubuntu Server 或者 Windows 上能跑虚拟机吗,给个 512M 内存跑个 openwrt ,把 openclash 和 tailscale 都挂上,设成 exit node ,还能给家里的设备当旁路由
    ovoo
        10
    ovoo  
       2024-04-21 13:11:46 +08:00 via Android
    @Ploter 这是 fakedns 引起的。把域名添加到 clash 配置文件 fake-ip-filter 里即可
    ovoo
        11
    ovoo  
       2024-04-21 13:25:28 +08:00
    @Ploter 如果 clash 里要使用 MagicDNS :

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

    可以实现浏览器里通过主机名访问服务
    k1rin
        12
    k1rin  
    OP
       2024-06-03 12:13:45 +08:00
    @Puteulanus 我前几天买了个软路由当主路由,里面开了 openClash ,设置 exit node 还是不能翻……不知道什么原因,明明用一些 IP 测试站测出来都是 exit node 节点的 IP 。
    Puteulanus
        13
    Puteulanus  
       2024-06-03 12:18:20 +08:00   1
    @Ploter 那有可能是 DNS 的问题了(代理已经通了,但是域名还是被污染的),我用的 passwall + tailscale 是没问题
    k1rin
        14
    k1rin  
    OP
       2024-06-03 13:24:19 +08:00
    @Puteulanus #13 感谢老哥回复,我过几天空了再试试。
    原本以为买个软路由就能直接解决这问题来着……
    xiaoheicat
        15
    xiaoheicat  
       2024-07-03 23:11:44 +08:00
    k1rin
        16
    k1rin  
    OP
       2024-07-04 10:33:28 +08:00
    @xiaoheicat #15 感谢老哥回复,可我这是安卓端,电脑端只要 clash 做代理就行了。
    erji222
        17
    erji222  
       2024-07-08 16:17:52 +08:00
    搞定了么,我也有这个需求,不想手机上 tailscale 和 clash 来回切
    k1rin
        18
    k1rin  
    OP
       2024-07-08 17:20:00 +08:00
    @erji222 这不巧了吗,你看看附言,就在你问的三分钟前。
    erji222
        19
    erji222  
       2024-07-09 10:20:31 +08:00
    哈哈 不错 这样只能在 Firefox 里通过 Clash 访问了,APP 通过 Clash 还是需要手动切换的吧
    k1rin
        20
    k1rin  
    OP
       2024-07-09 13:10:43 +08:00
    @erji222 #19 是的,起码减少了切换的次数,虽然切换也变得麻烦了。现在手机看 V2 只好走浏览器了。
    erji222
        21
    erji222  
       2024-07-09 16:53:31 +08:00
    设备 ROOT 后,Android 手机可以运行 tailscale ,开一个 sock5 代理,然后用 Clash 作 VPN ,把 100.64.0.0/10 代理分流到 tailscale 。这种方式应该不用切换了。
    https://xdaforums.com/t/module-magisk-tailscaled-running-tailscale-on-android-with-root.4645949/
    k1rin
        22
    k1rin  
    OP
       2024-07-09 17:40:26 +08:00
    @erji222 #21 你看看我最初发帖是什么
    我最后成功安上了,发现 IPv6 支持不太行,APP 能直连时用模块就只能走中转,问了作者他说他不太熟 IPv6……这个模块我起码折腾三四回了累了就放弃了。
    wubowen
        23
    wubowen  
       2024-08-01 18:55:38 +08:00
    有没有 mac 上 clashx pro 和 tailscale 共存的,试了 clashx tun 模式下的各种配置( PROCESS-NAME,tailscale,DIRECT,no-resolve 、fake-ip-filter ),tailscale up 的时候都会 hang 住
    k1rin
        24
    k1rin  
    OP
       2024-08-01 22:24:50 +08:00 via Android
    @wubowen Mac 上不开增强模式就做代理就没这问题吧。
    我自己基本就浏览器用的到代理,所以通过浏览器扩展走代理就行。
    Blanke
        25
    Blanke  
    &nbp;  314 天前
    你是用的 clash app 吗,有尝试过模块 Surfing 和 Magisk-Tailscaled 一起使用的情况吗,我准备研究下
    Blanke
        26
    Blanke  
       313 天前
    @Blanke 我测试 ok 的,需要在 clash 配置文件单独配置 IP-CIDR,100.64.0.0/10,tailscale-socks ,见: https://github.com/anasfanani/Magisk-Tailscaled/releases/tag/v1.56.1.3 。遇到的问题:可以通过 tailscale ip 访问内网服务,但是内网 subnet 的访问不了,比如 192.168.1.100 内网其他服务。pc 版本可以访问
    Blanke
        27
    Blanke  
       313 天前
    @Blanke 启动命令改成 tailscale up --accept-dns --accept-routes ,内网 subnet 也能访问了,完美
    k1rin
        28
    k1rin  
    OP
       313 天前
    @Blanke #25 IPv6 能直连吗,我今晚试试
    Blanke
        29
    Blanke  
       313 天前
    @Ploter 能,tailscale ping 显示的 v6 地址
    Blanke
        30
    Blanke  
       313 天前
    @Blanke 后续:发现打开不了工商银行,环境是 ksu ,禁用 magisk-tailscaled 重启就正常。所以最终方案改为:Surfing 模块 + tailscale APP ,需要访问内网就打开 app 。可以同时魔法 + 访问内网
    zsxeee
        31
    zsxeee  
       268 天前
    才发现这个帖子,我是正常在用有年头了。太久了我没有留下记录,但是这个 Magisk-Tailscaled 在文档里写了他主动开了 1099 的 socks5 端口,重启后应该立即生效的,我转发配置里写的也是 1099 ,应该 up 之后不需要其他手动配置的。


    至于 clash 配置我是用 subconverter 合并的配置。我体感上没有任何问题,除了网络不稳定切数据可能打洞失败但过一会就会正常。
    proxies:
    - name: Tailscale
    server: localhost
    port: 1099
    type: socks5
    proxy-groups:
    - name: Tailscale
    type: select
    proxies:
    - Tailscale
    rules:
    - IP-CIDR,100.64.0.0/10, Tailscale
    - IP-CIDR,fd7a:115c:a1e0::/48, Tailscale
    - DOMAIN-SUFFIX,vpn.****.****, Tailscale
    yqs112358
        32
    yqs112358  
       89 天前   1
    搞了一个还算完美的方案,可以让 Tailscale 和 Clash APP 直接共存,而且不需要 root 和模块。原理是基于安卓工作空间的独立 VPN 槽位,配合 Clash 分流 Tailscale 网段流量

    具体详见博客: https://blog.openyq.top/posts/26027/
    k1rin
        33
    k1rin  
    OP
       88 天前
    @yqs112358 赞,确实是个思路。不过最近主力机变成苹果了
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3152 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 26ms UTC 10:55 PVG 18:55 LAX 03:55 JFK 06:55
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86