DEPLOY.md 3.0 KB

快速部署指南

方案一:Docker 部署(推荐)⭐

1. 启动服务

cd dhcp-dns-manager
./start.sh

或手动执行:

docker-compose up -d

2. 访问 Web 界面

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

默认登录:

  • 用户名:admin
  • 密码:admin

⚠️ 首次使用请修改默认密码!

3. 配置网络

编辑 configs/config.json

{
  "dhcp": {
    "interface": "eth0",           // 改为你的网络接口
    "network": "192.168.1.0",      // 你的网段
    "gateway": "192.168.1.1",      // 你的网关
    "ip_pool_start": "192.168.1.100",
    "ip_pool_end": "192.168.1.200"
  }
}

4. 重启服务使配置生效

docker-compose restart

方案二:Linux 本地部署

1. 安装 Go

# Ubuntu/Debian
sudo apt update
sudo apt install golang-go

# 或从官网下载
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
export PATH=$PATH:/usr/local/go/bin

2. 编译程序

cd dhcp-dns-manager
go mod download
go build -o dhcp-dns-manager ./cmd

3. 以 systemd 服务运行

创建服务文件:

sudo nano /etc/systemd/system/dhcp-dns-manager.service

内容:

[Unit]
Description=DHCP & DNS Manager
After=network.target

[Service]
Type=simple
User=root
WorkingDirectory=/path/to/dhcp-dns-manager
ExecStart=/path/to/dhcp-dns-manager/dhcp-dns-manager -config configs/config.json
Restart=always

[Install]
WantedBy=multi-user.target

启动服务:

sudo systemctl daemon-reload
sudo systemctl enable dhcp-dns-manager
sudo systemctl start dhcp-dns-manager
sudo systemctl status dhcp-dns-manager

方案三:开发模式运行

cd dhcp-dns-manager
go run ./cmd -config configs/config.json

防火墙配置

如果启用了防火墙,需要开放端口:

# UFW (Ubuntu)
sudo ufw allow 53/udp
sudo ufw allow 67/udp
sudo ufw allow 8080/tcp

# Firewalld (CentOS)
sudo firewall-cmd --permanent --add-port=53/udp
sudo firewall-cmd --permanent --add-port=67/udp
sudo firewall-cmd --permanent --add-port=8080/tcp
sudo firewall-cmd --reload

常见问题

Q: 端口被占用怎么办?

修改 configs/config.json 中的端口:

{
  "dns": {
    "listen_port": 5353
  },
  "web": {
    "port": 8081
  }
}

Q: 如何查看日志?

# Docker
docker-compose logs -f

# systemd
sudo journalctl -u dhcp-dns-manager -f

# 直接运行
查看程序输出

Q: 数据库在哪里?

SQLite 数据库文件:data/dhcp-dns.db

备份:

cp data/dhcp-dns.db data/dhcp-dns.db.backup

Q: 忘记密码怎么办?

目前使用简单认证,直接修改代码或等待多用户版本。


下一步

  1. 登录 Web 界面
  2. 配置 DHCP IP 地址池
  3. 添加静态 IP 绑定(如有需要)
  4. 配置 DNS 记录
  5. 测试网络连通性

祝使用愉快!🎉