首页 | 资讯动态 | linux基础 | 系统管理 | 网络管理 | 编程开发 | linux数据库 | 服务器技术 | linux相关 | linux认证 | 嵌入式 | 下载中心 | 专题 | linux招聘 | HR | 镜像
OKLinux中文技术站
·设为首页
·加入收藏
·联系我们
系统管理: 中文环境 系统管理 桌面应用 内核技术 | Linux基础: 基础入门 安装配置 常用命令 经验技巧 软件应用 | Linux数据库: Mysql Postgre Oracle DB2 Sybase other
网络管理: 网络安全 网络应用 Linux服务器 环境配置 黑客安全 | 编程开发: PHP CC++ Python Perl Shell 嵌入式开发 java jsp | PHP技术: PHP基础 PHP技巧 PHP应用 PHP文摘
搜索中心 Linux招聘 Linux专题 Apache | Linux相关: 硬件相关 Linux解决方案 Linux认证 企业应用 其它Unix | 相关下载: 资料下载 参考手册 开发工具 服务器类 软路由 其它
 技术搜索:
会员中心 注册会员 高级搜索  
  → 当前位置:首页>网络管理>linux服务器>正文

Linux DNS服务器故障解决

http://www.oklinux.cn  2008-12-04  电子工业出版社易飞思公司    会员收藏  游客收藏  【 】 
您查看的文章来源于http://www.oklinux.cn

现在UNIX类操纵系统(UNIX、Linux、BSD)的域名服务器绝大多数都是用BIND来架设的。由于DNS服务器负责域名的解析工作,其重要性不言而喻。如果在Linux网络中无法进行域名解析,很可能是没有在本地指定有效的域名服务器,通常这种情况比较常见。大多数DNS故障是因为配置文件的语法错误,或者是对计算机分配了错误的地址造成的。
Linux中的DNS配置文件
Linux下主要DNS配置文件有以下几个。
/etc/hosts:主机的一个列表文件,包含(本地网络中)已知主机的一个列表。如果系统的 IP 不是动态生成的,就可以使用它。
/etc/host.conf:转换程序控制文件,告诉网络域名服务器如何查找主机名(通常是/etc/hosts,然后就是名称服务器。可通过netconf对其进行更改)。对于简单的主机名解析(点分表示法),在请求DNS或NIS网络名称服务器之前,/etc/hosts.conf 通常会告诉解析程序先查看这里。
/etc/resolv.conf:转换程序配置文件,在配置程序请求BIND域名查询服务查询主机名称时必须告诉程序使用哪个域名服务器和IP地址来完成这个任务。
Linux上的域名服务由named守护进程控制,该进程从主文件/etc/named.conf中获取信息,包括一组将主机名称映射为IP地址的各种文件。下面是named配置文件族的详细内容。
/etc/named.conf:主文件,设置一般的name参数,指向该服务器使用的域数据库的信息源。
/var/named/named.ca:根域名配置服务器指向文件,指向根域名配置服务器,用于告诉缓存服务器初始化。
/var/named/localhost.zone:Localhost区正向域名解析文件,用于将本地IP地址(127.0.0.1)转换为回送方的Localhost名字。
/var/named/name.local:Localhost区反向域名解析文件,用于将Localhost名字转换为本地回送IP地址(127.0.0.1)。
/var/named/name2ip.conf:用户配置区的正向解析文件,将主机名映射为IP地址的区文件。
/var/named/ip2name.conf:用户配置区的反向解析文件,将IP地址映射为主机名称的区文件。
Linux DNS故障诊断
当进行DNS故障诊断时,可参照下面的步骤。
(1)对全部记录检查和确认主机名称的拼写,记住绝对地址是以“.”结尾的。
(2)如果在区文件中做了任何修改,务必修改SOA记录中的序列号,这将保证服务器正确地重新上载文件。
(3)确定输入到主区的名称和IP地址匹配反向指针文件中的反向指针信息。
(4)检查防火墙相关程序。
(5)使用命令检查(ping、dig、nslookup、named-checkzone、named-checkconf)。
(6)使用Dlint软件检查DNS故障。
工具的应用
1.语法和规则检查
Dlint是一个专门检查DNS配置文件开放源代码的软件,运行它要求系统安装Perl语言和Dig命令(BIND中一个软件包)。
Dlint软件的下载和安装则需要执行以下命令。

#wegt http://www.linuxidc.com/system/systembak/Dlint1.4.0.tar.gz
#gunzip Dlint1.4.0.tar.gz
#tar vxf Dlint1.4.0.tar
#cd Dlint1.4.0
#make install
系统会将Dlint安装在/usr/bin/目录下。
Dlint首先检查配置文件的拼写错误。有A(Address)记录的主机名称必须有PTR(反向解析记录的简称)记录。如果有A记录的主机名称没有PTR,则配置文件不能通过。Dlint可以在用户配置文件中为A记录查找丢失的PTR记录。Dlint会记录in-addr.arpa区带的每一条PTR记录是否有对应的A记录存在。Dlint会以递归的方式检查子区带,查找它们的配置问题。Dlint软件可以分析任何DNS区带。
2.DNS服务器工作状态检查
在维护DNS服务器时,网管员希望知道到底是哪些用户在使用DNS服务器,同时也希望能对DNS状态查询做一个统计。通常可以想到用Tcpdump -I eth0 port 53来查看DNS查询包。Tcpdump是一个命令行方式的嗅探器,它可以根据需要显示出经过一个网络接口的所有数据包,供网络管理员对网络进行检测。但由于采用的是命令行方式,对这些数据包的分析可能会比较困难。这里我们可以使用DNStop查询DNS服务器状态。
DNStop依赖Tcpdump和pcap库(libpcap)对网络上传输的数据包进行截获和过滤,所以您需要检查系统是否安装相应软件,可以使用以下命令进行检查。
#rpm -qa|grep Tcpdump; rpm -qa|grep libpcap
DNStop的下载和安装需要执行以下命令。
#wegt http://www.stearns.org/DNStop/DNStop-20040309-1.i386.rpm
#rpm -ivh DNStop-20040309-1.i386.rpm
如果想查看通过eth0的DNS网络流量可以使用以下命令。


