#!/bin/bash # 诊断:为什么 /etc/hosts 覆盖没生效,隧道还是落到 lax set -u echo "===== 1. /etc/hosts 实际内容(尾部)=====" tail -8 /etc/hosts | sed 's/^/ /' echo echo "===== 2. nsswitch 的解析顺序 =====" grep '^hosts' /etc/nsswitch.conf | sed 's/^/ /' echo echo "===== 3. glibc 解析(getent)=====" getent ahostsv4 region1.v2.argotunnel.com 2>/dev/null | head -3 | sed 's/^/ v4: /' getent ahostsv6 region1.v2.argotunnel.com 2>/dev/null | head -3 | sed 's/^/ v6: /' echo echo "===== 4. 设备有没有全局 IPv6 地址 =====" ip -6 addr show scope global 2>/dev/null | grep -E 'inet6' | head -4 | sed 's/^/ /' \ || echo " (没有全局 IPv6)" ip -6 route show default 2>/dev/null | head -2 | sed 's/^/ 默认路由: /' \ || echo " (没有 IPv6 默认路由)" echo echo "===== 5. cloudflared 支持哪些 edge 相关参数 =====" cloudflared tunnel --help 2>&1 | grep -iE 'edge|region|protocol|ip-version' | head -12 | sed 's/^/ /' echo echo " --- run 子命令的 ---" cloudflared tunnel run --help 2>&1 | grep -iE 'edge|region|protocol|ip-version' | head -12 | sed 's/^/ /' echo echo "===== 6. 当前隧道服务实际用的参数 =====" grep -o 'ExecStart=.*' /etc/systemd/system/lanremote-tunnel.service | head -1 | sed 's/^/ /' echo echo "===== 7. cloudflared 近期的连接日志 =====" grep -E 'location=|edge discovery|Initial protocol' /root/lanremote-relay/tunnel.log 2>/dev/null \ | tail -6 | sed 's/^/ /'