TROUBLESHOOTING.md 3.3 KB

⚠️ 安装问题解决方案

你遇到的错误

go: github.com/google/gopacket@v1.2.3: reading github.com/google/gopacket/go.mod at revision v1.2.3: unknown revision v1.2.3

✅ 已修复

这个问题已经解决!原因是 go.mod 文件中包含了一个不存在的依赖版本。

修复内容

  1. 删除了无效依赖 - github.com/google/gopacket(实际未使用)
  2. 添加了正确的 SQLite 驱动 - github.com/mattn/go-sqlite3
  3. 更新了 go.mod - 使用稳定版本

🚀 现在这样安装

方法 1:重新运行安装脚本(推荐)

cd /path/to/dhcp-dns-manager
sudo ./install.sh

方法 2:运行修复脚本

cd /path/to/dhcp-dns-manager
./fix-deps.sh

然后编译:

go build -o dhcp-dns-manager ./cmd

方法 3:手动修复

# 1. 进入项目目录
cd /path/to/dhcp-dns-manager

# 2. 删除旧的依赖文件
rm -f go.sum

# 3. 清理模块缓存
go clean -modcache

# 4. 重新下载依赖
go mod download
go mod tidy

# 5. 编译
CGO_ENABLED=1 go build -o dhcp-dns-manager ./cmd

📋 完整安装步骤(从零开始)

1. 安装系统依赖

# Debian/Ubuntu
sudo apt update
sudo apt install -y git build-essential libsqlite3-dev

# RHEL/CentOS
sudo yum install -y git gcc make sqlite-devel

2. 安装 Go(如果未安装)

# 下载 Go 1.21
wget https://go.dev/dl/go1.21.0.linux-amd64.tar.gz

# 解压
sudo tar -C /usr/local -xzf go1.21.0.linux-amd64.tar.gz

# 添加到 PATH
echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc
source ~/.bashrc

# 验证
go version

3. 安装项目

# 进入项目目录
cd /path/to/dhcp-dns-manager

# 运行修复脚本(如果有依赖问题)
./fix-deps.sh

# 运行安装脚本
sudo ./install.sh

🔍 验证安装

检查服务状态

systemctl status dhcp-dns-manager

应该显示:

● dhcp-dns-manager.service - DHCP & DNS Manager Service
     Active: active (running)

检查端口

sudo netstat -ulpn | grep -E ':(53|67|8080)'

应该看到:

  • UDP 53 - DNS
  • UDP 67 - DHCP
  • TCP 8080 - Web UI

访问 Web 界面

浏览器打开:http://your-server-ip:8080

默认账号:admin / admin


❓ 其他常见问题

问题:gcc: command not found

解决:

sudo apt install build-essential

问题:sqlite3.h: No such file or directory

解决:

sudo apt install libsqlite3-dev

问题:port 8080 already in use

解决:

  1. 查找占用进程:

    sudo lsof -i :8080
    
  2. 停止占用进程或修改 configs/config.json 中的端口

问题:permission denied 绑定端口

解决: DHCP (67) 和 DNS (53) 需要 root 权限:

sudo systemctl restart dhcp-dns-manager

或使用 Docker 部署(自动处理权限)。


📞 还是不行?

  1. 查看详细日志:

    journalctl -u dhcp-dns-manager -f
    
  2. 检查 Go 环境:

    go version
    go env
    
  3. 查看构建指南: 阅读 BUILD.md 获取详细帮助

  4. 提交 Issue: 提供以下信息:

    • 操作系统版本
    • Go 版本
    • 完整错误日志
    • 已尝试的解决方案

祝你安装顺利! 🎉