#!/bin/bash # 查隧道为什么只有 3 条连接(配置 6) set -u echo "════════ 1. 当前连接数 ════════" curl -s --max-time 5 http://127.0.0.1:20241/metrics 2>/dev/null \ | grep -E '^cloudflared_tunnel_ha_connections|server_locations.*} 1' | sed 's/^/ /' echo echo "════════ 2. cloudflared 进程 ════════" ps -o pid,etime,rss,cmd -p $(systemctl show lanremote-tunnel -p MainPID --value) 2>/dev/null | sed 's/^/ /' echo echo "════════ 3. 最近 30 分钟的连接事件 ════════" journalctl -u lanremote-tunnel --since '30 minutes ago' --no-pager 2>/dev/null \ | grep -E 'Registered|Lost|Unable|Unregistered|connIndex' | tail -20 | sed 's/^/ /' echo echo "════════ 4. cloudflared 的完整参数 ════════" systemctl cat lanremote-tunnel 2>/dev/null | grep -A8 'ExecStart=' | sed 's/^/ /' echo echo "════════ 5. 4 个活跃连接都在哪个落点、延迟多少 ════════" curl -s --max-time 5 http://127.0.0.1:20241/metrics 2>/dev/null \ | grep -E 'cloudflared_tunnel_(server_locations|connection_)' \ | grep -v '^#' | sed 's/^/ /' echo echo "════════ 6. 内存占用(MemoryMax=160M 可能把 cloudflared 撑爆)════════" systemctl show lanremote-tunnel -p MemoryCurrent -p MemoryMax --value | sed 's/^/ /' echo " ---" echo " 设备总内存:" free -m | sed 's/^/ /' echo echo "════════ 7. 日志里有没有 OOM 或被杀 ════════" journalctl -u lanremote-tunnel --since '2 hours ago' --no-pager 2>/dev/null \ | grep -icE 'oom|killed|signal' | sed 's/^/ OOM/被杀 相关行数: /' dmesg 2>/dev/null | grep -iE 'oom|killed process' | tail -5 | sed 's/^/ /' || echo " dmesg 里没有" echo echo "════════ 8. 隧道日志末尾(看有没有在反复失败)════════" tail -20 /root/lanremote-relay/tunnel.log 2>/dev/null | sed 's/^/ /'