今日更新
技术新闻
精彩专题
IBM软件技术专区
微软开发专区
技术文档中心
编程语言
网络通信
网络安全
LINUX/UNIX
软件工程与管理
数据库开发
WEB开发
企业应用与开发
移动开发
资源中心
原创专栏
开放系统世界
人才与培训
技术天地论坛
厂商列表
社区推荐

· 女性身体内部人体受孕..
· 十部顶级的变态与情色..
· 感情放纵让我毁了两个..
· 当我撞见姐姐和男友在..
· 卖淫少女惨遭泄愤民工..
· 偷拍街上的走光mm绝对..
· 百度打击google的广告
· 港娱乐圈与黑社会揭秘
赛迪网>>技术应用>>上首页
关键字: DNS
来  源: 开放系统世界
解决Linux下“跑”DNS的故障
作者:李汉强 发文时间:2003.06.03
  在Linux上架设DNS是相当常见的事情。域名系统为一个分布式数据库,它使本地负责控制整个分布式数据库的部分段。每一段中的数据通过客户、服务器模式在整个网络上均可存取。它通过采用复制技术和缓存技术使得整个数据库可靠的同时,又拥有良好的性能。

  域名服务器包含数据库的部分段的信息,并可提供被称之为解析器的客户来访问。DNS的数据库结构形成一个倒立的树状结构,根的名字用空字符串“ ”来表示,但在文本中用“.”来书写。树的每一个节点都表示整个分布式数据库中的一个分区(域),每个域又可进一步划分成子分区(域),每个域都有一个标签(Label),标明了它与父域的关系。域也有一个域名(Domain Name),给出它在整个分布式数据库中的位置。在DNS中,域名全称是一个从该域到根的标签序列,以“.”分隔这些标签,该标签最多可包含63个字符。树中每一节点的完整域名为从该节点到根之间路径上的标签序列。Linux和其它的Unix一样,都是用BIND来实现名字服务。BIND的服务端的软件被称为named的守护进程。

  问题的出现

  这里所架设的DNS Server的IP地址为192.168.1.212(hostname是test)。开机时,named、telnetd、httpd已启动。在本机上,可由Internet Explorer浏览器浏览192.168.1.212上的网页,也可以进行telnet test。但是在Client端的电脑上(IP为192.168.1.3)却无法浏览192.168.1.212,以及telnet。Client端相关设定是: IP为192.168.1.3,DNS为192.168.1.212,gateway为192.168.1.254,netmask为255.255.255.0。这样的设置似乎没有任何的问题,但究竟为什么会出现这样的情况呢?

  一般DNS故障处理

  大多数DNS故障是因为配置文件的语法错误,或者是对计算机分配了错误的地址造成的。当进行DNS故障诊断时,可参照下面的指导方针:

  1.对全部记录检查和确认主机名称的拼写,记住绝对地址是以“.”结尾的。

  2.如果在区文件中做了任何修改,务必修改SOA记录中的序列号,这将保证服务器正确地重新上载文件。

  3.确定输入到主区的名称和IP地址匹配反向指针文件中的反向指针信息。

  4.Microsoft的DNS服务器采用了非标准的资源记录,可能会导致问题。

  5.检查防火墙相关程序。

  分析与解决

  1.我们是利用private IP(例如:192.168.1.212)来架设DNS的。这样做是允许的,而且看来在Client端的设定并无错误。假如无法使用DNS服务,则要先先检查DNS Servre的设定。设定文件在/etc/named.boot及/var/named/*),同时运行“/var/log/messages”。

  2.Client端无法浏览192.168.1.212及telnet,如果是指使用IP方式无法连接,那么首先要检查DNS server(192.168.1.212)上的WWW Server及telnet是否启动,并运行正常。一般运行“netstat -tlp”来查看port是否open,WWW服务使用的port是“80 port”,而telnet服务是“21 port”。查看并确认log有无错误信息(view /var/log/httd/* ; /var/log/messages; /var/log/secure)。若是使用DN方式无法连线,则请检查上述说明确认DNS运行无误。若实在查不出来,则只好将相关文件信息Copy出来。例如有关 /var/log/messages的信息如下:

Dec 19 10:54:18 moon named[2424]: starting BIND 9.2.0 -u named 
Dec 19 10:54:18 moon named[2424]: using 1 CPU 
Dec 19 10:54:18 moon named[2427]: loading configuration from '/etc/named.conf' 
Dec 19 10:54:18 moon 12月 19 10:54:18 named: named 启动 succeeded 
Dec 19 10:54:18 moon named[2427]: no IPv6 interfaces found 
Dec 19 10:54:18 moon named[2427]: listening on IPv4 interface lo, 127.0.0.1#53 
Dec 19 10:54:18 moon named[2427]: listening on IPv4 interface eth0, 195.68.1.212#53 
Dec 19 10:54:18 moon named[2427]: listening on IPv4 interface eth1, 17.130.240.67#53 
Dec 19 10:54:18 moon named[2427]: command channel listening on 127.0.0.1#953 
Dec 19 10:54:18 moon named[2427]: named.local:1: no TTL specified; using SOA MINTTL instead 
Dec 19 10:54:18 moon named[2427]: zone 0.0.127.IN-ADDR.ARPA/IN: loaded serial 2000092201 
Dec 19 10:54:18 moon named[2427]: zone 1.68.195.IN-ADDR.ARPA/IN: loaded serial 2001021103 
Dec 19 10:54:18 moon named[2427]: zone localhost/IN: loaded serial 2002111601 
Dec 19 10:54:18 moon named[2427]: zone tao.gov.tw/IN: loaded serial 2001021103 
Dec 19 10:54:18 moon named[2427]: running 
Dec 19 10:54:18 moon named[2427]: zone localhost/IN: sending notifies (serial 2002111601)


  有关netstat -lpt的信息如下:

Active Internet connections (only servers) 
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name 
tcp 0 0 *:32768 *:* LISTEN 866/rpc.statd 
tcp 0 0 localhost:32769 *:* LISTEN 1090/xinetd 
tcp 0 0 *:printer *:* LISTEN 1112/lpd Waiting 
tcp 0 0 *:sunrpc *:* LISTEN 838/portmap 
tcp 0 0 *:x11 *:* LISTEN 1363/X 
tcp 0 0 *:http *:* LISTEN 1184/httpd 
tcp 0 0 *:wnn4_Tw *:* LISTEN 1230/tserver 
tcp 0 0 *:ftp *:* LISTEN 1090/xinetd 
tcp 0 0 17.130.240.67:domain *:* LISTEN 1032/named 
tcp 0 0 moon.tao.gov.tw:domain *:* LISTEN 1032/named 
tcp 0 0 localhost:domain *:* LISTEN 1032/named 
tcp 0 0 *:ssh *:* LISTEN 1057/sshd 
tcp 0 0 *:telnet *:* LISTEN 1090/xinetd 
tcp 0 0 localhost:smtp *:* LISTEN 1142/sendmail: acce 
tcp 0 0 localhost:rndc *:* LISTEN 1032/named


  有关 /var/log/secure的信息如下:

Dec 19 10:02:14 moon sshd[1060]: Server listening on 0.0.0.0 port 22. 
Dec 19 10:02:50 moon xinetd[1093]: START: sgi_fam pid=1562 from=<no address>


  有关/var/log/httpd/error_log的信息如下:

[Thu Dec 19 10:02:20 2002] [notice] Apache/1.3.23 (Unix) (Red-Hat/Linux) configured -- resuming normal operations 
[Thu Dec 19 10:02:20 2002] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec) 
[Thu Dec 19 10:02:20 2002] [notice] Accept mutex: sysvsem (Default: sysvsem)


  3.接下来要从Client Server互相ping IP。一般会出现以下两种情况:

  ◆ 只要有一方ping不到,请检查双方网路的设置,尤其注意防火墙;

  ◆ 相互能够ping通,请继续下面步骤。

  4.Client Server互相ping DN。一般会出现以下两种情况:

  ◆ Client→Server不通表示Server端的DNS可能不正常(虽从log看来有启动,但不能说明所有的设定都正确),或者是Client端关于DNS的设定有错。如果Server→Client不通表示Server端的DNS肯定是不正常了(虽从log看来有启动,但不能说明所有的设定都正确) 。

  ◆ 相互能ping通,通常为Server端的Service不正常(包含设定),但很可能是自身运行了防火墙。

  4.检查防火墙相关程序

  ◆ 先用lokkit将防火墙关闭(设定为无) ;

  ◆ 检查TCP_WRAPPER设定(设定文件在/etc/hosts.allow 及 /etc/hosts.deny);

  ◆ 检查service level安全设定,如telnet应检查/etc/xinetd.conf(global)及/etc/xinetd.d/telnet中有无only_from或no_access设定。

  经过上面的步骤,发现它们相互能ping通。于是可以得出结论,使用lokkit将防火墙关闭即可解决问题。





(责任编辑:郁单曰




赛迪网推出“IT博客”,花不到一分钟就完成注册
评论】 【推荐】 【 】 【打印】 【关闭

·Linux专区· ·黑客攻防·
· Linux下添加硬盘、分区、格式化任务详解
· FreeBSD服务器的安装与优化之优化篇
· 初学者入门:FreeBSD服务器的安装与优化
· 金企鹅杯两岸四地开源软件大赛圆满结束
· 如何提高Linux系统安全性的十大招数
· 构筑Linux防火墙之为个人用户设置防火墙
· 谁更安全?黑客眼中的防火墙与路由器
· 识破骗局 练就识别QQ活动真伪火眼金睛
· 应用安全大有可为:目的、挑战、总结
· 道高一尺魔高一丈:安全防御的动感魅力
· 警惕网络“内”院起火 积极谋求安内之路
· HHCTRL漏洞被黑客利用 疯狂传播木马
·中国信息化· ·成功案例·
· ERP普及化是饮鸩止渴 精细化才是应用之道
· 赛门铁克第八期《互联网安全威胁报告》解析
· 抢食“数字工商” 国产中间件杀出血路
· 从IBM等操作系统的发展看软件创新的启示
· 服务成就蓝色快车 品牌是怎样炼成的?
· 三大技术应用大会合为一体甲骨文上演三重奏
· 南阳教育城域网 拆掉学校间的“围墙”
· 金算盘助申意美步入信息化快车道
· 不为人知的索尼信息化 谁是幕后英雄?
· InforBus/Q在穗高速路联网收费系统中的应用
· J2EE构建最新金融理念和运作模式的网上银行
· 食品安全令人担心 信息化能否保驾护航
*姓  名: 更多资料 了解方案 认识厂商
*单位名称:
*联系电话:
*电子邮件:
    
◆ 相关文章   ◆ 站内热点推荐
· 构建Linux下的DNS系统
· 在Linux上建立DNS服务器
· 网管员论坛
· 开发者之家
· WLAN无限未来
· 我是如何掉进C#的……
· 中国“人件”非正式调查

   
合作网站: IBM dW中国网站 LinuxAID 软件工程专家网 中国系统分析员 UMLChina MATRIX Mobile2008 JavaResearch 华储网 UML软件工程组织 中国JAVA手机网 JAVA中文站 金山在线 海量科技