8ad4c3576d
- 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
89 خطوط
2.4 KiB
Bash
89 خطوط
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 ""
|