今天遇到一个案例,就是多个地区有nps服务器,大部分地区的nps通过证书验证正常通过。
但是有一个地区的nps服务器,检查配置完全正确,就是验证不通过。
检查该地区的radius(网络设备)上的配置也是正常。
在无法确定问题所以,经过下面几个步骤。
由于是多个系统联动完成的,需要确认是那一块出的问题。
一、替代法
二、配置替换
三、验证看各种日志
四、抓包(wireshark)
五、检查抓包
一、更换radius设备,进行验证是否恢复正常,结果未恢复,初步怀疑是nps上的问题;
更换nps服务器为备机nps,结果验证还是无法通过。
继续验证,将其他地区的radius设备指向异常的地区的nps,结果也无法验证。
继续验证,将radius指向其他地区的nps服务器,验证通过。
初步确认,是nps服务器的问题。
二、通过多种方式更换nps的配置,进行验证是否恢复正常,测试无效
三、经过多次验证查看nps所有的日志,都是正常的日志,但是是验证失败的,检查到ad域控的日志,正常,连接正常
四、通过抓包,查看radius到nps的日志,发现大部分抓包都是正常,唯一出现问题的是,最后nps就是反馈账号验证失败。检查用户证书,检查ad账号,全部正常
五、通过一次完整验证,并且查看到所有的验证包。经过对每一个包的查看,发现中间有一个包提示cert.*.*.*的dns解析失败
。继续查看其他数据包。
最后把所有有问题的数据包进行分析,发现cert的解析是要去验证根证书服务器,到ad域控上检查这个域名,确实解析不了,其他地区能解析这个域名。基本确定是域名解析的问题。
之后在dns上看到这个区域的解析是异常,发现是dns到权威dns的53端口异常。
申请开通策略,解决问题。
通过这次的排查,大致上梳理步骤:
客户端发起请求(使用自身的证书)到radius
radius将用户证书信息发送到nps服务器做验证
nps将用户信息到ad域控做验证
nps解析证书服务器域名,然后将用户证书上进行查询吊销列表,是否是根证书颁发的合法证书(未过期,未吊销,颁发)。
nps验证通过,发送验证通过请求到radius
radius通过策略验证,允许用户连接,并且发送相关信息给到客户端(如vlan,dhcp位置,网络连接)
客户端到dhcp服务器申请ip地址
dhcp将ip信息颁发给客户端
客户端正常连接网络。