23
2015
01

linux下域名解析的问题

今天遇到一个问题,是客户系统为linux(centos 5.6),但是对外网的域名全部无法解析出来,下面是排查记录。

1.首先检查系统负责解析域名文件及相关文件配置是否正确。下面是与域名解析文件相关的说明。

  /etc/host.conf

当系统中同时存在DNS域名解析和/etc/hosts主机表机制时,由该/etc/host.conf确定主机名解释顺序。示例:

order hosts,bind #名称解释顺序

multi on #允许主机拥有多个IP地址

nospoof on #禁止IP地址欺骗

order是关键字,定义先用本机hosts主机表进行名称解释,如果不能解释,再搜索bind名称服务器(DNS)。

 

/etc/resolv.conf

该文件是DNS域名解析的配置文件,它的格式很简单,每行以一个关键字开头,后接配置参数。resolv.conf的关键字主要有四个,分别是:

nameserver #定义DNS服务器的IP地址

domain #定义本地域名

search #定义域名的搜索列表

sortlist #对返回的域名进行排序

/etc/resolv.conf的一个示例:

domain v01.cn

search www.v01.cn v01.cn.com

nameserver 202.96.128.86

nameserver 202.96.128.166

最主要是nameserver关键字,如果没指定nameserver就找不到DNS服务器,其它关键字是可选的。

 

/etc/hosts

设置IP地址与主机名对应表,可用该文件来进行主机名称解释。如:

#格式:IP地址 主机名 别名

127.0.0.1 localhost localhost.localdomain

192.168.1.1 debian debian

192.168.0.2 t02 t02.tiger

192.168.0.4 t04 t04.tiger

 

2.上一步检查后发现客户系统域名相关文件配置都是正确的,在检查其防火墙是否拦截了53端口,因为服务器需要域名解析要向外界dns服务器请求53端口。

linux下的iptables 检查策略请见 --http://tech.v01.cn/Linuxchangjianwenti/ruhezuohaoanquancelue/2012/0120/80.html

 

3.检查后防火墙全部允许通过,最后检查服务器网关发现服务器有两个网关,原来这台服务器是双线的,有两个IP分别是电信与网通,在域名解析的时候发现域名解析数据包在两个网关间相互发送,没有回包,所以造成了服务器对外解析域名不成功,即将服务器指向网通的网关删除后解析正常。

先用netstat -r 命令打印出网关列表

然后route del 删除另一个默认网关即可。

例如:route del default gw 网关IP


« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。