本文介绍如何在 Debian 虚拟机上使用 Docker 和 macvlan 网络部署 Mihomo(原 Clash Meta)透明代理网关,让局域网内所有设备无需任何配置即可自动使用代理。
环境准备
创建 Debian 虚拟机
在 Proxmox VE 上一键创建 Debian 虚拟机:
1 | bash -c "$(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/vm/debian-vm.sh)" |
推荐使用 Debian,因为它轻量、稳定、易用。
启用 SSH 远程管理
1 | # 安装 SSH 服务 |
修改以下参数:
PermitRootLogin→yesPasswordAuthentication→yes
重启 SSH 服务并设置 root 密码:
1 | systemctl restart ssh |
安装 Docker
1 | apt update && apt install -y docker.io |
网络配置
查看网卡信息
1 | ip addr |
记录主网卡名称(如 enp0s18)。
设置网卡混杂模式
1 | ip link set enp0s18 promisc on |
持久化配置需将上述命令写入
/etc/rc.local。
创建 macvlan 网络
1 | docker network create -d macvlan \ |
参数说明:
| 参数 | 说明 |
|---|---|
--subnet |
局域网网段,与你的主路由一致 |
--gateway |
网关 IP,即主路由 IP |
-o parent |
物理网卡名称 |
opnet |
自定义 Docker 网络名称 |
部署 Mihomo
准备配置文件
1 | mkdir -p /etc/mihomo |
准备 config.yaml 配置文件,放置到 /etc/mihomo/ 目录下:
- 机场用户:替换为机场提供的订阅配置,或使用订阅转换工具生成
- 自建 VPS 用户:配置代理节点信息(地址、端口、密码、加密方式等)
可通过 SFTP 工具上传配置文件到 /etc/mihomo/。
启动 Mihomo 容器
1 | docker run -d --privileged \ |
参数说明:
| 参数 | 说明 |
|---|---|
--privileged |
需要特权模式以修改网络 |
--name |
容器名称 |
--network opnet |
连接到刚创建的 macvlan 网络 |
--ip |
分配给 Mihomo 的固定 IP |
-v |
挂载配置目录 |
客户端配置
设置 DNS
将局域网设备的 DNS 服务器设置为 Mihomo 容器的 IP(192.168.88.10):
- 路由器 DHCP 设置:在 DHCP 选项中设置 DNS 为
192.168.88.10 - 手动设置:在设备网络设置中修改 DNS
设置路由
Mihomo 的 TUN 模式会处理 198.18.0.0/16 网段的流量路由,确保数据包正确转发到 Mihomo 进程。
验证部署
- 检查容器运行状态:
docker ps | grep mihomo - 查看实时日志:
docker logs -f mihomo - 在局域网设备上访问
http://192.168.88.10:9090(默认面板端口),确认 Mihomo 控制面板可访问 - 访问 ip.sb 检查出口 IP 是否已变更