网络拓扑简图

问题描述

一、客户反馈业务服务器后端系统在添加Elasticsearch功能后,前端页面调用API接口失败,PC端页面报404错误,手机端报101错误,但是服务器本身ping企业微信API接口域名可以正常解析,客户联系业务系统官方说是网络问题。

告警信息

一、手机端报错

2、PC端报错

处理过程

一、在业务服务器测试ping发现通的,用cur测试l:{curl https://qyapi.weixin.qq.com/cgi-bin/gettoken}|确不通;

二、防火墙上开定向数据流分析,源IP地址写服务器ip:1.169(客户已告知),目的IP地址/域名写qyapi.weixin.qq.com,协议全部,开启后发现没有任何拦截日志;

三、登录防火墙前端命令行使用命令tcpdump(tcpdump -i 内网口 host qyapi.weixin.qq.com -nn)抓包,服务器发送curl指令,发现有另外一个ip:1.36在访问这个域名,询问客户服务器是否有多IP情况,客户告知没有,服务器一直用的都是1.169在做业务;

四、将1.36也加入到防火墙故障排查—定向数据分析的源IP地址内,发现策略都是放行的,但是curl还是报错,此时将直通关闭,判断不是防护墙拦截;

五、登录全网AC直接进入系统管理—系统诊断—上网故障排查,将1.36和1.169加入数据直通,服务器发送curl指令发现通了,返回AC上网故障排查,发现1.36这个IP用户认证失败,检查AC认证策略发现对此网段IP做了钉钉认证,和客户沟通需要将1.36加入全局地址排除。

根因

一、客户对自己业务系统不熟悉,服务器在安装完Elasticsearch功能后在源接口下生成了一个同网段IP,之前的1.169已经在AC里面添加过全局地址排除,现在新生成的1.36没有加,抓包分析服务器和企业微信api接口交互的ip是1.36。
解决方案
一、将不能钉钉认证的服务器IP地址加入不需要认证策略,或者加入全局地址排除解决。

建议与总结

一、根据客户提供的信息逐段排查,不能一味相信客户说的服务器没有其他IP的可能;
二、深信服防火墙和行为管理设备都有故障排查这个功能,如果在不明确客户现网环境时,一定要先用,如果故障排查不出来,在通过抓包分析简单快速。