V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Ploter
V2EX  ›  问与答

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

  •  
  •   Ploter · 247 天前 · 3553 次点击
    这是一个创建于 247 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近在尝试使用 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 条附言  ·  247 天前

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

    第 2 条附言  ·  169 天前

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

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

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

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

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

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

    可以实现浏览器里通过主机名访问服务
    Ploter
        12
    Ploter  
    OP
       204 天前
    @Puteulanus 我前几天买了个软路由当主路由,里面开了 openClash ,设置 exit node 还是不能翻……不知道什么原因,明明用一些 IP 测试站测出来都是 exit node 节点的 IP 。
    Puteulanus
        13
    Puteulanus  
       204 天前   ❤️ 1
    @Ploter 那有可能是 DNS 的问题了(代理已经通了,但是域名还是被污染的),我用的 passwall + tailscale 是没问题
    Ploter
        14
    Ploter  
    OP
       204 天前
    @Puteulanus #13 感谢老哥回复,我过几天空了再试试。
    原本以为买个软路由就能直接解决这问题来着……
    xiaoheicat
        15
    xiaoheicat  
       174 天前
    Ploter
        16
    Ploter  
    OP
       173 天前
    @xiaoheicat #15 感谢老哥回复,可我这是安卓端,电脑端只要 clash 做代理就行了。
    erji222
        17
    erji222  
       169 天前
    搞定了么,我也有这个需求,不想手机上 tailscale 和 clash 来回切
    Ploter
        18
    Ploter  
    OP
       169 天前
    @erji222 这不巧了吗,你看看附言,就在你问的三分钟前。
    erji222
        19
    erji222  
       168 天前
    哈哈 不错 这样只能在 Firefox 里通过 Clash 访问了,APP 通过 Clash 还是需要手动切换的吧
    Ploter
        20
    Ploter  
    OP
       168 天前
    @erji222 #19 是的,起码减少了切换的次数,虽然切换也变得麻烦了。现在手机看 V2 只好走浏览器了。
    erji222
        21
    erji222  
       168 天前
    设备 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/
    Ploter
        22
    Ploter  
    OP
       168 天前
    @erji222 #21 你看看我最初发帖是什么
    我最后成功安上了,发现 IPv6 支持不太行,APP 能直连时用模块就只能走中转,问了作者他说他不太熟 IPv6……这个模块我起码折腾三四回了😭累了就放弃了。
    wubowen
        23
    wubowen  
       145 天前
    有没有 mac 上 clashx pro 和 tailscale 共存的,试了 clashx tun 模式下的各种配置( PROCESS-NAME,tailscale,DIRECT,no-resolve 、fake-ip-filter ),tailscale up 的时候都会 hang 住
    Ploter
        24
    Ploter  
    OP
       145 天前 via Android
    @wubowen Mac 上不开增强模式就做代理就没这问题吧。
    我自己基本就浏览器用的到代理,所以通过浏览器扩展走代理就行。
    Blanke
        25
    Blanke  
       24 天前
    你是用的 clash app 吗,有尝试过模块 Surfing 和 Magisk-Tailscaled 一起使用的情况吗,我准备研究下
    Blanke
        26
    Blanke  
       24 天前
    @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  
       24 天前
    @Blanke 启动命令改成 tailscale up --accept-dns --accept-routes ,内网 subnet 也能访问了,完美
    Ploter
        28
    Ploter  
    OP
       24 天前
    @Blanke #25 IPv6 能直连吗,我今晚试试
    Blanke
        29
    Blanke  
       23 天前
    @Ploter 能,tailscale ping 显示的 v6 地址
    Blanke
        30
    Blanke  
       23 天前
    @Blanke 后续:发现打开不了工商银行,环境是 ksu ,禁用 magisk-tailscaled 重启就正常。所以最终方案改为:Surfing 模块 + tailscale APP ,需要访问内网就打开 app 。可以同时魔法 + 访问内网
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1228 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 18:09 · PVG 02:09 · LAX 10:09 · JFK 13:09
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.