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

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

  •  
  •   lymanbernadette6 · 1 天前 · 870 次点击
    ```
    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
    15 条回复    2024-11-14 19:17:20 +08:00
    yuanxiaosong
        1
    yuanxiaosong  
       1 天前
    第一步: https://wiki.metacubex.one/config/inbound/tun/

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

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

    issue 跟这些关键词有关的提到的方式都尝试过(而且大家似乎很少直接用内核在 Mac 下用 Tun , 其中有一个用了的,说是 DNS 需要手动指向 192.18.0.2 , 这种方式已经尝试过 不然也不会发帖子了
    jianzhao123
        5
    jianzhao123  
       1 天前
    歪路子,Mac 搞个虚拟机装个 mihomo 试试行不行
    xyz8899
        6
    xyz8899  
       1 天前
    为什么要裸跑,Mihomo Party 不香吗
    ostrichb
        7
    ostrichb  
       1 天前   ❤️ 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  
       1 天前
    @ostrichb 註:我的 TUN 模式一般保持常開不會關閉
    anto17
        9
    anto17  
       1 天前
    mac 上 netstat -rn -f inet 命令看下你的路由表(不会看可以问 gpt 帮助理解),有可能是路由表错乱了。把你的网卡禁用后重新开启,会重建默认路由表。然后再开启 tun 模式
    lymanbernadette6
        10
    lymanbernadette6  
    OP
       21 小时 25 分钟前
    @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
       21 小时 24 分钟前
    @anto17 #9 是的 大佬说的没错,的确是路由表错乱,通过多次'sudo route -n flush' 刷新路由表后能恢复。 不过开启 TUN 依然会出现相同的问题。
    lymanbernadette6
        12
    lymanbernadette6  
    OP
       21 小时 24 分钟前
    @jianzhao123 #5 这肯定是不行的,Tun 模式原理是启动一个虚拟网卡接管主机流量。
    lymanbernadette6
        13
    lymanbernadette6  
    OP
       21 小时 23 分钟前
    @xyz8899 #6 香,不过这里探讨的是跑裸内核本身的问题。
    ostrichb
        14
    ostrichb  
       21 小时 4 分钟前
    @lymanbernadette6 這個字段是我不知道那裡抄的,從之前的 ClashPremium 一路用到 meta 再到現在的 mihomo ,可能是之中某一個時間加進去的(反正能用就不要動他嘛 owo )
    anto17
        15
    anto17  
       12 小时 29 分钟前
    @lymanbernadette6 #11 不要用 alpha 试试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1460 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 23:47 · PVG 07:47 · LAX 15:47 · JFK 18:47
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.