从零搭建 Mihomo(Clash Meta)代理服务端

本文将指导你在 VPS 上使用 Docker 部署 Mihomo(原 Clash Meta)作为 Shadowsocks 服务端,让你的所有设备都能通过一个稳定的代理服务访问外网。全程只需一个容器,配置简洁,适合自建节点用户。

📌 适用场景

  • 你已经有一台境外 VPS
  • 想自己搭建代理服务,摆脱对第三方机场的依赖
  • 希望服务端直接提供 Shadowsocks 协议,供手机、电脑等多设备使用
  • 追求轻量、稳定、易维护

🧰 准备工作

  1. 一台境外 VPS
  2. SSH 客户端(连接服务器)
  3. DockerDocker Compose(已安装)

如果你还没安装 Docker,可以执行以下命令快速安装:

curl -fsSL https://get.docker.com | bash
systemctl enable docker && systemctl start docker

📁 创建项目目录

在 VPS 上创建一个工作目录:

mkdir ~/mihomo && cd ~/mihomo

📝 编写配置文件 config.yaml

这是核心配置文件。我们让 Mihomo 作为 Shadowsocks 服务端,直接监听 10086 端口,并直连出站(因为 VPS 在境外,无需额外代理)。

# ==========================================
# Mihomo 服务端配置
# 功能:Shadowsocks 服务端 + 直连出站
# ==========================================

# ---------- 基础设置 ----------
mixed-port: 7890          # HTTP/SOCKS5 混合代理(本地测试用)
allow-lan: true           # 允许局域网连接
bind-address: "*"         # 监听所有网卡
mode: rule                # 规则模式
log-level: info
ipv6: false               # 全局禁用 IPv6(避免连接超时)

# ---------- DNS 设置 ----------
dns:
  enable: true
  listen: 0.0.0.0:53
  ipv6: false             # DNS 不返回 AAAA 记录
  nameserver:
    - 223.5.5.5           # 阿里 DNS(IPv4)
    - 114.114.114.114

# ---------- 外部控制(Web 面板 API) ----------
external-controller: 127.0.0.1:9090   # 只监听本地,更安全
secret: "your-strong-password"        # 请修改为强密码!

# ---------- 入站:Shadowsocks 服务 ----------
listeners:
  - name: ss-in
    type: shadowsocks
    port: 10086                      # 对外端口
    listen: 0.0.0.0                  # 接受所有来源
    cipher: aes-256-gcm              # 加密方式
    password: your-ss-password       # 请修改!
    udp: true                        # 支持 UDP

# ---------- 出站:直连 ----------
proxy-groups:
  - name: "PROXY"
    type: select
    proxies:
      - DIRECT                      # 直接通过 VPS 网络出站

# ---------- 分流规则 ----------
rules:
  # 明确拒绝所有 IPv6 流量(双重保险)
  - IP-CIDR6,::/0,REJECT
  # 国内 IP 直连(对境外 VPS 影响不大)
  - GEOIP,CN,DIRECT
  # 所有其他流量走 PROXY(即直连)
  - MATCH,PROXY

⚠️ 请务必修改

  • password: your-ss-password → 换一个复杂密码
  • secret: "your-strong-password" → 换一个强密码

🐳 编写 docker-compose.yml

使用 Docker Compose 管理容器,方便启动、停止和更新。

services:
  mihomo:
    image: metacubex/mihomo:latest
    container_name: mihomo
    restart: always
    network_mode: "host"                # 使用宿主机网络,避免端口映射性能损耗
    volumes:
      - ./config.yaml:/root/.config/mihomo/config.yaml
    cap_add:
      - NET_ADMIN                       # 允许管理网络(TUN 模式需要,这里可保留)

为什么用 network_mode: host

  • 简化端口管理,无需映射
  • 性能更好,尤其适合 UDP 代理
  • 容器直接使用宿主机网络栈

🚀 启动容器

~/mihomo 目录下执行:

docker-compose up -d

查看日志确认是否成功:

docker logs mihomo

正常输出应包含:

ShadowSocks[ss-in] proxy listening at: [::]:10086
Mixed(http+socks) proxy listening at: [::]:7890
Initial configuration complete, total time: 1ms

🔥 防火墙放行端口

确保 VPS 防火墙和云服务商安全组放行 10086 端口(TCP 和 UDP):

ufw allow 10086/tcp
ufw allow 10086/udp
如果你使用云厂商(如阿里云、腾讯云、AWS),还需在控制台的安全组规则中添加入站规则:协议 TCP/UDP,端口 10086,源 IP 0.0.0.0/0

🧪 测试服务端是否正常

在 VPS 上通过本地代理测试访问 Google:

curl -x http://127.0.0.1:7890 https://www.google.com -I

如果返回 HTTP/2 200HTTP/1.1 200 OK,说明服务端工作正常。


📱 客户端连接

现在你可以在任何设备上使用 Shadowsocks 客户端连接:

参数
服务器地址your-ip(你的 VPS 公网 IP)
端口10086
加密方式aes-256-gcm
密码your-ss-password(你配置的密码)

推荐客户端

  • Windows:Shadowsocks for Windows / Clash Verge
  • macOS:ShadowsocksX-NG / ClashX / Clash Verge
  • iOS:Shadowrocket(付费)/ Quantumult X
  • Android:Shadowsocks / Clash Meta for Android

连接成功后,访问 Google 即可验证。


🔒 安全建议

  1. 更换默认密码:配置文件中的 passwordsecret 请务必修改为强密码(大小写字母+数字+符号)。
  2. 限制面板访问external-controller 已设为 127.0.0.1:9090,如需远程访问,改为 0.0.0.0:9090 并设置强 secret
  3. 限制端口来源(可选):如果你只在固定 IP 下使用,可在安全组中将 10086 端口仅允许你的家庭/办公 IP。
  4. 定期更新镜像

    docker-compose pull mihomo
    docker-compose up -d

❓ 常见问题

Q1:连接后无法访问外网,日志显示 connection refused

检查防火墙和安全组是否放行了 10086 端口,以及服务端是否正确监听 0.0.0.0

Q2:日志出现 2001::1 超时错误?

这是 IPv6 连接问题。配置中已通过 ipv6: falseIP-CIDR6,::/0,REJECT 禁用 IPv6,若仍有问题,可在宿主机系统层面禁用 IPv6(谨慎操作):

sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1
sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1

Q3:如何更新配置?

修改 config.yaml 后,重启容器即可:

docker-compose restart mihomo

Q4:如何查看实时日志?

docker logs -f mihomo

🎯 总结

通过以上步骤,你已经成功在 VPS 上部署了一个高性能、稳定的 Shadowsocks 服务端,核心组件只有 Mihomo + Docker,资源占用极低。

整个方案的亮点

  • ✅ 一个配置文件搞定所有
  • ✅ 容器化,易于迁移和备份
  • ✅ 支持 UDP,适合游戏和语音
  • ✅ 可扩展性强,后续可添加更多协议或规则

现在,尽情享受你的私有代理服务吧!如果你在搭建过程中遇到问题,欢迎在评论区留言交流。


📌 本文所有配置均基于 Mihomo 最新版本(metacubex/mihomo:latest),如有变动请参考官方文档
最后修改:2026 年 07 月 10 日
如果觉得我的文章对你有用,请随意赞赏