# 使用场景示例 ## 场景一:家庭网络管理 ### 背景 你有一个家庭网络,想管理所有设备的 IP 分配,并为重要设备(NAS、打印机)分配固定 IP。 ### 配置步骤 1. **配置 DHCP 地址池** ```json { "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 添加静态绑定** - 登录 Web 界面 - 进入 DHCP → 静态 IP 绑定 - 点击"新增绑定" - 输入: - MAC 地址:`00:11:22:33:44:55`(NAS 的 MAC) - IP 地址:`192.168.1.10` - 主机名:`my-nas` - 描述:`家庭 NAS 存储` 3. **为打印机添加静态绑定** - MAC 地址:`AA:BB:CC:DD:EE:FF` - IP 地址:`192.168.1.20` - 主机名:`printer` - 描述:`客厅打印机` ### 效果 - 手机、电脑等设备自动获取 `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 | 公司官网 | 2. **为员工电脑绑定 IP** - 记录每个员工的 MAC 地址 - 分配固定 IP 方便管理 - 例如:`192.168.1.101` - 张三的电脑 3. **查看 DNS 查询日志** - 监控内部域名解析情况 - 排查网络问题 ### 效果 - 员工可以通过 `oa.company.local` 访问 OA 系统 - 不需要配置 hosts 文件 - 集中管理所有网络资源 --- ## 场景三:开发测试环境 ### 背景 开发人员需要模拟 DNS 环境,测试域名解析。 ### 配置步骤 1. **修改 DNS 端口(避免冲突)** ```json { "dns": { "enabled": true, "listen_addr": "127.0.0.1", "listen_port": 5353, "upstream": ["8.8.8.8"] } } ``` 2. **添加测试域名** ```bash # 创建测试记录 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** ```bash # Linux echo "nameserver 127.0.0.1" | sudo tee /etc/resolv.conf # 或使用 dnsmasq 转发 ``` 4. **测试解析** ```bash dig @127.0.0.1 -p 5353 api.test.local ``` ### 效果 - 本地开发环境模拟生产 DNS - 快速切换不同测试场景 - 查看完整的 DNS 查询日志 --- ## 场景四:树莓派网络服务 ### 背景 在树莓派上运行轻量级 DHCP+DNS 服务,作为家庭网络的核心。 ### 硬件要求 - 树莓派 3B+ 或更高 - 8GB SD 卡 - 有线网络连接 ### 安装步骤 1. **安装 Docker** ```bash curl -sSL https://get.docker.com | sh sudo usermod -aG docker pi ``` 2. **部署服务** ```bash git clone cd dhcp-dns-manager docker-compose up -d ``` 3. **设置开机自启** ```bash docker-compose enable ``` 4. **配置网络接口** ```json { "dhcp": { "interface": "eth0" } } ``` ### 效果 - 低功耗 24 小时运行 - 替代路由器 DHCP 功能 - 提供快速本地 DNS 解析 --- ## 场景五:网络隔离测试 ### 背景 测试不同网段的网络隔离策略。 ### 配置多网段(需要多个实例) **实例 1 - 网段 A** ```json { "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** ```json { "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 查询日志 --- 选择适合你的场景开始使用吧!🚀