USE_CASES.md 4.9 KB

使用场景示例

场景一:家庭网络管理

背景

你有一个家庭网络,想管理所有设备的 IP 分配,并为重要设备(NAS、打印机)分配固定 IP。

配置步骤

  1. 配置 DHCP 地址池

    {
    "dhcp": {
    "enabled": true,
    "interface": "eth0",
    "network": "192.168.1.0",
    "netmask": "255.255.255.0",
    "gateway": "192.168.1.1",
    "dns_servers": ["192.168.1.1", "114.114.114.114"],
    "lease_time": 86400,
    "ip_pool_start": "192.168.1.100",
    "ip_pool_end": "192.168.1.200"
    }
    }
    
  2. 为 NAS 添加静态绑定

  3. 登录 Web 界面

  4. 进入 DHCP → 静态 IP 绑定

  5. 点击"新增绑定"

  6. 输入:

    • MAC 地址:00:11:22:33:44:55(NAS 的 MAC)
    • IP 地址:192.168.1.10
    • 主机名:my-nas
    • 描述:家庭 NAS 存储
  7. 为打印机添加静态绑定

  8. MAC 地址:AA:BB:CC:DD:EE:FF

  9. IP 地址:192.168.1.20

  10. 主机名:printer

  11. 描述:客厅打印机

效果

  • 手机、电脑等设备自动获取 192.168.1.100-200 范围内的 IP
  • NAS 和打印机始终使用固定 IP,方便访问
  • 在 Web 界面可以看到所有在线设备

场景二:小型办公室网络

背景

10 人办公室,需要内部 DNS 解析公司服务器,并管理员工设备。

配置步骤

  1. 配置内部 DNS 记录

登录 Web 界面 → DNS 管理 → 新增记录:

域名 类型 TTL 用途
oa.company.local A 192.168.1.50 300 OA 系统
file.company.local A 192.168.1.51 300 文件服务器
git.company.local A 192.168.1.52 300 Git 服务器
www.company.local CNAME file.company.local 300 公司官网
  1. 为员工电脑绑定 IP
  2. 记录每个员工的 MAC 地址
  3. 分配固定 IP 方便管理
  4. 例如:192.168.1.101 - 张三的电脑

  5. 查看 DNS 查询日志

  6. 监控内部域名解析情况

  7. 排查网络问题

效果

  • 员工可以通过 oa.company.local 访问 OA 系统
  • 不需要配置 hosts 文件
  • 集中管理所有网络资源

场景三:开发测试环境

背景

开发人员需要模拟 DNS 环境,测试域名解析。

配置步骤

  1. 修改 DNS 端口(避免冲突)

    {
    "dns": {
    "enabled": true,
    "listen_addr": "127.0.0.1",
    "listen_port": 5353,
    "upstream": ["8.8.8.8"]
    }
    }
    
  2. 添加测试域名

    # 创建测试记录
    curl -X POST http://localhost:8080/api/dns/records \
    -H "X-Session-ID: xxx" \
    -H "Content-Type: application/json" \
    -d '{
    "name": "api.test.local",
    "type": "A",
    "value": "127.0.0.1",
    "ttl": 60
    }'
    
  3. 配置系统 DNS

    # Linux
    echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf
    
    # 或使用 dnsmasq 转发
    
  4. 测试解析

    dig @127.0.0.1 -p 5353 api.test.local
    

效果

  • 本地开发环境模拟生产 DNS
  • 快速切换不同测试场景
  • 查看完整的 DNS 查询日志

场景四:树莓派网络服务

背景

在树莓派上运行轻量级 DHCP+DNS 服务,作为家庭网络的核心。

硬件要求

  • 树莓派 3B+ 或更高
  • 8GB SD 卡
  • 有线网络连接

安装步骤

  1. 安装 Docker

    curl -sSL https://get.docker.com | sh
    sudo usermod -aG docker pi
    
  2. 部署服务

    git clone <your-repo>
    cd dhcp-dns-manager
    docker-compose up -d
    
  3. 设置开机自启

    docker-compose enable
    
  4. 配置网络接口

    {
    "dhcp": {
    "interface": "eth0"
    }
    }
    

效果

  • 低功耗 24 小时运行
  • 替代路由器 DHCP 功能
  • 提供快速本地 DNS 解析

场景五:网络隔离测试

背景

测试不同网段的网络隔离策略。

配置多网段(需要多个实例)

实例 1 - 网段 A

{
  "dhcp": {
    "network": "192.168.10.0",
    "ip_pool_start": "192.168.10.100",
    "ip_pool_end": "192.168.10.200"
  },
  "web": {
    "port": 8081
  }
}

实例 2 - 网段 B

{
  "dhcp": {
    "network": "192.168.20.0",
    "ip_pool_start": "192.168.20.100",
    "ip_pool_end": "192.168.20.200"
  },
  "web": {
    "port": 8082
  }
}

效果

  • 隔离测试环境和生产环境
  • 模拟复杂网络拓扑
  • 验证防火墙规则

最佳实践

1. IP 地址规划

192.168.1.1      - 网关
192.168.1.2-50   - 静态设备(服务器、打印机)
192.168.1.51-99  - 预留
192.168.1.100-200 - DHCP 动态分配
192.168.1.201-254 - 预留

2. DNS 命名规范

设备类型.位置.域名
- nas.home.local
- printer.office.local
- server.dc.local

3. 安全建议

  • 修改默认密码
  • 限制 Web 界面访问 IP
  • 启用 HTTPS(反向代理)
  • 定期备份数据库

4. 监控建议

  • 监控 DHCP 地址池使用率
  • 设置告警(地址池 > 80%)
  • 定期查看 DNS 查询日志

选择适合你的场景开始使用吧!🚀