选择你的操作系统开始部署:
# 下载项目
git clone <your-repo-url>
cd dhcp-dns-manager
# 运行安装脚本(需要 root 权限)
sudo ./install.sh
安装完成后:
访问: http://your-server-ip:8080
账号: admin / admin
docker-compose up -d
go mod download
go run ./cmd -config configs/config.json
start.batstart.bat在 WSL2 中按照 Linux 方法部署
# 安装 Go
brew install go
# 运行
go mod download
go run ./cmd -config configs/config.json
# 启动
docker-compose up -d
# 查看日志
docker-compose logs -f
# 停止
docker-compose down
# 重启
docker-compose restart
Linux:
systemctl status dhcp-dns-manager
Windows:
sc query dhcp-dns-manager
Docker:
docker-compose ps
浏览器打开:http://localhost:8080
看到登录页面即表示安装成功!
curl http://localhost:8080/api/dashboard
编辑 configs/config.json:
{
"dhcp": {
"enabled": true,
"interface": "eth0", // Linux: eth0, Windows: "以太网"
"network": "192.168.1.0",
"ip_pool_start": "192.168.1.100",
"ip_pool_end": "192.168.1.200"
},
"dns": {
"enabled": true,
"listen_port": 53,
"upstream": ["8.8.8.8", "1.1.1.1"]
},
"web": {
"port": 8080
}
}
修改默认密码
限制访问 IP(可选)
在防火墙中限制只允许内网访问:
# Linux UFW
sudo ufw allow from 192.168.1.0/24 to any port 8080
使用 Nginx 反向代理:
server {
listen 443 ssl;
server_name your-domain.com;
ssl_certificate /path/to/cert.pem;
ssl_certificate_key /path/to/key.pem;
location / {
proxy_pass http://localhost:8080;
}
}
Linux:
# systemd 方式
journalctl -u dhcp-dns-manager -f
# Docker 方式
docker-compose logs -f
Windows:
# Docker 方式
docker-compose logs -f
# 事件查看器
eventvwr.msc
# 备份数据库
cp data/dhcp-dns.db data/dhcp-dns.db.backup.$(date +%Y%m%d)
# 备份配置
cp configs/config.json configs/config.json.backup
# 停止服务
systemctl stop dhcp-dns-manager
# 恢复数据库
cp data/dhcp-dns.db.backup data/dhcp-dns.db
# 启动服务
systemctl start dhcp-dns-manager
检查服务状态:
# Linux
systemctl status dhcp-dns-manager
# Docker
docker-compose ps
# Windows
netstat -ano | findstr :8080
检查防火墙:
# Linux
sudo ufw status
# Windows
Get-NetFirewallRule | Where-Object Enabled -eq True
查找占用进程:
# Linux
sudo lsof -i :8080
sudo netstat -tulpn | grep :8080
# Windows
netstat -ano | findstr :8080
解决方案:
config.json 使用其他端口检查权限:
# Linux - 需要 root 权限绑定 53/67 端口
sudo systemctl restart dhcp-dns-manager
# Docker - 确保使用 network_mode: host
检查端口占用:
sudo netstat -ulpn | grep :53
sudo netstat -ulpn | grep :67
祝你使用愉快! 🎉
有任何问题随时反馈!