处理CentOS DNS解析超时的详情如下:
1.原因分析
因CentOS 6和CentOS 7的DNS解析机制变动,导致2017年2月22日以前创建的ECS实例或使用2017年2月22日以前的自定义镜像创建的CentOS 6和CentOS 7实例可能出现DNS解析超时的情况。
2.解决方法
请按下列步骤操作修复此问题:
下载脚本fix_dns.sh。
将下载的脚本放至CentOS系统的/tmp目录下。
运行bash /tmp/fix_dns.sh命令,执行脚本。
3.脚本作用
判断DNS解析文件/etc/resolv.conf中是否存在options>single-request-reopen配置。详情请参见resolv.conf文件说明。
CentOS 6和CentOS 7的DNS解析机制,使用相同的网络五元组发送IPV4 DNS请求和IPV6 DNS请求,此时应开启single-request-reopen配置。开启该配置后,一旦需要处理同一socket发送的两次请求时,解析端会在发送第一次请求后关闭socket,并在发送第二次请求前打开新的socket。配置成功后,无需重启实例即可生效。
4.脚本逻辑
1)判断实例系统是否为CentOS。
如果实例为非CentOS系统(如Ubuntu和Debian):脚本停止工作。
如果实例为CentOS系统:脚本继续工作。
2)查询解析文件/etc/resolv.conf中options的配置情况。
如果不存在options配置:
默认使用阿里云options配置options timeout:2 attempts:3 rotate single-request-reopen。
如果存在options配置:
不存在single-request-reopen配置,则在options配置中追加该项。
存在single-request-reopen配置,则脚本停止工作,不更改DNS nameserver的配置。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。