RouterOS 安装 Mihomo 教程
在 RouterOS 系统上通过 Container 容器部署 Mihomo,实现全局透明代理。
1
安装 Container 组件
- - 下载组件包
container.npk - - 官方下载链接:https://mikrotik.com/download
- - 通过 Winbox 上传 container.npk 文件
- - 重启 RouterOS
- - 确认安装:
/container/print 
- - 启用 Container:
/system/device-mode/update container=yes - - 注意:需要断电重启或按 RESET 按钮才能生效
2
创建 veth 网络
- - 创建虚拟网络接口:
/interface veth add name=veth1 address=192.168.88.2/24 gateway=192.168.88.1 
- - veth1 将作为容器的网络接口
- - IP 地址 192.168.88.2 为容器分配的地址
- - 网关 192.168.88.1 为 RouterOS 的地址
3
创建 docker bridge
- - 如果已有 LAN 桥接口可跳过此步骤
- - 创建桥接口:
/interface bridge add name=LAN 
- - LAN 桥用于连接容器和物理网络
4
桥接 veth
- - 将 veth1 添加到 LAN 桥:
/interface bridge port add bridge=LAN interface=veth1 
- - 这样容器就可以与局域网通信
5
添加路由表
- - 添加 Fake-IP 路由:
/ip route add dst-address=198.18.0.0/16 gateway=192.168.88.2 
- - 198.18.0.0/16 是 Mihomo Fake-IP 使用的地址段
- - 所有访问该段的流量将转发到容器
6
修改路由器 DNS
- - 设置 DNS 服务器:
/ip dns set allow-remote-requests=yes servers=192.168.88.2 
- - 将 DNS 请求转发到 Mihomo 容器
- - Mihomo 将处理 DNS 查询并进行分流
7
添加 NAT 防火墙
- - 添加 NAT 规则:
/ip firewall nat add chain=srcnat src-address=192.168.88.0/24 dst-address=198.18.0.0/16 action=accept 
- - 允许局域网设备访问 Fake-IP 地址段
- - 确保代理流量正常通过
8
修改 DHCP DNS 分配(可选)
- - 修改 DHCP 分配的 DNS:
/ip dhcp-server network set 0 dns-server=192.168.88.1,192.168.88.2 
- - 可以设置为路由器网关或 Mihomo IP
- - 客户端将自动使用指定的 DNS 服务器
9
准备 Container 存储
- - 建议使用 SSD 或 USB3.0 U盘,不要长期写入 NAND
- - U盘模式创建目录:
- -
/disk format usb1 file-system=ext4 - -
/file add name=usb1/docker type=directory - -
/file add name=usb1/docker/mihomo type=directory - -
/file add name=usb1/docker/mihomo/root type=directory - -
/file add name=usb1/docker/mihomo/config type=directory - - SSD硬盘模式创建目录:
- -
/file add name=docker type=directory - -
/file add name=docker/mihomo type=directory - -
/file add name=docker/mihomo/root type=directory - -
/file add name=docker/mihomo/config type=directory
10
上传 Mihomo 镜像
- - 通过 Winbox 拖拽文件到 Files 目录
- - 上传镜像文件:
mihomo-routeros-arm64.tar 
- - 上传配置文件到 config 目录:
config.yaml, ui, geoip.dat, geoip.metadb 
- - 确保文件上传完整无损坏
11
导入 Mihomo 镜像
- - 必须使用命令创建容器,或使用新版 Winbox 操作
- - 7.20.x 以上版本(U盘):
/container/add file=usb1/docker/mihomo/mihomo-routeros-arm64.tar name=mihomo root-dir=usb1/docker/mihomo/root interface=veth1 mount=usb1/docker/mihomo/config:/root/.config/mihomo:rw start-on-boot=yes - - 7.20.x 以上版本(SSD):
/container/add file=docker/mihomo/mihomo-routeros-arm64.tar name=mihomo root-dir=docker/mihomo/root interface=veth1 mount=docker/mihomo/config:/root/.config/mihomo:rw start-on-boot=yes - - 7.20 以前老版本 - 先创建挂载:
/container/mounts/add name=mihomo-config src=docker/mihomo/config dst=/root/.config/mihomo - - 7.20 以前老版本 - 再添加容器:
/container/add file=docker/mihomo/mihomo-routeros-amd64.tar name=mihomo root-dir=docker/mihomo/root interface=veth1 mounts=mihomo-config start-on-boot=yes 
- - 容器将自动挂载配置目录
12
查看容器状态
- - 查看容器列表:
/container/print - - 正常状态应显示:
STATUS: stopped - - 或:
STATUS: running - - 如果显示错误:
download/extract error - - 出现错误需要检查镜像文件和存储路径
13
启动 Mihomo 容器
- - 启动容器:
/container/start 0 - - 0 是容器编号,根据实际情况调整
- - 再次查看状态:
/container/print 
- - 确认状态变为 running
14
进入容器测试
- - 进入容器 Shell:
/container/shell 0 - - 查看 Mihomo 版本:
mihomo -v - - 确认 Mihomo 正常运行
- - 输入 exit 退出容器
15
登录 UI 控制面板
- - 浏览器访问:
http://192.168.88.2:9090/ui - - 默认密码:
frxxz 
- - 登录后可以查看连接状态、切换节点、查看日志


- - 建议修改默认密码以提高安全性
16
RouterOS 透明代理
- - 局域网设备将自动通过 Mihomo 代理上网
- - 支持功能:HTTP代理 ✅、SOCKS5 ✅、API ✅、规则分流 ✅、Fake-IP ✅、TUN ✅
- - TProxy 支持不完整,建议使用 Fake-IP 模式
17
GEOIP 配置说明
- - DAT 模式:
geodata-mode: true - - DAT 模式需要 geoip.dat 和 geosite.dat 文件
- - MMDB 模式:
geodata-mode: false - - MMDB 模式需要 Country.mmdb 或 geoip.metadb 文件
- - 根据配置文件选择对应的 GEOIP 文件上传
18
常见问题
- - 内存不足:RouterOS Container 需要较多内存,建议设备至少 256MB RAM
- - 架构匹配:ARM 设备用 arm64v8 或 arm32v7 标签,x86 用 amd64
- - hEX Refresh (EN7562CT):仅支持 arm32v5,镜像选择有限
- - 权限问题:确保挂载目录有正确权限
- - 容器无法启动:检查存储空间是否充足,镜像文件是否完整