#DNStop -s eth0
0 new queries, 6 total queries Mon Jul 6 09:54:35 2004
Sources count %
192.168.0.117 4 66.7
192.168.0.143 1 16.7
192.168.0.42 1 16.7
在运行DNStop的过程中,可以依次输入如下命令:s、d、t、1、2、3、ctrl r、ctrl x,以交互方式来显示不同的信息。
1 —(TLD)记录查询的顶级域名。
2 —(SLD)记录查询的二级域名。
3 —(SLD)记录查询的三级域名。
s —(Source)记录发送DNS查询的客户端IP地址表。
d —(Destinations)记录DNS查询的目的服务器的IP地址表。
t —(Query Type)记录查询详细类型。
Ctrl r — 重新记录。
Ctrl x — 退出。
更详细的信息可以查看man DNStop。
3.其他DNS集成工具
(1)nslookup
nslookup即名称服务器查找(Name Server Lookup),用来查找DNS服务器上的DNS记录。这个命令可以指定查询的类型,可以查到DNS记录的生存时间,还可以指定使用哪个DNS服务器进行解释。运行nslookup需要安装bind-utils。nslookup有两种运行模式:交互式和非交互式运行模式。
错误实例:


#nslookup
*** Can't find server name for address 192.168.2.1: Timed out
*** Default servers are not available
Default Server: UnKnown
Address: 192.168.2.1
错误原因:如果出现错误,该命令将不能启动。一般的错误都是数据库文件或配置文件笔误所至。比如少个“.”或者文件内容不正确等。另外一个主要的原因是执行nslookup的系统所使用的server(如192.168.2.1)不能查询其反解(1.2.168.192.in-addr.arpa)。

共3页: 上一页 1 [2] [3] 下一页

上一篇:中标普华Linux走进建设银行核心应用   下一篇:Discuz!7.0顺应网民年轻化新增首页发帖功能

收藏于收藏夹】 【评论】 【推荐】 【打印】 【关闭
相关文档
·Apache重定向并代理请求
·Fedora 9以上如何保存dns参数
·将 Ubuntu 加入到 Windows 2003 AD域
·Linux下简单限制网卡的带宽
·Nginx PHP MySQL双机互备、全自动切换方案
·Linux DNS下 SLAVE 配置多次不成功解决方法
·Ubuntu 8.10 配置apt-get代理服务器傻瓜版
·Linux下Squid3.0反向代理的安装与配置
·Linux服务器的架设 (DHCP,NIS,SAMBA,FTP,DNS)
·Ubuntu架设asp.net服务器
·Linux平台下FTP服务器权限管理
·4步用XAMPP快速搭建LAMP环境
·Linux下配置subversion使其支持svn ssh方式访问
·Linux下让Apache以指定的用户和组来运行
·Linux应用:DHCP服务器的安装和故障排除
·Linux网络中DHCP和DNS服务快速整合
发表评论
密码: 匿名评论
评论内容:

(不超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)
 
  最新文档
·Apache重定向并代理请求
·Fedora 9以上如何保存dns参数
·将 Ubuntu 加入到 Windows 2003 AD域
·Linux下简单限制网卡的带宽
·Nginx PHP MySQL双机互备、全自动切换
·Linux DNS下 SLAVE 配置多次不成功解决
·Ubuntu 8.10 配置apt-get代理服务器傻
·Linux下Squid3.0反向代理的安装与配置
·Linux服务器的架设 (DHCP,NIS,SAMBA,FT
·Ubuntu架设asp.net服务器
·Linux平台下FTP服务器权限管理
·4步用XAMPP快速搭建LAMP环境
  阅读排行
·详解远程SHELL下安装配置RedHat ES 5的
·安装大型Linux集群(4):节点安装和 GPFS
·LVS集群学习笔记(NAT\DR\IP tunnel)
·Linux系统下架设APACHE SVN服务器全过
·Linux服务器存储空间巧妙管理
·Linux 下配置vsftp虚拟用户总结
·安装大型Linux集群(1): 简介和硬件配置
·RedHat Linux AS4 LAMP经典网站搭建实
·安装大型Linux集群(2):配置管理服务器
·安装大型Linux集群(3):存储和共享文件
·Xen和虚拟化技术学习指南
·linux下文件服务Vsftp详细介绍
·Linux系统邮件服务器常见错误报告列表
·Ubuntu下安装tftp服务器的步骤
·在Linux上用LVS搭建负载均衡的集群服务
网摘收藏: