泉州移动DNS维护手册
Create Date:2010-4-30 Modify date:2010-6-11 Modify date:2010-7-22 Writer:zhuanh yue pei
Version:1.2
目录
泉州移动DNS维护手册 ................................................................................................................. 1
目录........................................................................................................................................... 1
1 专业术语介绍 ........................................................................................................... 2
1.1 DNS当前拓扑介绍 ................................................................................. 2 1.2 Dns作用 .................................................................................................. 2 1.3 DNS类型 ................................................................................................. 2 1.4 资源记录 ................................................................................................. 3 1.5 DNS部分配置文件介绍 ......................................................................... 4 1.6 解析类型 ................................................................................................. 5 1.7 Acl和view的概念 ................................................................................. 5
2 DNS配置文件介绍 .................................................................................................. 6
2.1 named.conf主配置文件 .......................................................................... 6 2.2 zone区域信息配置 ................................................................................. 9 2.3 区域数据文件 ....................................................................................... 12 2.4 Inclued文件 ........................................................................................... 12
3 日常作业规范 ......................................................................................................... 13
3.1 DNS服务启动、关闭 ........................................................................... 13 3.2 named.conf主配置文件维护 ................................................................ 13 3.3 zone区域文件维护 ............................................................................... 15 3.3.1 区域数据文件常见任务 .................................................................... 16 3.4 委派授权解析 ....................................................................................... 16 3.5 转发域 ................................................................................................... 17
4 常用命令集 ............................................................................................................. 17
4.1 诊断方法 ............................................................................................... 17 4.2 Dig诊断工具 ......................................................................................... 19 4.3 Nslookup诊断工具 ............................................................................... 20
5 应急方案 ................................................................................................................. 21 6 DNS Debug介绍 .................................................................................................... 21 7 其他—tcpdump抓包工具介绍 ............................................................................ 23
1 专业术语介绍
1.1 DNS当前拓扑介绍
1.2 Dns作用
DNS(Domain Name System)叫做域名解析服务器,域名系统是分级的分布式的数据库,该数据库存放着域名所对应的IP地址,邮件路由信息和网络应用方面的数据,数据库以文件形式或是应用数据库形式存在。DNS负责将用户请求信息解析成相应的信息,比如,将域名解析成所对应的IP地址,或是将IP地址解析成所对应的域名,或是回答某个域名的邮件服务器的ip地址等。
1.3 DNS类型
一个 DNS 服务器可以同时作为多个域的主域名服务器和辅域名服务器,也可以只作为主,或只作为辅,或者做任何域的授权服务器而只使用自己的 cache 来提供查询解析。Master服务器也经常叫做 primary,slave 服务器也经常叫做 secondary。不论是 master/primary/主/一级域名服务器,还是 slave/secondary/辅/二级域名服务器,都是这个域的授权服务器。
所有的服务器都会将数据保存在缓存(cache)中,直到针对这些数据的 TTL
(Time To Live)值过期。 1.3.1 主域名服务器
primary master server是一个 domain信息的最根本的来源。它是所有辅域名服务器进行域传输的源。主域名服务器是从本地硬盘文件中读起域的数据。 1.3.2 辅域名服务器
就是 slave server,或叫作 secondary server。次级服务器使用一个叫做域转输的复制过程,调入其它服务器中域的内容。通常情况下,数据是直接从主服务器上传输过来的,但也可能是从本 地磁盘上的cache 中读到的。辅域名服务器可以提供必需的冗余服务。所有的辅域名服务器都应该写在这个域的 NS记录中。
1.3.3 隐藏服务器
stealth server 可以针对一个域的查询返回授权的记录,但是它并没有列在这个域的 NS记录里。Stealth 服务器可以用来针对一个域进行集中分发,这样可以不用在远程服务器上手工编辑这个域的信息了。在这种方式中,一个域的 master 文件在 stealth server 上存储的位置,经常叫做“hidden primary”配置。Stealth服务器也可以将域文件在本地做一个拷贝,从而可以在所有官方的域名服务器都不能访问的情况下,也能更快地读取域的记录。 1.3.4 高速缓存域名服务器
缓存服务器可以将它收到的信息存储下来,并再将其提供给其它的用户进行查询,直到这些信息过期。它的配置中没有任何本地的授权域的配置信息。它可以相应用户的请求,并询问其它授权的域名服务器,从而得到回答用户请求的信息。
1.3.5 转发服务器
1.4 资源记录
DNS服务器的信息数据,按照分类进行存储,比如将域名解析成IP,这样信息存贮成A记录,而将IP地址解析成域名,这样的信息则存贮成PTR记录。还有MX、CNAME等资源记录。不同的资源记录是为了不同的资源解析而设的。 1.4.1 NS资源记录
名称服务器(NS)资源记录表示该区的授权服务器,用于说明该区域有哪些dns服务器负责解析,NS资源指的就是授权服务器。 1.4.2 SOA资源记录
可能有多台服务器负责一个域的DNS解析,比如163.com这个域,负责解析有台服务器:ns1.163.com和ns2.163.com。那么SOA记录就是指定这两台服务器中的哪一台为主服务器,而另外一台为辅助服务器。因为在一个授权域中,只能有一台负责解析。
1.4.3 A资源记录
地址(A)资源记录把FQDN映射到IP地址,因而解析器能查询FQDN对应的IP地址。 1.4.4 PTR资源记录
相对于A资源记录,指针(PTR)记录把IP地址映射到FQDN。
1.4.5 CNAME资源记录
规范名字(CNAME)资源记录创建特定FQDN的别名。用户可以使用CNAME记录来隐藏用户网络的实现细节,使连接的客户机无法知道。 1.4.6 MX资源记录
指明某个域中那台服务器是邮件服务器。可以同时配置多个MX资源,DNS服务器会根据每个MX配置的权重的不同来决定轮询的次数。 比如
machi.cn. IN MX 10 mail2.machi.cn. machi.cn. IN MX 20 mail3.machi.cn. mail2.machi.cn. IN A 218.207.198.132 mail3.machi.cn. IN A 218.207.198.133 1.5 DNS部分配置文件介绍
泉州移动DNS服务器是使用bind软件进行安装服务的,当前版本是9.3
[root@ns1 named]# named -v BIND 9.3.3rc2 Bind的主要配置文件是named.conf,该文件通常是位于/etc/named.conf,但是如果安装了bind-chroot安全包后,named.conf文件移到会在chroot目录下,在/etc/目录下的named.conf是一个符号连接到chroot目录下的named.conf.
注意:使用了chroot后,由于Bind程序的虚拟根目录是/var/named/chroot/,
因此下文提到所有的DNS服务器配置文件、区域数据文件和配置文件内的语句,都是相对这个虚拟根目录而言的。如下文提到的/etc/named.conf,其真正的路径是/var/named/chroot/etc/ named.conf;如目录/var/named/,其真正的路径是/var/named/chroot/var/named/。 1.5.1 Named.conf主配置文件
该文件是DNS服务器的主要配置文件,该文件位于/var/named/chroot/etc/ named.conf 。DNS后台进程named在53端口监听用户的请求,在收到解析请求后,会首先是查找named.conf文件,然后从named.conf文件中再定位所要查找的区域数据文件的位置,最后读取数据返回给客户。所以当named.conf文件丢失,或是格式错误都会导致服务启动失败。
一般在对named.conf文件修改后,要验证下其格式是不是正确
[root@ns1 named]# named-checkconf /etc/named.conf 或是 [root@ns1 named]# named-checkconf /var/named/chroot/etc/named.conf Named.conf包括了全局的参数配置、区域配置、DNS日志配置、还有一些区域配置相关的配置如acl、view等
1.5.2 区域数据库文件
详细的解析信息是存放在区域数据文件,比如A、PRT、NS、MX等解析信息都是存放在区域数据文件中。而区域数据文件的存放的位置是在named.conf的options的directory参数定义的,比如通常是定义成:directory ―/var/named‖;
1.6 解析类型
1.6.1 正向解析
正向解析是指域名到IP地址的解析过程。 1.6.2 反向解析
反向解析是从IP地址到域名的解析过程。反向解析的作用为服务器的身份验证。
1.7 Acl和view的概念
1.7.1 ACL
ACL就是一个IP过滤器,默认是不允许所有的ip访问,只有在列表中的IP才可以访问DNS中的资源。 ACL的格式:
Acl ―名称‖ { ip列表1;ip列表2; …}; //min_hui acl acl \113.18.144.0/21; 122.48.176.0/20; }; 1.7.2 View
View是bing9才有的一个的功能,可以根据用户的不同ip来提供不同的服务,最常用的就是智能分流了—也叫做双线或是多线接入,根据用户IP的不同,访问统一个网站的域名解析成不同的IP地址。 在泉州移动的DNS中,因为连接着不同IP提供商的网段,本地授权域名较少,大多是做转发,所以还有一个应用就是将不同用户段的IP,转到相应的IP提供商的DNS服务器来解析,比如铁通IP段,则转发到铁通的专门的DNS服务器来做解析。
所以本地的DNS是做转发服务器,也叫缓存服务器。
2 DNS配置文件介绍
2.1 named.conf主配置文件
[root@ns1 ~]# cat /etc/named.conf options {
listen-on port 53 { 192.168.0.40;}; directory \
dump-file \ statistics-file \
memstatistics-file \ query-source port 53; datasize 300m; recursion yes; recursive-clients 2000; version \}; logging {
channel default_debug {
file \ severity dynamic; print-time yes; print-severity yes; print-category yes; };
channel all_log {
file \ severity debug 3; print-time yes; print-severity yes; print-category yes; };
category general { all_log; }; category client { all_log; }; category queries { all_log; }; };
view localhost_resolver {
match-clients { localhost; }; match-destinations { localhost; }; recursion yes;
include \};
//min_hui temporary acl include \
//jin_qiao acl acl \ 180.178.192.0/20; 180.188.16.0/22; 180.188.20.0/23; 180.188.22.0/24; 180.188.28.0/22; 180.188.64.0/20; 180.188.70.0/24; 180.188.71.0/24; 180.188.80.0/22; 180.188.84.0/23; 180.188.87.0/24; 180.188.88.0/21; 113.18.64.0/19; 113.18.104.0/21; 113.18.144.0/21; };
view \
match-clients { cmnet;acl_temp; }; match-destinations { any; }; recursion yes;
forwarders { 123.125.9.211;123.125.9.212; }; forward first;
additional-from-auth yes; additional-from-cache yes; include \};
//min_hui acl
acl \
view \ match-clients { cm_min_hui; }; match-destinations { any; }; recursion yes;
forwarders { 219.141.136.10;211.138.151.161; }; forward first;
additional-from-auth yes;
additional-from-cache yes; include \}; //tie_tong
acl \122.91.16.0/21; 110.125.192.0/19; 110.125.224.0/20; 111.142.64.0/21; };
view \ match-clients { tie_tong; }; match-destinations { any; }; recursion yes;
forwarders { 222.47.29.93;222.47.62.142; }; forward first;
additional-from-auth yes; additional-from-cache yes; include \};
//cmnet_self acl
acl \211.138.136.0/21; 211.138.144.0/20; 211.138.132.0/22; 211.143.160.0/19; 211.143.192.0/19; 211.148.224.0/19; 218.207.96.0/19; 218.207.128.0/18; 218.207.192.0/19; 112.5.16.0/20; 112.5.32.0/19; 180.188.23.0/22; 180.188.27.0/23; };
view \ match-clients { cmnet_self; }; match-destinations { any; }; recursion yes;
forwarders { 211.138.151.161;211.138.156.66; }; forward first;
additional-from-auth yes; additional-from-cache yes; include \}; //cnc acl 116.244.128.0-116.244.191.0 acl \192.168.0.42; 116.244.128.0/18;}; view \ match-clients { cnc; }; match-destinations { any; }; recursion yes; forwarders { 210.22.70.3;202.106.0.20; }; forward first; additional-from-auth yes; additional-from-cache yes; include \}; 2.2 zone区域信息配置
区域信息默认是放在named.conf主配置文件中,但是因为zone信息可能会不断的增加,造成named.conf配置文件变成很大,不便管理和阅读。对以便以管理,特别将zone隔离出来,信息存放在一个单独的文件中,用include关键字来引用。 下面是对include所引用的区域信息文件的部分内容做下解析 (named.rfc1912.zones配置文件没有完全贴出来,重复的部分省去)
[root@ns2 ~]# cat /etc/named.rfc1912.zones zone \ type hint; file \}; zone \ type master; file \ allow-update { none; }; }; zone \ type master; file \ allow-update { none; }; };
zone \ type master; file \ allow-update { none; }; };
zone \ type master; file \ allow-update { none; }; };
zone \ type master;
file \ allow-update { none; }; };
zone \ type master;
file \ allow-update { none; }; };
zone \ type master; file \ allow-update { none; }; };
zone \ type master;
file \ allow-update { none; }; };
zone \ type master;
file \ allow-update { none; }; };
zone \ type master; file \ allow-update { none; }; }; //cmnet localhost server resolve zone \ type master; file \ allow-update { none; }; }; zone \ type master; file \ allow-update { none; }; }; zone \ type master; file \ allow-update { none; }; }; Type的几种类型,一共分为六种:
2.2.1 Master
主DNS服务器:拥有区域数据文件,并对此区域提供管理数据
2.2.2 Slave
辅助DNS服务器:拥有主DNS服务器的区域数据文件的副本,辅助DNS服务器会从主DNS服务器同步所有区域数据。 2.2.3 Stub
stub区域和slave类似,但其只复制主DNS服务器上的NS记录而不像辅助DNS服务器会复制所有区域数据。 2.2.4 Forward
一个forward zone是每个域的配置转发的主要部分。一个zone语句中的type forward可以包括一个forward和/或forwarders子句,它会在区域名称给定的域中查询。如果没有forwarders语句或者forwarders是空表,那么这个域就不会有转发,消除了options语句中有关转发的配置。
2.2.5 Hint
根域名服务器的初始化组指定使用线索区域hint zone,当服务器启动时,它使用根线索来查找根域名服务器,并找到最近的根域名服务器列表。如果没有指定class IN的线索区域,服务器使用编译时默认的根服务器线索。不是IN的类别没有内置的默认线索服务器。 2.2.6 Delegation-only
用于强制区域的delegation .ly状态。
2.3 区域数据文件
[root@ns1 named]# cat jinjiang.gov.cn.zone $TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost localhost IN A 127.0.0.1 IN MX 10 smtp admin IN A 113.18.108.45 count IN A 113.18.108.45 2.4 Inclued文件
可以使用include调用的信息有:ACL和区域信息。 ACL信息可以放在单独数据文件中,比如将铁通的ACL列表存放在tietong_acl文件中,可以这样做:在/var/named/cheroot/etc/文件夹中建立tietong_acl文件。
然后将/etc/named.conf中铁通的ACL删除,添加到tietong_acl中,并替换原来的ACL成:include ―/var/named/cheroot/etc/tietong_acl‖; acl \122.91.16.0/21; 110.125.192.0/19; 110.125.224.0/20; 111.142.64.0/21; }; Named.conf改变后的配置 include ―/var/named/cheroot/etc/tietong_acl‖; view \ match-clients { tie_tong; }; match-destinations { any; }; recursion yes; forwarders { 222.47.29.93;222.47.62.142; }; forward first; additional-from-auth yes; additional-from-cache yes; include \}; 3 日常作业规范
3.1 DNS服务启动、关闭
DNS是由后台守护进程named,在tcp53端口上监听,判断named服务器进程有没起来,可以使用下面的方法来判定: [root@ns1~]# netstat –nltu|grep 53 或是 [root@ns1~]# lsof –i:53 或是查看后台进程 [root@ns1~]# ps –ef |grep named 由于DNS的高可用性是采用redhat的cluster的ha来实现的,所以启动、关闭、重启named服务器不能直接对named进程进行操作(禁止直接对named进行直接的操作,这样会导致named进程的异常),只能通过ha的命令来进行重启。
[root@ns1~]#clusvcadm –R dns_ha ---本地重启named服务 [root@ns1~]#clusvcadm -d dns_ha ---关闭本地的named服务 [root@ns1~]#clusvcadm –e dns_ha ---启动本地的named服务 [root@ns1~]#clusvcadm –r dns_ha ----切换到备用服务器上 3.2 named.conf主配置文件维护
有关named.conf主配置文件的维护,主要是acl和view的维护。 举例:
增加一个新的用户IP地址段的转发(铁通地址段),登入备用的DNS服务器进行作业。一般不允许对当前的DNS进行作业的操作,主要为了防止配置不当或是意外的因素,导致服务启动不起来。
[root@ns2~]#vi /etc/named.conf 然后在配置末尾插入铁通的地址段的ACL列表和相应转发的DNS列表 //tie_tong acl \122.91.16.0/21; 110.125.192.0/19; 110.125.224.0/20; 111.142.64.0/21; }; view \ match-clients { tie_tong; }; match-destinations { any; }; recursion yes;
forwarders { 222.47.29.93;222.47.62.142; }; forward first;
additional-from-auth yes; additional-from-cache yes; include \};
退出保存文件
[root@ns2~]# named-checkconf /etc/named.conf –验证所添加的数据格式是否正确 然后再登入当前作业的DNS服务器上,进行服务的切换 [root@ns1~]# clusvcadm –r dns_ha
然后在[root@ns2~]#确认named进程已经起来 [root@ns1 ~]# ps -ef|grep named
root 9009 6263 0 16:20 pts/1 00:00:00 grep named
named 18767 1 0 Apr16 ? 03:37:02 /usr/sbin/named -u named -t /var/named/chroot
备用的DNS服务器进程确认已经起来后,再将备用新修改的数据同步到主DNS上。 [root@ns2~]#scp /etc/named.conf 192.168.0.23: /etc/named.conf 最后还要确认用户访问的数据流量有没有上来,查看日志文件 [root@ns1 named]# cd /var/named/chroot/var/named/data/ [root@ns1 data]# pwd
/var/named/chroot/var/named/data [root@ns1 data]# [root@ns1 data]# [root@ns1 data]# ls
all_log.run all_log.run.2 cache_dump.db named.run.0 named.run.3 named.run.6 named.run.9
all_log.run.0 all_log.run.3 named_mem_stats.txt named.run.1 named.run.4 named.run.7 named_stats.txt
all_log.run.1 all_log.run.4 named.run named.run.2 named.run.5 named.run.8
[root@ns1 data]# cat all_log.run|grep 110.125.192|more
04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: UDP request 04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view tie_tong_view: query
04-May-2010 16:24:21.016 queries: info: client 110.125.192.229#1030: view tie_tong_view: query: ptlogin2.qq.com IN A +
04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view tie_tong_view: send
04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view tie_tong_view: sendto
04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view
tie_tong_view: senddone 04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view tie_tong_view: next 04-May-2010 16:24:21.016 client: debug 3: client 110.125.192.229#1030: view tie_tong_view: endrequest 04-May-2010 16:24:21.290 client: debug 3: client 110.125.192.229#1030: UDP request 3.3 zone区域文件维护
zone区域文件主要是维护任务是:增加zone、删除zone或是修改zone信息 当增加一个zone时,就要相应增加该区域的数据信息。 举例:
增加一个zone,这边增加一个叫www.xxx.com的域名,ip地址是110.11.12.13 首先打开/etc/named.rfc1912.zones
[root@ns1~]#vi /etc/named.rfc1912.zones 在该文件的末尾插入 zone \ type master;
file \ allow-update { none; }; };
然后保存退出 验证文件格式是否正确
[root@ns1~]#named-confcheck /etc/named.rfc1912.zones 接着添加区域数据文件
[root@ns1~]#cd /var/named/cheroot/var/named/ [root@ns1~]#touch cm-xxx.com.zone
[root@ns1~]#chown named.named cm-xxx.com.zone 编辑该文件
[root@ns1~]#vi cm-xxx.com.zone $TTL 86400
@ IN SOA localhost root (
42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost localhost IN A 127.0.0.1 www IN A 110.11.12.13 然后在验证该文件格式是否正确
[root@ns1~]#named-checkzone xxx.com cm-xxx.com.zone 添加符号连接
[root@ns1~]#ln –s cm-xxx.com.zone /var/named/
然后再登入当前作业的DNS服务器上,进行服务的切换
[root@ns1~]# clusvcadm –r dns_ha 然后在[root@ns2~]#确认named进程已经起来 [root@ns2~]#ps –ef|grep named 在确认备用的DNS服务器进程已经起来后,再将备用新修改的数据同步到主DNS上。 添加完毕后,在客户端使用nslookup验证下,数据是否正确。 C:\\Documents and Settings\\acer>nslookup Default Server: ns1.qz.chinamobile.com Address: 218.207.128.4 ? wwww.xxx.com ? Server: UnKnown ? Address: 218.207.128.4 ? ? Name: www.fjwapx.com ? Address: 110.11.12.13 3.3.1 区域数据文件常见任务
泛解析和空解析
空解析表示域名本身,比如abc.com,则空解析就是本身abc.com 泛解析,指abc.com下面所有的子域名*.abc.com
[root@ns1~]#vi cm-abc.com.zone $TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost localhost IN A 127.0.0.1 www IN A 110.11.12.13 @ NS A * IN A 110.236.0.2 110.236.0.2 3.4 委派授权解析
如果想把test.abc.com的域的解析权授给host.test.abc.com来解析时,应该做如下的配置
[root@ns1~]#vi cm-abc.com.zone $TTL 86400 @ IN SOA localhost root ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum IN NS localhost localhost IN A 127.0.0.1 www IN A 110.11.12.13 test NS A host.test IN A host.test.abc.com 110.11.12.14 sangfortest NS A dns1.sangfortest.com $TTL 86400 @ IN SOA dns1.sangfortest.com. root.dns1.sangfortest.com. ( 42 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS dns1.sangfortest.com. dns1 IN A 180.188.31.248 3.5 转发域
它允许你把 DNS 配置成只有查找特定域名的时候才使用转发器。( BIND 9 从9.1.0 才开始有转发区功能 )例如,你可以使你的服务器将所有对 xmgd.com 结尾的域名查询都转发给 xmgd.com 的两台名字服务器: zone \ type forward; forwarders { 210.52.83.228; 210.52.83.229; }; }; zone \ type forward; forwarders { 110.125.239.18;180.188.31.238; }; forward only; }; 4 常用命令集
4.1 诊断方法
常见问题,客户反应不能上网,不能上网可能有多种因故不行,比如网络不通,比如自己机器IE坏掉了,还有可能是转发服务器的问题,这个先要排除后,再来确认本地DNS的问题。
最终确认是本地的DNS有问题,那么先登主DNS服务器上,看到进程是不是还在 [root@ns1 data]# ps -ef |grep named root 12858 6263 0 16:31 pts/1 00:00:00 grep named named 18767 1 0 Apr16 ? 03:37:07 /usr/sbin/named -u named -t /var/named/chroot
如果不在,那说明进程已经挂掉,这时重启named [root@ns1 data]# clustat -l Member Status: Quorate Member Name ID Status ------ ---- ---- ------ ns1.qz.chinamobile.com 1 Online, Local, rgmanager ns2.qz.chinamobile.com 2 Online, rgmanager Service Information ------- ----------- Service Name : service:dns_ha Current State : started (112) Owner : ns1.qz.chinamobile.com Last Owner : ns2.qz.chinamobile.com Last Transition : Fri Apr 16 18:49:15 2010 [root@ns1 data]# clusvcadm -R dns_ha 如果在,最直接的办法,最有效的办法是切换服务器 [root@ns1 data]# clusvcadm -r dns_ha 4.1.1 Dnstop
实时分析DNS解析数据,实时查询DNS的解析情况。 s,显示源ip d,显示目标Ip
t,解析类型,A,AAAA,还是其他
1~9,显示解析层数,比如1就是.com,2就是qq.com
!~(,显示源+解析层数1~9。注意这是1~9键盘按键上面的字符。 空格刷新(但是不清空计数) ^R,清空计数 ^X,退出 ?,帮助。 4.1.2 Rndc
Rndc可以控制named服务器进程的状态,比如启动、关闭等。但是这边主要主要是哟你rndc来查看用户此时的并发访问量
[root@ns1 data]# rndc status number of zones: 332 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is ON recursive clients: 61/2000 tcp clients: 0/100 server is up and running 4.2 Dig诊断工具
1)基本用法,查看某个域
[root@ns1 named]# dig @192.168.0.40 cntv.cn
; <<>> DiG 9.3.3rc2 <<>> @192.168.0.40 cntv.cn ; (1 server found)
;; global options: printcmd ;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12595
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;cntv.cn. IN A
;; AUTHORITY SECTION:
cntv.cn. 86400 IN SOA ns2.qz.chinamobile.com. root.ns2.qz.chinamobile.com. 42 10800 900 604800 86400
;; Query time: 0 msec
;; SERVER: 192.168.0.40#53(192.168.0.40) ;; WHEN: Tue May 4 18:28:52 2010 ;; MSG SIZE rcvd: 88 2)查看某个区域的访问流量
[root@ns1 named]# dig @192.168.0.40 cntv.cn AXFR
; <<>> DiG 9.3.3rc2 <<>> @192.168.0.40 cntv.cn AXFR ; (1 server found)
;; global options: printcmd
cntv.cn. 86400 IN SOA ns2.qz.chinamobile.com. root.ns2.qz.chinamobile.com. 42 10800 900 604800 86400
cntv.cn. 86400 IN NS ns2.qz.chinamobile.com. *.cntv.cn. 86400 IN A 110.236.0.2 localhost.cntv.cn. 86400 IN A 127.0.0.1
cntv.cn. 86400 IN SOA ns2.qz.chinamobile.com.
root.ns2.qz.chinamobile.com. 42 10800 900 604800 86400 ;; Query time: 0 msec
;; SERVER: 192.168.0.40#53(192.168.0.40) ;; WHEN: Tue May 4 18:29:34 2010 ;; XFR size: 5 records (messages 1)
3)查找一个域的授权 dns 服务器
[root@ns1 named]# dig 0595qz.com +nssearch
SOA ns.xinnetdns.com. hostmaster.xinnetdns.com. 200205319 3600 900 720000 3600 from server ns.xinnetdns.com in 107 ms.
SOA ns.xinnetdns.com. hostmaster.xinnetdns.com. 200205319 3600 900 720000 3600 from server ns.xinnet.cn in 116 ms.
4.3 Nslookup诊断工具
这个用得较多,一般在添加了一个新的域名都,就要用该命令行工具来验证下,解析是否正确
反向解析: C:\\Documents and Settings\\laoda>nslookup 218.207.198.132 Server: ns1.qz.chinamobile.com Address: 218.207.128.4 Name: mail.machi.cn Address: 218.207.198.132 正向解析: C:\\Documents and Settings\\acer>nslookup Default Server: ns1.qz.chinamobile.com Address: 218.207.128.4 > www.eoof.com Server: UnKnown Address: 218.207.128.4 Non-authoritative answer: Name: www.eoof.com Address: 59.60.31.200 > www.fjwapx.com Server: UnKnown Address: 218.207.128.4 Name: www.fjwapx.com Address: 110.236.0.2
5 应急方案
1) 如果确认是DNS服务器出现了问题,这时可以切换到备用服务器上(如果
服务器没有自动切换备用服务器上,这时可以手动执行切换)。
DNS主备的高可用性,这边是采用redhat的ha主备结构,就是当主服务器出现故障时,ha能自动把DNS服务切换到备用服务器上,这样能提供不间断的服务。有时候ha没有自动切换过去,这时需要手工来执行切换。
[root@ns1 data]# clustat -l Member Status: Quorate Member Name ID Status ------ ---- ---- ------ ns1.qz.chinamobile.com 1 Online, Local, rgmanager ns2.qz.chinamobile.com 2 Online, rgmanager Service Information ------- ----------- Service Name : service:dns_ha Current State : started (112) Owner : ns1.qz.chinamobile.com Last Owner : ns2.qz.chinamobile.com Last Transition : Fri Apr 16 18:49:15 2010 如果查看主DNS服务器的named服务down掉了,那就在主服务器上执行如下的命令,将named服务器切到备用服务器上。
查看ha的名字是dns_ha,然后执行下面的命令,切换到备用服务器上
[root@ns1 data]# clusvcadm -r dns_ha 2) 有可能是配置文件出错,还有一种较快的方法是将修改前的备份文件倒回
来。DNS上面有一个备份脚本,可以判断在文件被修改了进行备份。备份文件放在/home/dns_profile_backup_directory/dns_back_directory目录下,备份包括了主备份文件named.conf和区域数据文件和一些include文件
3) 如果是解析出现问题,可以到named专用的日志文件中进行查找。 4) 再不行,最后的方法是重启主备机器。
6 DNS Debug介绍
调试模式,该模式有好用的地方,有两种情况较长使用:
1) 查看view有没有生效,就是指定的用户IP有没有走指定的view
默认是没有debug信息出来的,只有syslog info信息。如果要打开debug的信息,需要在named.conf主配置文件中配置logging信息 logging { channel default_debug { file \ severity dynamic; print-time yes; print-severity yes; print-category yes; }; channel all_log { file \ severity debug 3; print-time yes; print-severity yes; print-category yes; }; category general { all_log; }; category client { all_log; }; category queries { all_log; }; }; 比如,现在新增了一个铁通的地址段110.125.192.0/19; 然后转发到forwarders { 222.47.29.93;222.47.62.142; };
那怎么确认110.125.192.0/19;用户的请求有转发到该222.47.29.93;222.47.62.142; 可以查看debug信息
[root@ns1 data]# cat all_log.run|grep 110.125|more 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: UDP request 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: query 04-May-2010 20:28:25.003 queries: info: client 110.125.233.72#52889: view tie_tong_view: query: nc.qzone.qq.com IN A + 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: send 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: sendto 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: senddone 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: next 04-May-2010 20:28:25.003 client: debug 3: client 110.125.233.72#52889: view tie_tong_view: endrequest 04-May-2010 20:28:25.004 client: debug 3: client 110.125.203.52#3073: UDP request 04-May-2010 20:28:25.004 client: debug 3: client 110.125.203.52#3073: view tie_tong_view: query 7 其他—tcpdump抓包工具介绍
Tcpdump是linux上自带的一个抓包工具,这在调试时很有用,下面就该命令的一些常用的参数做介绍。
[root@test2 ~]#tcpdump -i eth0 src host 192.168.0.201 and dst host 192.168.0.125 [root@test2 ~]#tcpdump –i eth0 src net 192.168.0.0 and dst net 10.49.28.0 [root@test2 ~]#t tcpdump –i eth0 port 53 [root@test2 ~]#t tcpdump –i eth0 port 53 –w /root/tcpdump_2010-6-12.pad [root@test2 ~]#t tcpdump –i eth0 –r /root/tcpdump_2010-6-12.pad [root@test2 ~]#t tcpdump –i eth0 –port 53 –nn