问题描述
版本信息:汇聚S7703运行V200R020C00SPC600版本;接入S5735运行V200R019C10SPC500版本;
组网概述:汇聚交换机S7703的Vlanif10接口(IP:192.168.10.1/24)作为DHCP服务器,为接入层VLAN 10的PC分配IP。接入交换机S5735的GigabitEthernet0/1-0/48端口(Access模式,VLAN 10)连接PC,GigabitEthernet0/49端口(Trunk模式,允许VLAN 10)连接汇聚交换机的GigabitEthernet1/0/1端口(Trunk模式,允许VLAN 10);
组网拓扑图:

配置脚本(汇聚侧,正确配置):
sysname S7703
vlan batch 10
interface Vlanif10
ip address 192.168.10.1 255.255.255.0
dhcp select global # 开启全局DHCP服务
dhcp enable # 全局使能DHCP
ip pool vlan10 # 创建DHCP地址池vlan10
network 192.168.10.0 mask 255.255.255.0 # 地址池网段
gateway-list 192.168.10.1 # 网关
dns-list 114.114.114.114 8.8.8.8 # DNS
lease day 1 hour 0 minute 0 # 租期1天
interface GigabitEthernet1/0/1 # 连接接入交换机的端口
port link-type trunk
port trunk allow-pass vlan 10
故障现象:
1.合法PC(如员工办公电脑)开机后,无法获取IP地址,显示169.254.56.78(自动私有IP);
2.汇聚交换机执行display dhcp server pool vlan10显示:Used IPs: 253(地址池耗尽),Available IPs: 0(无可用IP);
3.接入交换机执行display mac-address vlan 10显示:Total mac-addresses: 500(VLAN 10中有500个MAC地址,远超过合法PC数量(200台))。
告警信息
1.汇聚交换机网管系统收到“DHCP地址池耗尽”告警,描述为“DHCP pool vlan10 has no available IPs”(地址池耗尽);
2.接入交换机日志显示:%PORT/3/MAC_LEARN: Port GigabitEthernet0/20 learned mac-address 00:11:22:33:44:55(大量未知MAC地址接入)。
处理过程
1.验证地址池使用情况:
执行display dhcp server pool vlan10命令,显示:
DHCP Pool: vlan10
Network: 192.168.10.0/24
Gateway: 192.168.10.1
Used IPs: 253(已用253个IP,地址池耗尽)
Available IPs: 0(无可用IP)
Lease: 1 day
2.查看接入设备MAC地址:
执行display mac-address vlan 10命令,接入交换机显示:Total mac-addresses: 500(VLAN 10中有500个MAC地址),而合法PC数量仅200台(说明有300台非法设备接入)。
3.分析非法设备来源:
通过display mac-address interface GigabitEthernet0/20命令,发现某接入端口(GE0/20)学习到10个MAC地址(远超正常PC数量),推测该端口连接了无线路由器(员工私自接入,导致大量手机、平板接入网络)。
4.启用端口安全:
为限制接入设备数量,在接入交换机的GE0/1-0/48端口(Access模式)启用端口安全,配置每端口最多允许2个MAC地址(1台PC+1台打印机):
interface GigabitEthernet0/1-0/48 # 批量进入接入端口
port-security enable # 启用端口安全
port-security max-mac-num 2 # 每端口最多允许2个MAC地址
port-security mac-address sticky # sticky MAC(自动学习并保存合法MAC)
5.清理非法IP地址:
执行reset dhcp server ip-in-use pool vlan10命令,清理地址池中的非法IP(如手机、平板的IP);
执行display dhcp server pool vlan10显示:Used IPs: 200(合法PC数量),Available IPs: 53(恢复可用IP)。
6.验证合法PC获取IP:
合法PC重启网络适配器,执行ipconfig /renew,成功获取到192.168.10.100/24的IP(来自地址池);
非法设备(如手机)无法获取IP(显示169.254.x.x),无法接入网络。
根因
员工私自接入无线路由器,导致大量非法设备(手机、平板)接入网络,耗尽了DHCP地址池(192.168.10.0/24),使合法PC无法获取IP。
解决方案
1.启用端口安全:
在接入交换机的Access端口(连接PC的端口)启用端口安全,限制每端口最多允许2个MAC地址(根据实际需求调整),命令如下:
interface GigabitEthernet0/1-0/48
port-security enable
port-security max-mac-num 2
port-security mac-address sticky
2.启用DHCP snooping:
为防止非法DHCP服务器(如无线路由器)分配IP,在接入交换机启用DHCP snooping,仅信任汇聚交换机的Trunk端口(GE0/49):
dhcp snooping enable # 全局启用DHCP snooping
vlan 10
dhcp snooping enable # 在VLAN 10启用DHCP snooping
interface GigabitEthernet0/49 # 连接汇聚交换机的Trunk端口
dhcp snooping trust # 信任该端口(允许汇聚交换机的DHCP服务器通过)
3.清理非法IP:
执行reset dhcp server ip-in-use pool [pool-name]命令,清理地址池中的非法IP;
4.监控地址池使用情况:
在网管系统中配置“DHCP地址池使用量”告警,当使用量超过80%时,及时排查非法设备。
建议与总结
1.限制非法设备接入:
启用端口安全(Port Security)和DHCP snooping是防止非法设备接入的有效手段,建议在接入层交换机全面部署;
3.监控地址池使用情况:
定期执行display dhcp server pool [pool-name]命令,检查地址池使用量,当使用量超过80%时,及时排查非法设备;
4.员工教育:
加强员工网络安全教育,禁止私自接入无线路由器、交换机等设备,避免占用网络资源;
5.冗余地址池:
对于大型网络,建议将地址池网段扩大(如从/24改为/23),增加可用IP数量,减少地址池耗尽的风险。