添加

options rotate timeout:1 attempts:3 single-request-reopen

添加到/etc/resolv.conf 中

#释义: 循环查询 超时时间 重试次数 只收到一个IPV4应答或者只收到一个IPV6应答,重新开一个socket查询

single-request-reopen参数说明

 basic  shang  3年前 (2015-05-29)  3918浏览  0评论

说明:
在RHLE6/CENTOS6的环境里,需要在/etc/resolv.conf添加以下参数options single-request-reopen。具体原因请看下面。

具体:
一. 在RHEL5/CentOS5/Ubuntu 10.04等linux下,dns的解析请求过程如下

1 主机从一个随机的源端口,请求 DNS的AAAA 记录,
2 主机接受dns服务器返回AAAA记录,
3 主机从一个另一个随机的源端口,请求 DNS的A 记录,
4 主机dns 服务器返回A记录,

二. 如果是RHEL6/CentOS6,交互过程有所不同,如图:

1 主机从一个随机的源端口,请求 DNS的A 记录,
2 主机从同一个源端口,请求 DNS的AAAA 记录,
3 主机接受dns服务器返回A记录,
4 主机接受 dns服务器返回AAAA记录,

三. 上面3,4并没有严格的先后顺序,实际的顺序受网络环境,服务器环境的影响
理论上讲centos6的这种工作机制,效率更高,端口复用度更高,能节省更多的资源。
但是这里也同样存在着一个问题。比如在存在防火墙等机制的网络环境中,同样源目的ip,同样源目的port,同样的第4层协议的连接会被防火墙看成是同一个会话,因此会存在返回包被丢弃现象。如下图。

此时的整个dns解析过程如下:
1 主机从一个随机的源端口,请求 DNS的A 记录,
2 主机从同一个源端口,请求 DNS的AAAA 记录,
3 主机先收到dns返回的AAAA记录,
4 防火墙认为本次交互通信已经完成,关闭连接,
5 于是剩下的dns服务器返回的A记录响应包被防火墙丢弃
6 等待5秒超时之后,主机因为收不到A记录的响应,重新通过新的端口发起A记录查询请求,此后的机制等同于centos5)
7 主机收到dns的A记录响应;
8 主机从另一个新的源端口发起AAAA
9 主机收到dns的AAAA记录响应;
我们看到在这个解析的序列里面,dns解析有5秒的延迟发生。所以当用linux系统安装大量远程包的时候宏观上看延迟就非常大了(linux是不缓存dns解析记录的)。

总结:
那么到底options single-request-reopen这个参数的作用是什么的,man 5 resolv.conf的结果如下

#man 5 resolv.confsingle-request-reopen (since glibc 2.9) The resolver uses the same socket for the A and AAAA requests. Some hardware mistakenly only sends back one reply. When that happens the client sytem will sit and wait for the second reply. Turn- ing this option on changes this behavior so that if two requests from the same port are not handled correctly it will close the socket and open a new one before sending the second request.

转载请注明:酷喃|coolnull| » centos 6中single-request-reopen参数说明

转载于:https://www.cnblogs.com/zhangmingda/p/9725746.html

