aileeao / test_tun_mode.sh
aihuashanying's picture
修复不能push的问题
386b079
#!/bin/bash
echo "=== 测试 TUN 模式是否正常工作 ==="
echo ""
echo "1. 测试普通 HTTP/HTTPS 连接(应该通过 TUN 模式代理)..."
if timeout 10 curl -s https://www.google.com > /dev/null 2>&1; then
echo "✓ HTTP/HTTPS 连接正常(可能已通过 TUN 代理)"
else
echo "✗ HTTP/HTTPS 连接失败"
fi
echo ""
echo "2. 测试到 hf.co 的连接..."
if timeout 5 bash -c "echo > /dev/tcp/hf.co/443" 2>/dev/null; then
echo "✓ hf.co:443 可达"
HF_IP=$(getent hosts hf.co | awk '{print $1}' | head -1)
echo " hf.co 解析到的 IP: $HF_IP"
else
echo "✗ hf.co:443 不可达"
fi
echo ""
echo "3. 测试 DNS 解析..."
if nslookup hf.co > /dev/null 2>&1; then
echo "✓ DNS 解析正常"
NSLOOKUP_OUTPUT=$(nslookup hf.co 2>&1)
echo "$NSLOOKUP_OUTPUT" | grep -A 2 "Name:"
else
echo "✗ DNS 解析失败"
fi
echo ""
echo "4. 检查路由表(查看是否有 TUN 相关路由)..."
ip route show | grep -E "tun|172\.|198\." | head -5
echo ""
echo "5. 检查网络接口(查看是否有 TUN 接口)..."
ip addr show | grep -E "^[0-9]+:|tun|utun" | head -10
echo ""
echo "6. 测试 SSH 连接(详细输出)..."
echo "开始 SSH 连接测试(30秒超时)..."
timeout 30 ssh -vT [email protected] 2>&1 | tee /tmp/ssh_debug.log | grep -E "(Connecting|Authenticated|successfully|Connection|timeout|error|failed|banner)" | head -20
echo ""
echo "完整日志保存在: /tmp/ssh_debug.log"
echo "查看完整日志: cat /tmp/ssh_debug.log"