V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
lymanbernadette6
V2EX  ›  macOS

mac 有办法裸 mihomo 内核使用 TUN 模式吗

  •  
  •   lymanbernadette6 · 38 天前 · 1696 次点击
    这是一个创建于 38 天前的主题,其中的信息可能已经有所发展或是发生改变。
    ```
    tun:
    enable: false
    stack: gvisor
    dns-hijack:
    - any:53
    - tcp://any:53
    auto-route: true
    auto-redirect: true
    auto-detect-interface: true
    ```
    使用./mihomo -f xx.yml 启动。在 WebUI 上开启 TUN 模式,就断网了。
    一堆的报错无法连接 DNS
    第 1 条附言  ·  35 天前
    根据后面大佬的提示, 确认是 alpha 版本的问题。 更换 release 版本后解决了。
    20 条回复    2024-12-14 17:50:58 +08:00
    yuanxiaosong
        1
    yuanxiaosong  
       38 天前
    第一步: https://wiki.metacubex.one/config/inbound/tun/

    第二步: https://github.com/MetaCubeX/mihomo/issues?q=macos+tun+dns

    第三部:以上两步解决不了,换个软件
    lymanbernadette6
        2
    lymanbernadette6  
    OP
       38 天前
    补充一下, 配置在 win 和 Linux 下是没问题的。
    Mac 我看到 issue 中有位大佬提到需要手动指定网卡的 DNS 192.18.0.2 不过尝试并没有效果。
    lymanbernadette6
        3
    lymanbernadette6  
    OP
       38 天前
    @lymanbernadette6 #2 继续补充一下, 是用 sudo 启动的,因为 Mac 下普通用户无法启动 Tun 网卡。
    lymanbernadette6
        4
    lymanbernadette6  
    OP
       38 天前
    @yuanxiaosong #1 您要不自己尝试一下再说看 issue 看文档?

    issue 跟这些关键词有关的提到的方式都尝试过(而且大家似乎很少直接用内核在 Mac 下用 Tun , 其中有一个用了的,说是 DNS 需要手动指向 192.18.0.2 , 这种方式已经尝试过 不然也不会发帖子了
    jianzhao123
        5
    jianzhao123  
       38 天前
    歪路子,Mac 搞个虚拟机装个 mihomo 试试行不行
    xyz8899
        6
    xyz8899  
       38 天前
    为什么要裸跑,Mihomo Party 不香吗
    ostrichb
        7
    ostrichb  
       38 天前   ❤️ 1
    我就是使用裸核心 TUN 全平臺(除 OpenWRT )不使用 GUI 的。我沒遇到這個問題,TUN 和 DNS 相關的部分你可以參考下:
    tun:
    enable: true
    macOS-auto-route: true
    stack: gvisor
    dns-hijack:
    - any:53
    auto-route: true

    dns:
    enable: true
    listen: 0.0.0.0:53
    default-nameserver:
    - 223.5.5.5
    enhanced-mode: fake-ip # or fake-ip
    fake-ip-range: 198.18.0.0/16
    nameserver:
    - https://public.dns.iij.jp/dns-query
    - 207.68.222.222
    - 207.68.220.220
    - 101.101.101.101
    - 101.102.103.104

    nameserver-policy:
    "geosite:microsoft": ['223.5.5.5', '223.6.6.6', '119.29.29.29']
    "geosite:cn": ['223.5.5.5', '223.6.6.6', '119.29.29.29']
    "www.baidu.com": ['223.5.5.5', '223.6.6.6', '119.29.29.29']
    "geosite:icloud": ['223.5.5.5', '223.6.6.6', '119.29.29.29']
    "geosite:itunes": ['223.5.5.5', '223.6.6.6', '119.29.29.29']

    之前有劫持不了 DNS 的問題,可以去網路設定那裡手動設定一個 DNS Server ,劫持就正常了
    ostrichb
        8
    ostrichb  
       38 天前
    @ostrichb 註:我的 TUN 模式一般保持常開不會關閉
    anto17
        9
    anto17  
       38 天前
    mac 上 netstat -rn -f inet 命令看下你的路由表(不会看可以问 gpt 帮助理解),有可能是路由表错乱了。把你的网卡禁用后重新开启,会重建默认路由表。然后再开启 tun 模式
    lymanbernadette6
        10
    lymanbernadette6  
    OP
       38 天前
    @ostrichb #7 感谢回复, 目前看我的配置缺少了一个 macOS-auto-route: true 不过刚看了一下官方的配置文件里似乎没有这个字段: https://github.com/MetaCubeX/mihomo/blob/Meta/docs/config.yaml

    > 之前有劫持不了 DNS 的問題,可以去網路設定那裡手動設定一個 DNS Server
    这个是似乎不是个例: https://github.com/MetaCubeX/mihomo/issues/895#issuecomment-1855902064
    内核在 Mac 下 TUN 不会修改 DNS 指向。

    我在 Windows 下使用一模一样的配置,一切正常,不需要其他任何配置。
    lymanbernadette6
        11
    lymanbernadette6  
    OP
       38 天前
    @anto17 #9 是的 大佬说的没错,的确是路由表错乱,通过多次'sudo route -n flush' 刷新路由表后能恢复。 不过开启 TUN 依然会出现相同的问题。
    lymanbernadette6
        12
    lymanbernadette6  
    OP
       38 天前
    @jianzhao123 #5 这肯定是不行的,Tun 模式原理是启动一个虚拟网卡接管主机流量。
    lymanbernadette6
        13
    lymanbernadette6  
    OP
       38 天前
    @xyz8899 #6 香,不过这里探讨的是跑裸内核本身的问题。
    ostrichb
        14
    ostrichb  
       38 天前
    @lymanbernadette6 這個字段是我不知道那裡抄的,從之前的 ClashPremium 一路用到 meta 再到現在的 mihomo ,可能是之中某一個時間加進去的(反正能用就不要動他嘛 owo )
    anto17
        15
    anto17  
       37 天前   ❤️ 1
    @lymanbernadette6 #11 不要用 alpha 试试
    lymanbernadette6
        16
    lymanbernadette6  
    OP
       35 天前
    @anto17 #15 牛逼! 大佬雀氏牛逼, 不是配置问题,是 alpha 的问题。 换 release 的二进制就好了。
    okampfer
        17
    okampfer  
       31 天前
    @ostrichb #7
    请问一下,按照这个配置启动 mihomo 之后会自动修改路由表是吗?然后关闭的时候(crtl + c)路由表会被重置是吗?
    ostrichb
        18
    ostrichb  
       31 天前
    @okampfer 應該是的
    BottleKing
        19
    BottleKing  
       10 天前 via Android
    我在 linux 遇到和你相似的问题。
    具体表现为 proxy 规则的域名全部解析成 ip ,然后 ip 全部 match 然后直连了。而且 webUI 链接那里只显示 ip 不显示域名。
    我是关闭了 auto-redirect 之后就正常了。我觉得可能是我内核没开转发或者这个选项是给路由用的
    lymanbernadette6
        20
    lymanbernadette6  
    OP
       7 天前
    @BottleKing #19 不确定, 我在发帖时换成正式版后没问题了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2570 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 06:40 · PVG 14:40 · LAX 22:40 · JFK 01:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.