Files
dhcp-dns-manager/diagnose.sh
T
CNBUGS AI 8ad4c3576d Fix DHCP client unable to get IP and config not persisting
- Fixed verifyAssignment being too strict for new clients
- Fixed parseRequestedIP string conversion bug
- Fixed response sent to 0.0.0.0 instead of broadcast address
- Added SO_BROADCAST support for UDP socket
- Fixed session persistence after page refresh (localStorage)
- Added in-memory session store for auth middleware
- Added config reloader so DHCP server picks up web UI changes dynamically
2026-04-24 16:03:54 +08:00

89 righe
2.4 KiB
Bash

#!/bin/bash
# ========================================
# DHCP & DNS 管理器 - 诊断脚本
# ========================================
echo "🔍 DHCP & DNS 管理器 - 诊断工具"
echo "=================================="
echo ""
# 1. 查看服务状态
echo "📊 服务状态:"
systemctl status dhcp-dns-manager --no-pager
echo ""
# 2. 查看详细日志
echo "📋 最近日志(最后 50 行):"
journalctl -u dhcp-dns-manager -n 50 --no-pager
echo ""
# 3. 检查配置文件
echo "⚙️ 配置文件检查:"
CONFIG_FILE="/opt/dhcp-dns-manager/configs/config.json"
if [ -f "$CONFIG_FILE" ]; then
echo "✓ 配置文件存在: $CONFIG_FILE"
echo "内容:"
cat "$CONFIG_FILE"
else
echo "❌ 配置文件不存在!"
fi
echo ""
# 4. 检查可执行文件
echo "🔨 可执行文件检查:"
EXEC_FILE="/opt/dhcp-dns-manager/dhcp-dns-manager"
if [ -f "$EXEC_FILE" ]; then
echo "✓ 可执行文件存在: $EXEC_FILE"
ls -lh "$EXEC_FILE"
# 测试运行
echo ""
echo "测试运行(3 秒后自动退出)..."
timeout 3 "$EXEC_FILE" -config "$CONFIG_FILE" 2>&1 || true
else
echo "❌ 可执行文件不存在!"
fi
echo ""
# 5. 检查端口占用
echo "🔌 端口占用检查:"
echo "DNS (53/udp):"
sudo netstat -ulpn 2>/dev/null | grep :53 || echo " 未占用"
echo "DHCP (67/udp):"
sudo netstat -ulpn 2>/dev/null | grep :67 || echo " 未占用"
echo "Web (8080/tcp):"
sudo netstat -tlnp 2>/dev/null | grep :8080 || echo " 未占用"
echo ""
# 6. 检查数据库目录
echo "💾 数据目录检查:"
DATA_DIR="/opt/dhcp-dns-manager/data"
if [ -d "$DATA_DIR" ]; then
echo "✓ 数据目录存在: $DATA_DIR"
ls -la "$DATA_DIR"
else
echo "❌ 数据目录不存在!"
fi
echo ""
# 7. 检查权限
echo "🔐 权限检查:"
echo "安装目录:"
ls -la /opt/dhcp-dns-manager/ | head -10
echo ""
# 8. 检查 systemd 服务文件
echo "📄 systemd 服务文件:"
cat /etc/systemd/system/dhcp-dns-manager.service
echo ""
echo "=================================="
echo "诊断完成!"
echo ""
echo "💡 常见解决方案:"
echo "1. 端口被占用 → 修改 configs/config.json 中的端口"
echo "2. 权限不足 → sudo systemctl restart dhcp-dns-manager"
echo "3. 配置错误 → 检查 configs/config.json 格式"
echo "4. 重新编译 → cd /vol1/@apphome/trim.openclaw/data/workspace/dhcp-dns-manager && sudo ./install.sh"
echo ""