1. 为什么需要DHCP服务器与中继混合组网在企业网络或园区网环境中经常需要为不同VLAN的终端设备自动分配IP地址。传统做法是在每个VLAN部署独立的DHCP服务器但这会带来管理复杂和资源浪费的问题。更高效的方案是让一台三层交换机同时承担DHCP服务器和中继的角色本地VLAN直接由交换机内置的DHCP服务器分配地址远端VLAN通过DHCP中继功能转发请求到其他网段的DHCP服务器这种混合架构的优势非常明显。首先它减少了专用DHCP服务器的数量降低了硬件成本。其次集中管理地址池让网络管理员可以统一配置租期、保留地址等参数。最重要的是当终端设备跨VLAN移动时依然能获取正确的IP地址配置。我在实际项目中遇到过这样一个案例某企业有办公区VLAN 10和研发区VLAN 20两个区域通过三层交换机互联。最初他们为每个VLAN单独配置了DHCP服务结果每次调整地址池都需要修改多处配置。改为混合组网后不仅管理效率提升当研发区新增测试VLANVLAN 30时只需在中继交换机上添加简单的配置就能实现地址分发。2. 基础环境准备2.1 网络拓扑规划我们以一个典型的两台三层交换机组网为例[DHCP客户端PC1]---[接入交换机]---[三层交换机LSW2]---[三层交换机LSW1] [DHCP客户端PC2]---[接入交换机]---[三层交换机LSW2]LSW1作为DHCP服务器IP地址192.168.30.2/30LSW2作为DHCP中继连接VLAN 10192.168.10.0/24和VLAN 20192.168.20.0/24互联链路使用VLAN 30192.168.30.0/302.2 二层基础配置先完成VLAN划分和Trunk配置这是后续功能的基础# LSW3接入交换机配置 vlan batch 10 20 interface Ethernet0/0/1 port link-type access port default vlan 10 interface Ethernet0/0/2 port link-type access port default vlan 20 # LSW2中继交换机配置 vlan batch 10 20 30 interface GigabitEthernet0/0/1 port link-type trunk port trunk allow-pass vlan 10 20 interface GigabitEthernet0/0/2 port link-type access port default vlan 30 # LSW1服务器交换机配置 vlan batch 30 interface GigabitEthernet0/0/2 port link-type access port default vlan 30这里有个容易踩坑的地方Trunk端口默认只允许VLAN 1通过必须显式指定允许的VLAN列表。我曾经遇到过因为漏配这条命令导致VLAN间通信失败的情况。3. DHCP服务器配置详解3.1 创建全局地址池在LSW1上配置两个地址池分别对应VLAN 10和VLAN 20[LSW1]dhcp enable # 必须先启用DHCP服务 [LSW1]ip pool vlan10 [LSW1-ip-pool-vlan10]network 192.168.10.0 mask 24 [LSW1-ip-pool-vlan10]gateway-list 192.168.10.254 [LSW1-ip-pool-vlan10]excluded-ip-address 192.168.10.1 192.168.10.5 # 保留前5个地址 [LSW1-ip-pool-vlan10]lease day 2 # 租期设为2天 [LSW1]ip pool vlan20 [LSW1-ip-pool-vlan20]network 192.168.20.0 mask 24 [LSW1-ip-pool-vlan20]gateway-list 192.168.20.254 [LSW1-ip-pool-vlan20]excluded-ip-address 192.168.20.1 192.168.20.5 [LSW1-ip-pool-vlan20]lease day 23.2 接口绑定全局地址池在VLAN接口上启用全局模式[LSW1]interface Vlanif 30 [LSW1-Vlanif30]ip address 192.168.30.2 30 [LSW1-Vlanif30]dhcp select global这里有个关键点dhcp select global命令会将该接口收到的DHCP请求与所有全局地址池进行匹配。我建议在地址池命名时包含VLAN信息这样维护时一目了然。4. DHCP中继配置实战4.1 中继交换机基础配置LSW2需要为每个VLAN配置接口IP作为网关[LSW2]interface Vlanif 30 [LSW2-Vlanif30]ip address 192.168.30.1 30 [LSW2]interface Vlanif 10 [LSW2-Vlanif10]ip address 192.168.10.254 24 [LSW2]interface Vlanif 20 [LSW2-Vlanif20]ip address 192.168.20.254 244.2 创建DHCP服务器组这是中继功能的核心配置相当于建立了一个DHCP服务器地址簿[LSW2]dhcp enable [LSW2]dhcp server group 10 [LSW2-dhcp-server-group-10]dhcp-server 192.168.30.2 [LSW2]dhcp server group 20 [LSW2-dhcp-server-group-20]dhcp-server 192.168.30.2虽然本例中两个组都指向同一服务器但在实际网络可能有多个DHCP服务器做冗余。这时可以在一个组中添加多个服务器地址提高可靠性。4.3 接口绑定中继功能将VLAN接口与服务器组关联[LSW2]interface Vlanif 10 [LSW2-Vlanif10]dhcp select relay [LSW2-Vlanif10]dhcp relay server-select 10 [LSW2]interface Vlanif 20 [LSW2-Vlanif20]dhcp select relay [LSW2-Vlanif20]dhcp relay server-select 20配置到这里很多初学者以为大功告成但实际测试会发现客户端仍然拿不到地址。这是因为缺少关键的路由配置。5. 路由配置最容易被忽视的关键步骤5.1 问题根源分析DHCP中继工作原理是这样的客户端发送广播DHCP Discover中继交换机将其转换为单播发送给DHCP服务器服务器回应DHCP Offer中继将回应转发给客户端问题出在第3步DHCP服务器不知道如何将回应包路由回客户端所在的网段。5.2 静态路由配置在LSW1上添加指向中继交换机的路由[LSW1]ip route-static 192.168.10.0 24 192.168.30.1 [LSW1]ip route-static 192.168.20.0 24 192.168.30.1这条配置告诉DHCP服务器所有去往192.168.10.0/24和192.168.20.0/24的流量都发给192.168.30.1LSW2。我在排查这类问题时通常会使用display ip routing-table命令验证路由是否生效。如果路由表里没有对应条目DHCP Offer肯定无法送达。6. 验证与排错指南6.1 基础检查步骤物理连接确认所有线缆连接正确VLAN配置使用display vlan检查VLAN划分接口状态display interface brief查看端口UP/DOWN状态DHCP服务display dhcp server statistics查看统计信息6.2 常见问题排查问题1客户端显示正在获取IP地址但最终超时检查中继交换机是否启用dhcp enable确认VLAN接口正确绑定了服务器组问题2客户端获取到错误网段的IP检查DHCP地址池的network配置确认中继接口的网关与地址池一致问题3DHCP服务器收到请求但不响应检查服务器路由表使用debugging dhcp packet查看报文交互过程6.3 实用诊断命令# 查看地址池分配情况 display dhcp server ip-in-use # 捕获DHCP报文 debugging dhcp server packet # 检查中继状态 display dhcp relay statistics记得诊断完成后及时关闭debugging以免影响设备性能undo debugging all。7. 高级配置技巧7.1 Option 82功能增强Option 82可以记录客户端的具体接入位置[LSW2]interface Vlanif 10 [LSW2-Vlanif10]dhcp relay information enable [LSW2-Vlanif10]dhcp relay information strategy replace这在排查恶意DHCP请求时特别有用可以精确定位问题端口。7.2 地址冲突检测启用地址冲突检测可以避免IP重复分配[LSW1]dhcp server ping packet 3 [LSW1]dhcp server ping timeout 500服务器在分配地址前会先ping三次500ms内无响应才认为地址可用。7.3 负载均衡与冗余对于大型网络可以配置多个DHCP服务器[LSW2-dhcp-server-group-10]dhcp-server 192.168.30.2 [LSW2-dhcp-server-group-10]dhcp-server 192.168.30.3中继会按顺序尝试不同的服务器直到获得响应为止。