316 lines
4.7 KiB
Markdown
316 lines
4.7 KiB
Markdown
|
|
# 🚀 快速开始指南
|
|||
|
|
|
|||
|
|
选择你的操作系统开始部署:
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🐧 Linux 系统
|
|||
|
|
|
|||
|
|
### 方法 1:一键安装脚本(推荐)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 下载项目
|
|||
|
|
git clone <your-repo-url>
|
|||
|
|
cd dhcp-dns-manager
|
|||
|
|
|
|||
|
|
# 运行安装脚本(需要 root 权限)
|
|||
|
|
sudo ./install.sh
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
安装完成后:
|
|||
|
|
- ✅ 自动配置 systemd 服务
|
|||
|
|
- ✅ 自动配置防火墙
|
|||
|
|
- ✅ 自动启动服务
|
|||
|
|
|
|||
|
|
**访问**: http://your-server-ip:8080
|
|||
|
|
**账号**: `admin` / `admin`
|
|||
|
|
|
|||
|
|
### 方法 2:Docker 部署
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
docker-compose up -d
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 方法 3:手动运行
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
go mod download
|
|||
|
|
go run ./cmd -config configs/config.json
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🪟 Windows 系统
|
|||
|
|
|
|||
|
|
### 方法 1:Docker Desktop(推荐)
|
|||
|
|
|
|||
|
|
1. 安装 Docker Desktop: https://www.docker.com/products/docker-desktop
|
|||
|
|
2. 双击运行 `start.bat`
|
|||
|
|
3. 访问 http://localhost:8080
|
|||
|
|
|
|||
|
|
### 方法 2:本地运行
|
|||
|
|
|
|||
|
|
1. 安装 Go: https://golang.org/dl/
|
|||
|
|
2. 双击运行 `start.bat`
|
|||
|
|
3. 访问 http://localhost:8080
|
|||
|
|
|
|||
|
|
### 方法 3:WSL2
|
|||
|
|
|
|||
|
|
在 WSL2 中按照 Linux 方法部署
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🍎 macOS 系统
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 安装 Go
|
|||
|
|
brew install go
|
|||
|
|
|
|||
|
|
# 运行
|
|||
|
|
go mod download
|
|||
|
|
go run ./cmd -config configs/config.json
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📦 Docker(所有平台通用)
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 启动
|
|||
|
|
docker-compose up -d
|
|||
|
|
|
|||
|
|
# 查看日志
|
|||
|
|
docker-compose logs -f
|
|||
|
|
|
|||
|
|
# 停止
|
|||
|
|
docker-compose down
|
|||
|
|
|
|||
|
|
# 重启
|
|||
|
|
docker-compose restart
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ✅ 验证安装
|
|||
|
|
|
|||
|
|
### 1. 检查服务状态
|
|||
|
|
|
|||
|
|
**Linux:**
|
|||
|
|
```bash
|
|||
|
|
systemctl status dhcp-dns-manager
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Windows:**
|
|||
|
|
```powershell
|
|||
|
|
sc query dhcp-dns-manager
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Docker:**
|
|||
|
|
```bash
|
|||
|
|
docker-compose ps
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2. 访问 Web 界面
|
|||
|
|
|
|||
|
|
浏览器打开:http://localhost:8080
|
|||
|
|
|
|||
|
|
看到登录页面即表示安装成功!
|
|||
|
|
|
|||
|
|
### 3. 测试 API
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
curl http://localhost:8080/api/dashboard
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔧 配置说明
|
|||
|
|
|
|||
|
|
编辑 `configs/config.json`:
|
|||
|
|
|
|||
|
|
```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
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🔐 安全建议
|
|||
|
|
|
|||
|
|
### 首次使用必做:
|
|||
|
|
|
|||
|
|
1. **修改默认密码**
|
|||
|
|
- 登录 Web 界面
|
|||
|
|
- 进入设置 → 修改密码
|
|||
|
|
|
|||
|
|
2. **限制访问 IP**(可选)
|
|||
|
|
|
|||
|
|
在防火墙中限制只允许内网访问:
|
|||
|
|
```bash
|
|||
|
|
# Linux UFW
|
|||
|
|
sudo ufw allow from 192.168.1.0/24 to any port 8080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
3. **启用 HTTPS**(生产环境)
|
|||
|
|
|
|||
|
|
使用 Nginx 反向代理:
|
|||
|
|
```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:**
|
|||
|
|
```bash
|
|||
|
|
# systemd 方式
|
|||
|
|
journalctl -u dhcp-dns-manager -f
|
|||
|
|
|
|||
|
|
# Docker 方式
|
|||
|
|
docker-compose logs -f
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**Windows:**
|
|||
|
|
```powershell
|
|||
|
|
# Docker 方式
|
|||
|
|
docker-compose logs -f
|
|||
|
|
|
|||
|
|
# 事件查看器
|
|||
|
|
eventvwr.msc
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 备份数据
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 备份数据库
|
|||
|
|
cp data/dhcp-dns.db data/dhcp-dns.db.backup.$(date +%Y%m%d)
|
|||
|
|
|
|||
|
|
# 备份配置
|
|||
|
|
cp configs/config.json configs/config.json.backup
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 恢复数据
|
|||
|
|
|
|||
|
|
```bash
|
|||
|
|
# 停止服务
|
|||
|
|
systemctl stop dhcp-dns-manager
|
|||
|
|
|
|||
|
|
# 恢复数据库
|
|||
|
|
cp data/dhcp-dns.db.backup data/dhcp-dns.db
|
|||
|
|
|
|||
|
|
# 启动服务
|
|||
|
|
systemctl start dhcp-dns-manager
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## ❓ 故障排查
|
|||
|
|
|
|||
|
|
### 问题 1:无法访问 Web 界面
|
|||
|
|
|
|||
|
|
**检查服务状态:**
|
|||
|
|
```bash
|
|||
|
|
# Linux
|
|||
|
|
systemctl status dhcp-dns-manager
|
|||
|
|
|
|||
|
|
# Docker
|
|||
|
|
docker-compose ps
|
|||
|
|
|
|||
|
|
# Windows
|
|||
|
|
netstat -ano | findstr :8080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**检查防火墙:**
|
|||
|
|
```bash
|
|||
|
|
# Linux
|
|||
|
|
sudo ufw status
|
|||
|
|
|
|||
|
|
# Windows
|
|||
|
|
Get-NetFirewallRule | Where-Object Enabled -eq True
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 问题 2:端口被占用
|
|||
|
|
|
|||
|
|
**查找占用进程:**
|
|||
|
|
```bash
|
|||
|
|
# Linux
|
|||
|
|
sudo lsof -i :8080
|
|||
|
|
sudo netstat -tulpn | grep :8080
|
|||
|
|
|
|||
|
|
# Windows
|
|||
|
|
netstat -ano | findstr :8080
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**解决方案:**
|
|||
|
|
1. 停止占用端口的服务
|
|||
|
|
2. 或修改 `config.json` 使用其他端口
|
|||
|
|
|
|||
|
|
### 问题 3:DHCP/DNS 无法启动
|
|||
|
|
|
|||
|
|
**检查权限:**
|
|||
|
|
```bash
|
|||
|
|
# Linux - 需要 root 权限绑定 53/67 端口
|
|||
|
|
sudo systemctl restart dhcp-dns-manager
|
|||
|
|
|
|||
|
|
# Docker - 确保使用 network_mode: host
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**检查端口占用:**
|
|||
|
|
```bash
|
|||
|
|
sudo netstat -ulpn | grep :53
|
|||
|
|
sudo netstat -ulpn | grep :67
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 📚 更多文档
|
|||
|
|
|
|||
|
|
- [部署指南](DEPLOY.md) - 详细部署步骤
|
|||
|
|
- [Windows 指南](WINDOWS_GUIDE.md) - Windows 专属部署
|
|||
|
|
- [API 示例](API_EXAMPLES.md) - API 接口测试
|
|||
|
|
- [使用场景](USE_CASES.md) - 实际应用案例
|
|||
|
|
- [项目总结](PROJECT_SUMMARY.md) - 功能清单
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 🆘 获取帮助
|
|||
|
|
|
|||
|
|
1. 查看日志定位问题
|
|||
|
|
2. 检查配置文件语法
|
|||
|
|
3. 确认防火墙设置
|
|||
|
|
4. 提交 Issue 反馈
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
**祝你使用愉快!** 🎉
|
|||
|
|
|
|||
|
|
有任何问题随时反馈!
|