现象描述: T国某电信运营商GPRS网络的DNS服务器,按照开局指导书配置完数据,配置了本地APN信息,和根DNS信息,在DNS上用dig和nslookup命令测试本地解析(如本地DNS上配置的APN:MMS.MTS.TM.MNC001.MCC438.GPRS)和漫游APN(如:cmnet.mnc000.mcc460.gprs)递归解析均成功;在SGSN上使用TST DNS命令指定本地DNS解析本地APN(如本地DNS上配置的APN:MMS.MTS.TM.MNC001.MCC438.GPRS),解析成功,但请求解析漫游APN(如:cmnet.mnc000.mcc460.gprs),解析失败。
告警信息:无
原因分析:因为本地DNS已经可以手动发起解析请求,只是不能自动发起递归解析,所以首先检查配置脚本,参照《WCDMA-PS DNS开局指导书-20081209-B-V5[1].1》,着重关注对于上级DNS的配置,包括named.conf和resolv.conf还有路由的配置,配置数据正确。因为对于本地APN解析是成功的,所以重点关注对于漫游APN解析的过程。在交换机上做与DNS互连接口的镜像,PC配置与DNS业务口同网段,进行抓包,然后分别从SGSN上和抓包的PC上对DNS发起漫游APN解析请求,发现PC发起的请求解析成功,SGSN发起的解析请求不成功。 查看两种情况下抓到的包,SGSN和PC都已经成功把解析请求发到DNS,但是对于SGSN发起的请求,DNS并没有发起递归解析请求。对比两种解析请求数据,唯一区别就是发起的源地址不同,PC上的IP地址是跟DNS同一私网段的,而SGSN发起请求的源地址是GTP-C公网地址,显然DNS对于与之业务接口同网段设备发起的请求会启动递归解析,而对于不通网段设备发起的请求则不会发起递归解析。
处理过程: 对于与DNS不同网段设备发起的解析请求不会递归解析,在named.conf文件中options和每个域资源配置中加入allow-query { any; }; 字段,允许所有INTERNET IP使用者到本DNS server发起解析请求,具体配置过程见附件脚本。 加入配置后从SGSN发起对漫游APN解析请求,解析成功,问题解决。
建议和总结:、 1、 对于SGSN GTP-C地址与DNS业务网口地址不同网段的情况,一定要加入allow-query { any; }; 字段,这样才能保证对于SGSN发起的请求,如果DNS本地没有相关APN配置,会自动递归到上级DNS去请求解析。 2、 在DNS调试过程中,出现问题,可以通过在交换机上做镜像抓包,这样不但可以比较清楚看出是SGSN没有提交请求数据,还是DNS没有进行相关处理,还可以通过其他设备模拟SGSN发起请求的场景,对不同情况下的数据进行对比,进一步定位解决问题。
欢迎光临 51学通信技术论坛 (http://51xuetongxin.com/bbs/) | Powered by Discuz! X2 |