取消
显示结果 
搜索替代 
您的意思是: 
cancel
4643
查看次数
10
有帮助
2
评论
yangzho2
Cisco Employee
Cisco Employee
CoPP没有开启导致Client 无法从dhcp服务器获取IP地址

拓扑如图:
162123mf2wpsf2ookeysed.png
95-1和95-2做了一个peer-link当成网关,93-1和93-2是二层的交换设备,下挂UCS服务器,UCS里装有虚机分别承担dhcp server 和client的角色,二者属于不同vlan,dhcp属于vlan 30,client属于vlan 40。Client发送dhcp discover通过二层93到达网关95,95上做了dhcp relay,把广播包通过中继以dhcp为目的地址转发dhcp请求,discover再通过93到dhcp服务器上。后续的offer、request、ack等包也如以上的路线发送。
具体原理可以参见下图:
162400ijoobrsv202of2in.png
客户反应vlan 40的client 无法自动获取ip地址。查看配置,所有配置均没有问题,95上的relay也起来了,线路上的接口也都是up状态,接口的trunk和access类型也都没问题。
具体配置可以参照文档:
https://www.cisco.com/c/en/us/td/docs/switches/datacenter/nexus9000/sw/6-x/security/configuration/guide/b_Cisco_Nexus_9000_Series_NX-OS_Security_Configuration_Guide/b_Cisco_Nexus_9000_Series_NX-OS_Security_Configuration_Guide_chapter_01101.html#con_1272845
为了定位是UCS上的问题还是上层网络的问题,让客户在93-1上挂一个属于vlan 40 的pc,自动获取ip地址,同时再95-1和95-2上的cpu抓包。如果cpu上有discovery包,没有offer 包说明是UCS的问题。
抓包结果非常有意思,在95-1上只有一个discovery包,95-2上没有关于dhcp的包。而dhcp relay确实是配好的,也就是说,只要95收到dhcp discovery的包,至少会将这个包再发出去,可是没有。
再查看配置,发现客户的CoPP是关闭的状态。让客户把CoPP打开后,UCS里的客户端可以正常获取IP地址了。
CoPP(control plane policing)是一种保护CPU防止被DoS攻击的特性。所有上CPU的包会被进行标记和分类,进而采取相应的措施。比如当远端有大量的ICMP的包攻击CPU,CoPP特性为了保证CPU正常运行,会drop一些包。同时CoPP也会优先处理一些请求,如BPDU、dhcp请求、三层的路由协议、ARP协议等等。所以当CoPP没有被配置的情况下CPU对于以上的一些报文处理就会发生一些列的问题。
CoPP在nexus 上的介绍:

评论
CSCO12370587
Level 1
Level 1
谢谢分享!!
yiling.wang@jos.com.cn
Community Member
这个有点意思。
入门指南

使用上面的搜索栏输入关键字、短语或问题,搜索问题的答案。

我们希望您在这里的旅程尽可能顺利,因此这里有一些链接可以帮助您快速熟悉思科社区:









快捷链接