Donahue

再折腾了下旁路由,用 debian+mihomo 做透明网关

  •  
  •   Donahue · Sep 12 · 5802 views
    This topic created in 54 days ago, the information mentioned may be changed or developed.
    之前是 armbian 宿主机运行 docker ,docker 启动 openwrt 容器。

    但是 openwrt 不太好用,openclash 启动/加载慢,页面太卡了,设置复杂花哨多。
    加上想要自己编译把插件集成进去 openwrt 镜像,但是老是编译失败。

    然后看到 v2 有人用 alpine+mihomo 裸跑,写了个 docker compose 文件,
    容器基于 debian+mihomo+macvlan, 配置文件基于 mihomo 官方示例,然后自己手搓代理分组,用运营商 dns ,用起来体验比 openwrt 那一套舒服多了。

    配置更新、重启内核、重载配置都能在 web 页面执行,不用再去 openclash 界面操作了。openclash 界面慢得不行。。

    然后最好的一点是,节点切换能立刻生效(马上关掉之前的连接,重新连新的节点),之前 openclash 的好像得连接断开再重连。


    国内直连测速,不经过旁路由 950M/s,经过旁路由 750M/s ,性能损失还算可以接受。旁路由是 RK3528 芯片的一个盒子。国外测速 200+M/s ,主要跟机场节点速度有关,还没到 RK3528 的性能上限,2 元/月的机场还要什么自行车。
    Supplement 1  ·  Sep 14
    补充一下外网测速,用的 fast.com 测速,机场还是原来的机场,连接香港节点,居然能跑到 700-900Mbps/s ,后台查看确实是经过香港节点的。

    RK3528 这类 arm 盒子的性能,比我想的好得多,我以为最高 500Mbps 差不多了。以及 2 块钱每月的机场,这个速度也是很意外了,我以为最多也就 200-300Mbps 顶天了。
    47 replies  •  2026-09-27 20:31:05 +08:00
    MeiJiayun
    MeiJiayun
    Sep 12 via iPhone
    1
    +1 ,我是用 debian + mihomo ( docker-compose )方式,规则清晰,挺好用的
    yyyb
    yyyb
    Sep 12
    2
    都 debian 了还用 mihomo ?
    Donahue
    Donahue
    OP
    Sep 12
    3
    @yyyb 还有更好用的吗
    KagurazakaNyaa
    4
    不妨试试 dae ,反正你也是拿来当透明代理而非提供 http/socks
    https://github.com/daeuniverse/dae
    shinko
    shinko
    Sep 12
    5
    我用 dae
    love4taylor
    6
    等等,你这单位是大 B 还是小 b 啊? 2 元机场能跑出 2Gbps ?惊了
    Donahue
    Donahue
    OP
    Sep 12
    7
    @KagurazakaNyaa
    @shinko 有空我试试,没了解过这个代理软件
    Donahue
    Donahue
    OP
    Sep 12
    8
    @love4taylor 不要在意细节。。。大概能看懂就好了
    loveqianool
    loveqianool
    Sep 12 via Android
    9
    两元机场介绍一下
    yyluxe
    yyluxe
    Sep 12 via iPhone
    10
    mihomo 我一直玩不明白
    Donahue
    Donahue
    OP
    Sep 12
    11
    @loveqianool 一元机场.com 和一分机场.com 。两个都是 2 元/月的,(有点挂羊头卖狗肉的意味了。)
    我这好用不一定你那里好用,还有就是 dns 配置/运营商也有点影响,我这里移动宽带+移动运营商 dns 最好用,使用官方的配置模板有时候好像有点问题。
    Donahue
    Donahue
    OP
    Sep 12
    12
    @yyyb
    @KagurazakaNyaa
    @shinko 看了下 dae ,确实感觉更好点,配置文件清晰易懂。感谢分享~
    Donahue
    Donahue
    OP
    Sep 12
    13
    @yyluxe 参考官方的配置文件改改就好了,不懂的设置项 现在都能问 AI
    Tink
    Tink
    Sep 12 via iPhone
    14
    debian singbox ( tun autoroute autoredirect )
    chihiro2014
    15
    用 openwrt+daed ,非常丝滑和流畅
    firefox12
    firefox12
    Sep 12
    16
    问一下 透明代理 是怎么使用, 手机 wlan 配置网关到这个 ip 以后什么都不用管这种吗? 国内外流量智能分流吗
    Donahue
    Donahue
    OP
    Sep 13
    17
    @firefox12 对的,国内外智能分流,需要科学上网的设备只需要设定网关+dns 。
    muhahaha
    muhahaha
    Sep 13 via iPhone
    18
    建议尝试 daed
    badgv
    badgv
    Sep 13 via Android
    19
    自己编译 immortalwrt ,在 rk3399 上用 docker 跑,用的很舒服,容器 compose 启动自动自建 veth pair 直接扔进宿主机网桥,不用 macvlan ,没有默认的宿主机 ip 和容器 ip 不互通的问题,直接同一个二层,插件用 passwall2 ,管理轻松,docker immortal 还承担全套 iptv 内网环境,主路由 ros
    klarkzh
    klarkzh
    Sep 13 via iPhone❤️1
    20
    我的方案是 mosdns 分流+mihomo 代理+tproxy 透明网关,配置简单,国内直连,并且比 mihomo 的 tun 速度快一些
    qiuyue0
    qiuyue0
    Sep 13
    21
    我用 FakeIP 段静态路由进行分流,不知道为什么不是很完美,理论上应该是很好的方法。198.18.0.0/16 下一跳 mihomo
    Donahue
    Donahue
    OP
    Sep 13
    22
    @qiuyue0 因为有些软件是直接 ip 访问的,例如 telegram 直接用 ip 连接服务器,所以没法命中 FakeIP 段分流。
    Donahue
    Donahue
    OP
    Sep 13
    23
    @badgv 我是用在宿主机新建个中继 macvlan 的方法解决宿主容器不互通的问题。写成了脚本管理也简单。
    Busy
    Busy
    Sep 13
    24
    你这还是 docker 啊
    我在 armbian 上安装 mihomo ,手搓 nftables ,搓完就不折腾了。
    60 块的 rk3328 设备
    Donahue
    Donahue
    OP
    Sep 13
    25
    @Busy 我喜欢 docker-compose 一键启动~
    我写的启动脚本也可以在宿主机启动 mihomo ,但是无法创建 tun device ,提示权限问题,不管怎么弄、根据 AI 的设置弄都不行,放弃在宿主机运行了。
    badgv
    badgv
    Sep 13 via Android
    26
    @Donahue tg 内置 socks ,可以直接用 socks5 ,永远没有泄露的事,哪怕 tg 改了网段,只要内置 s5 的 app 我都用 s5 ,macvlan 个人感觉始终不够优雅,还是网桥科学点,和域名一个逻辑,虚拟机用 tap ,容器用 veth ,逻辑都一样
    BryanAdams
    27
    之前参考这位大佬的文章设置了 ikuai+openwrt ( passwall2 )浮动网关+双 lan 的结构,感觉还挺不错的。https://www.jackiewu.top/article/best-alternative-solution-for-transparent-gateway
    coyboy911
    coyboy911
    Sep 13
    28
    @badgv 厉害。rk3399 是啥板子。我有 RK3588 的开发板,可以自己编译 immortalwrt 吗?官方有一个 23.0x 的版本,感觉太老旧了,不知道如何移植过来。
    yangfan1999
    29
    @BryanAdams 方案不错,出国网络故障时可以自动降级很方便。
    angeltop
    angeltop
    Sep 14
    30
    @Donahue 直接 armbian +singbox Tun 性能不错
    xicole
    xicole
    Sep 14
    31
    @Donahue #25 docker 运行要加一句这个 -v /dev/net/tun:/dev/net/tun \

    比如这样启动:
    docker run -d\
    --name mihomo \
    --network=host \
    --restart always \
    -v /dev/net/tun:/dev/net/tun \
    --cap-add NET_ADMIN \
    -e TZ=Asia/Shanghai \
    -v /opt/docker/mihomo:/root/.config/mihomo \
    -v /opt/docker/mihomo:/etc/mihomo \
    metacubex/mihomo:latest
    Donahue
    Donahue
    OP
    Sep 14
    32
    @xicole 我是宿主机的 mihomo 没权限创建 tun 。容器里是可以正常运行的。
    badgv
    badgv
    Sep 14 via Android
    33
    @coyboy911 咸鱼买的二手友善 nanopc t4 ,编译的是 docker 用的 tar.gz ,机器刷 armbian 就好了
    conglovely
    34
    我用 debian13 跑 daed ,效果还可以
    装完系统后全让 ai 接入 ssh 安装和管理
    Ccf
    Ccf
    Sep 15
    35
    @chihiro2014 求分享下 daed 的配置,抽空在小盒子上试试。
    chihiro2014
    36
    @Ccf 可以看下 youtube 上,有类似的教程,github 有一键安装
    Ccf
    Ccf
    Sep 15
    37
    @chihiro2014 #36 以前弄过,很长时间不用了。现在好像出现了不少分支。
    hewitt29
    hewitt29
    Sep 16
    38
    我是 armbian+v2rayA
    qbqbqbqb
    qbqbqbqb
    Sep 16
    39
    @Donahue 宿主机的 mihomo 有使用 root 运行吗,创建 tun 是需要权限的,要么直接用 root 运行,要么用别的方式让它有 NET_ADMIN 权限。docker 能用是因为 docker 默认就是 root 身份运行的。
    Donahue
    Donahue
    OP
    Sep 16
    40
    @qbqbqbqb 我用 linux 那么久不会连 root 权限都不懂给。。。此外还参照 AI 给的说法添加了别的什么权限都没用。就是挺奇怪的,无所谓现在 docker 运行也挺好的。
    conpeal
    conpeal
    Sep 16
    41
    以前一直 Openclash,现在主力 daed&Nikki ( mihomo )备用,确实省心丝滑
    SaturnY
    SaturnY
    Sep 16
    42
    all(拨号(pppoe)、防火墙(nftables)、DHCP(systemd-network)、DNS(adguardhome)、科学(sing-box)) in archlinux 了,只管滚
    basncy
    basncy
    Sep 19
    43
    @SaturnY 你这个光猫要改桥接还是有点门槛。
    正解是 单网卡 all(nftables/iptables(TPROXY),DNS ,RA ,科学) in tar 包。tar 包带走随手解压到 Linux 容器/虚拟机/物理机,摇身变成透明代理。
    basncy
    basncy
    Sep 19
    44
    #43
    如果有服务器,可以做成 curl URL | sh 一键安装,起个 iso 就开跑。
    Donahue
    Donahue
    OP
    Sep 21
    45
    @xicole
    @qbqbqbqb 我知道宿主为什么提示无权限了,我配置文件里的 ipv6:true -> 改成 ipv6:fasle 关闭 ipv6,就能创建 tun 设备了。这个不知道算不算 BUG ,它提示的是无权限,让我一直以为是权限问题。但是同样的配置文件在容器里却能够运行。
    Donahue
    Donahue
    OP
    Sep 27
    46
    @qbqbqbqb
    @Busy 最后发现是因为宿主机内核 ipv6 默认禁用 ipv6 ,导致 mihomo 创建的 tun 网卡 ipv6 是禁用的。而 eth0 的 ipv6 默认是打开的,又有 ipv6,所以我一直没发现。把系统 ipv6 默认启用就可以了。还是 AI ssh 登录上去帮我弄好的。
    Busy
    Busy
    Sep 27
    47
    @Donahue 我是旁路网关设备,而且性能有点低
    所以还是手搓 nftables tproxy
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   4917 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 65ms · UTC 01:27 · PVG 09:27 · LAX 17:27 · JFK 20:27
    ♥ Do have faith in what you're doing.