DNS解析超时排查/etc/resolv.conf single-request-reopen参数说明相关推荐

  1. dns解析超时故障分析

    XX发送接口超时问题排查 一句话总结 XX发送接口逻辑中调用了YY的http接口,在http client中dns解析没有超时控制,导致http调用偶发超时. 现象 XX上线后,发现线上监控显示发送消 ...

  2. 为何解析浏览器地址参数会为null_request 包中出现 DNS 解析超时的探究

    事情的起因是这样的,公司使用自建 dns 服务器,但是有一个致命缺陷,不支持 ipv6 格式的地址解析,而 node 的 DNS 解析默认是同时请求 v4 和 v6 的地址的,这样会导致偶尔在解析 v ...

  3. libcurl dns解析超时和出现段错误问题

    一.问题描述 现象一:http请求经常会超时返回,libcurl错误码为 28 现象二:多线程http/https请求会出现段错误问题 现象三:正常请求有时候会出现段错误(疑似跟这个有关) 二.问题分 ...

  4. LINUX不能ping域名, 能ping ip, 添加DNS解析

    1, 检查是否启用DNS vi /etc/nsswitch.conf ## 检查 hosts 是否含有dns, 没有就添加 hosts: files dns myhostname 修改后重启网卡 se ...

  5. 修改pppd拨号软件的DNS保存路劲以及/etc/resolv.conf文件DNS会被覆盖问题

    修改pppd拨号软件的DNS保存路劲 目的 一.从源码中找到pppd源码,修改DNS写入路劲 二.修改写入方式 三.编译 四.最后的补充,最好的解决方案 目的 在arm板中,pppd拨号软件获取的DN ...

  6. /etc/resolv.conf服务器客户端DNS重要配置文件

    DNS客户端配置文件:etc/resolv.conf /etc/resolv.conf文件相当于windows如下图: 当然/etc/resolv.conf文件为辅助配置DNS文件,其实在网卡里也可以 ...

  7. 37 | 案例篇:DNS 解析时快时慢,我该怎么办?

    简单回顾一下,Linux 网络基于 TCP/IP 协议栈构建,而在协议栈的不同层,我们所关注的网络性能也不尽相同. 在应用层,我们关注的是应用程序的并发连接数.每秒请求数.处理延迟.错误数等,可以使用 ...

  8. Linux性能优化-DNS解析

    目录 域名和DNS解析 案例分析 DNS解析失败 DNS解析不稳定 优化总结 IP地址是TCP/IP协议中,用来确定通讯双方的一个重要标识,每个IP地址又包括了主机号和网络号两部分,相同网络号的主机组 ...

  9. linux【网络】DNS 解析时快时慢,我该怎么办?

    文章目录 1. 回顾 2. 域名与 DNS 解析 3. 案例 3.1 案例 1:DNS 解析失败 3.2 案例 2:DNS 解析不稳定 4.总结 1. 回顾 Linux 网络基于 TCP/IP 协议栈 ...

  10. K8S DNS解析过程和延迟问题

    一.Linux DNS查询解析原理(对于调用glibc库函数gethostbyname的程序) 我们在浏览器访问www.baidu.com这个域名,dns怎么查询到这台主机呢? 1.在浏览器中输入ww ...

最新文章

  1. ShareEntryActivity java.lang.ClassNotFoundException | Android类找不到问题
  2. WIN32开发:如何获取父进程的ID
  3. 查看docker的端口映射情况
  4. TCP/IP 2.5浮动静态路由
  5. vSAN其实很简单-如何榨干vSAN的最后的空间- Part2(转)
  6. linux 链表头文件,Linux下单链表的实现
  7. java删不了_java – 为什么我不能删除项目?
  8. eclipse中文语言包 离线安装
  9. 服务器故障导致网站打不开,网站打不开的6种现象及解决方法
  10. JAVA前端————HTML—W3C—基本标签—超链接锚链接
  11. imx6 android 最新,Re: IMX6D Android6.0 OTA 升级问题
  12. Centos 7 编译升级openssh脚本 —— 筑梦之路
  13. 拓维信息鸿蒙服务器,润和软件、常山北明、诚迈科技、拓维信息,谁是华为鸿蒙真龙头?...
  14. 通过web修改AD账号密码(无需第三方工具)
  15. python在tk界面播放本地视频_tkinter做一个本地视频播放器(2)——弹幕
  16. RNN LSTM GRU 代码实战 ---- 简单的文本生成任务
  17. 超便利!教你用ESP32开发板DIY掌上网页服务器!
  18. 一个小小的互联网创业狗的自白
  19. 基于java的在线商城项目(1)
  20. vue 数字滚动递增效果

热门文章

  1. php生成数字订单号,php生成订单号函数
  2. STM8S003 AWU休眠唤醒 寄存器和库函数2种做法
  3. [TensorFlow深度学习深入]实战一·使用embedding_lookup模块对Word2Vec训练保存与简单使用
  4. 回顾2020,谈谈“拥抱变化”的新理解
  5. 第一章 HTML基础
  6. winvnc异常,端口变为5901
  7. 几款常见接口管理平台对比
  8. 2-2日期时间类型基础
  9. 测试眼睛距离的手机软件,早教APP哪款护眼功能最完善?这几款可检测宝宝坐姿和观看距离...
  10. html中js图标点赞,js实现简单点赞操作