一次DNS域名解析问题排查记录
浏览:2035次 出处信息
玩客项目中通过http的方式调用了其他引擎的数据。昨天同事反应,调用数据出现问题。出现问题时,现象如下:
[hailong.xhl@s006130 logs]$curl "http://demo.tbsite.net:2088/bin/search?append=k" [hailong.xhl@s006130 logs]$curl: (7) couldn't connect to host
继续跟踪,发现连接的是一个实体机ip,而非vip。
connect(3, {sa_family=AF_INET, sin_port=htons(2088), sin_addr=inet_addr("10.234.12.108")}, 16) = -1 EINPROGRESS (Operation now in progress) poll([{fd=3, events=POLLOUT}], 1, 300000) = 1 ([{fd=3, revents=POLLERR|POLLHUP}]) getsockopt(3, SOL_SOCKET, SO_ERROR, [8589934703], [4]) = 0 close(3)
这让我想起了之前安装的vipserver。vipserver是阿里自己开发的一个dns域名解析软件。查看了vipserver的日志,发现它的确把域名解析到了很多实体机ip上。
为什么解析到实体机ip后就不能正常调用服务了呢?和对方pe沟通后得知,实体机监听的是2087端口,而vip监听的是2088端口。因此,在向实体机的2088端口发起连接请求时失败。
另外还发现一个问题,就是同时安装vipserver的几台服务器,部分能正常解析到vip,部分解析到了实体机ip。开始很纳闷,后来发现是nscd搞的鬼。使用以下命令清除dns缓存后,所有的机器都解析到了实体机ip了。
sudo /usr/sbin/nscd -i hosts
由于vipserver解析的ip有问题,暂时关闭了vipserver。待对方pe完成vipserver设置后,再启用。
建议继续学习:
- 自建DNS以防止GFW干扰 (阅读:12074)
- 强制刷新本地 DNS 缓存记录 (阅读:9382)
- 2014年1月21日中国互联网DNS瘫痪事件原因分析 (阅读:7006)
- 关于 SOCKS 代理的远端 DNS 解析 (阅读:6621)
- DNS 隧道 (阅读:5950)
- 什么是DNS劫持和DNS污染? (阅读:5154)
- nslookup通往DNS的桥梁 (阅读:4890)
- CentOS下通过Webmin管理BIND实现DNS轮询 (阅读:4765)
- dig挖出DNS的秘密 (阅读:4766)
- DNS解析过程及DNS TTL值 (阅读:4728)
QQ技术交流群:445447336,欢迎加入!
扫一扫订阅我的微信号:IT技术博客大学习
扫一扫订阅我的微信号:IT技术博客大学习
<< 前一篇:HTTPS、SSL与数字证书介绍
后一篇:域名随机大小写导致libevent2的异步DNS解析失败 >>
文章信息
- 作者:信海龙 来源: 博学无忧
- 标签: DNS 域名解析
- 发布时间:2014-11-27 13:01:44
建议继续学习
近3天十大热文
-
[60] memory prefetch浅析
-
[58] find命令的一点注意事项
-
[34] 读书笔记-壹百度:百度十年千倍的29条法则
-
[32] Oracle bbed工具的编译
-
[29] 基本排序算法的PHP实现
-
[28] 小屏幕移动设备网页设计注意事项
-
[27] 卡诺模型―设计品质与设计价值的思考
-
[24] 8大实用又重要Mac使用技巧
-
[24] 程序员技术练级攻略
-
[21] 杨建:网站加速--Cache为王篇