Clash 路由器网关部署教程

树莓派 Clash 透明网关网络拓扑

桌面端迁移完成后,下一步往往是「全家设备怎么接入」。本文用树莓派 4B 搭建透明网关:mihomo TUN 截获全部 IP 流量,局域网设备仅需将网关 IP 设为树莓派地址,无需逐台装客户端。🌐

网关拓扑 — 流量走向

  1. 设备(手机/电视/游戏机)→ 网关(树莓派 eth0)
  2. mihomo TUN 接口截获 IP 包 → 规则匹配
  3. 国内流量 DIRECT → 光猫 → 运营商
  4. 国外流量走 Reality/Hysteria2 出站 → 目标服务器
  5. DNS 被 fake-ip 劫持 → 远程 DoH 解析

mihomo 安装与目录规划

# 下载 mihomo arm64 构建
wget -O mihomo.gz https://github.com/MetaCubeX/mihomo/releases/download/v1.18.0/mihomo-linux-arm64-v1.18.0.gz
gunzip mihomo.gz
chmod +x mihomo
sudo mv mihomo /usr/local/bin/

sudo mkdir -p /etc/clash/{rules,profiles}
sudo mkdir -p /var/log/clash

核心 config.yaml(TUN 网关模式)

# /etc/clash/config.yaml
mixed-port: 7890
allow-lan: true
bind-address: '*'
mode: rule
log-level: info

tun:
  enable: true
  stack: mixed
  auto-route: true
  auto-detect-interface: true
  dns-hijack:
    - 'any:53'

dns:
  enable: true
  enhanced-mode: fake-ip
  fake-ip-range: 198.18.0.1/16
  nameserver:
    - https://dns.cloudflare.com/dns-query
  fallback:
    - https://dns.google/dns-query
  fallback-filter:
    geoip: true
    geoip-code: CN

# proxies / proxy-groups / rules 从 subconverter 导入

systemd 服务单元

# /etc/systemd/system/clash.service
[Unit]
Description=Clash Meta (mihomo) Transparent Gateway
After=network-online.target
Wants=network-online.target

[Service]
Type=simple
ExecStart=/usr/local/bin/mihomo -d /etc/clash
Restart=on-failure
RestartSec=5
LimitNOFILE=65535
AmbientCapabilities=CAP_NET_ADMIN CAP_NET_BIND_SERVICE
CapabilityBoundingSet=CAP_NET_ADMIN CAP_NET_BIND_SERVICE

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable --now clash
sudo systemctl status clash

旁路网关 IP 转发

树莓派作旁路网关时,将局域网设备网关 DNS 指向树莓派 IP(如 192.168.1.2):

echo 'net.ipv4.ip_forward = 1' | sudo tee -a /etc/sysctl.conf
sudo sysctl -p

sudo iptables -t nat -A PREROUTING -i eth0 -p udp --dport 53 -j REDIRECT --to-port 1053
sudo iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 53 -j REDIRECT --to-port 1053

TUN 模式下 auto-route: true 自动管理路由表,多数场景无需手动 iptables。⚙️

排障清单

症状诊断命令解决方案
服务启动失败journalctl -u clash -emihomo -t -f /etc/clash/config.yaml 预检
设备无法上网ip route show确认 auto-route 生效,检查默认网关冲突
DNS 污染dig @198.18.0.2 google.com确认 fake-ip 与 DoH nameserver 启用
国内站变慢curl -o /dev/null -w '%{time_total}' baidu.com检查 GEOIP CN 规则是否 DIRECT

与 subconverter 协同部署

docker run -d --name subconverter --restart unless-stopped \
  -p 127.0.0.1:25500:25500 \
  tindy2013/subconverter:latest

mihomo 订阅 URL 指向 http://127.0.0.1:25500/sub?target=clashmeta&url=...。详见 订阅转换流水线

性能预期

树莓派 4B(4GB)实测:Hysteria2 吞吐约 280–350 Mbps,Reality 约 200–280 Mbps,内存占用 60–90MB。足以覆盖千兆家宽以下的全家设备。📊

编辑点评

透明网关是迁移的「终极落地」——终端零配置,规则在一处维护。树莓派 4B 功耗约 5W,24/7 运行月电费不足 3 元。🎯

延伸阅读

订阅转换流水线 · → 下载 mihomo arm64 · → CFW 迁移对照表