开发者社区> 余二五> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

CentOS6 DNS解析缓慢 SSH登录缓慢 问题解决

简介:
+关注继续查看
  1. 背景

    1. 公司新部署几台服务器,安装最新的CentOS 6.5操作系统,但当执行ping或dig操作时,等待时间较长,不能忍受,而同网络下的CentOS 5.6系统却正常

    2. 同时在远程登录(SSH)时,也出现卡顿的现象,登录不太流畅

  2. 原理

    1. DNS解析缓慢的原因是CentOS 6/REHL 6 总是需要等待AAAA(IPv6)的结果,即使IPv6已在网络设置中禁用

    2. 出现SSH登录缓慢的问题,可能是“GSSAPIAuthentication认证与UseDNS反向解析”耗费时间导致的


3. 解决方案

    1. 在resolv.conf中添加single-request-reopen选项

      1
      2
      3
      4
      cat /etc/resolv.conf
      # Generated by NetworkManager
      options single-request-reopen
      nameserver 192.168.18.77


      这其实是CentOS 6的一个Bug,可查询到的解释如下:

      1
      2
      The logic behind so long time for DNS resolution lies in fact that resolver use same socket for A(ipv4) and AAAA(IPv6) DNS record resolution. Some hardware mistaking  send one reply and left resolver in waiting mode. Enabling option single-request-reopen will instruct resolver to use new socket if for AAAA if require.
      原因是:CentOS 6中的DNS解析器对于ipv4和ipv6都使用同一个socket接口,在同时发出ipv4和ipv6解析请求后,只会收到一个ipv4的解析响应,此时socket将一处于“等待”模式,等待ipv6的解析响应,故导致解析缓慢;添加single-request-reopen后就可以重新打开一个新的socket接收ipv6的解析响应,而不影响ipv4的解析响应。


      防止修改resolv.conf文件后,重启网络,会导致文件被重置的情况,原因是启用了NetworkManager 服务

      1
      2
      3
      4
      5
      6
      7
      8
      9
      10
      11
      12
      13
      14
      1.创建一个脚本。
      vi /etc/NetworkManager/dispatcher.d/15-resolv
      #!/bin/bash
      # Description : script to override default resolv.conf file
      # with customized file.
      cp -f /etc/resolv.conf.custom /etc/resolv.conf
      2.设置文件权限
      chmod u+x /etc/NetworkManager/dispatcher.d/15-resolv
      3.创建一个文件
      vi /etc/resolv.conf.custom
      options single-request-reopen
      nameserver xx.xx.xx.xx
      4.重启服务
      service NetworkManager restart


      1. 取消GSSAPIAuthentication认证与UseDNS反向解析功能:

        1
        2
        3
        4
        5
        vi /etc/ssh/sshd_config
        GSSAPIAuthentication no
        #通用安全服务应用程序接口(GSSAPI) 是为了让程序能够访问安全服务的一个应用程序接口,取消这个认证。
        UseDNS no
        #DNS反向解析,设置为no


4. 参考资料

   DNS解析缓慢问题

   https://wiki.echocat.org/display/ECHOCAT/2012/04/20/CentOS+6+and+slow+DNS

   http://linuxmantra.com/2013/07/single-request-reopen-option-in-resolv-conf.html

   single-request-reopen的详细解释

   http://www.man7.org/linux/man-pages/man5/resolver.5.html

   防止resolv.conf文件被复写的情况

   http://www.linuxidc.com/Linux/2013-06/85636.htm










本文转自 xxrenzhe11 51CTO博客,原文链接:http://blog.51cto.com/xxrenzhe/1340103,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
CentOS7安装MySQL5.7太慢了
CentOS7安装MySQL5.7太慢了
0 0
CentOS8 服务器安装MySQL
安装 查看状态 开启: 使用MySQL 设置密码&&外部访问
0 0
centos7安装mysql5.6.38史上最详细的安装步骤
最近由于要用到mysql,就想着装一个mysql,但是因为我的虚拟机是centos7的,centos7将默认数据库mysql替换成了Mariadb安装起来就比较的麻烦,遇到各种各样的问题,网上的教程很多,但是基本没有好使的,按照他们的步骤到最后没有一个成功的,搞了很长时间才装好,我记得之前在centos6.5上面安装也没那么复杂啊,但是在7上面不管是用yum方式,还是安装包的方式都搞了好几遍,最后用安装包的方式安装成功了,今天就来总结一下安装的过程.为了方便大家看整个过程,我又重新装了一遍.过程写的比较详细,建议大家先收藏在观看.
0 0
centos7 安装指定版本的mysql8.0
centos7 安装指定版本的mysql8.0
0 0
三十五、Centos安装mysql(rpm终结版)
三十五、Centos安装mysql(rpm终结版)
0 0
centos8重装MySQL8
前言: 本来也不想卸载的,因为之前有往db里插入一千多万的数据了。。但是这个数据库好像被我弄坏了。。 输入正确的账号密码一直进不了 很无奈。。 😵 一开始是启动不了,后来发现用户的权限不对(要通过 chgrp 和 chown 去修改),改了之后可以启动,但是就无法登录成功了。。出此下策,顺便换个方式再去插入数据试试 😄
0 0
mysql问题记录:centos7无法启动mysql
mysql问题记录:centos7无法启动mysql
0 0
CentOS7 部署 MySQL 主从复制,读写分离
在实际的生产环境中,如果对数据库的读写都在同一个数据库服务器中操作,无论是在安全性、高可用性还是高并发等各个方面都是完全不能满足实际需求的,因此,一般来说都是通过主从复制(Master-Slave)的方式来同步数据,再通过读写分离来提升数据库的并发负载能力这样的方案来进行部署与实施的。
0 0
+关注
文章
问答
文章排行榜
最热
最新
相关电子书
更多
Linux系统通过fail2ban对暴力破解进行防护
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载