本文出自:http://www.nsfocus.com 维护:小四
7.1 如何进行DNS区传输
7.2 如何获知权威名字服务器
7.3 如何配置DNS的委托解析
7.4 如何获知BIND的版本号
7.5 Solaris/FreeBSD/Linux如何指定域名解析的顺序
--------------------------------------------------------------------------
7. DNS相关问题
7.1 如何进行DNS区传输
A: scz
用nslookup是最普遍适用的
nslookup
> server ns.tsinghua.edu.cn
> set type=axfr
> ls tsinghua.edu.cn [> tsinghua.txt] (方括号里的可选)
有些系统提供了dig命令
dig @ns.tsinghua.edu.cn axfr tsinghua.edu.cn
A: lgwu
有些系统提供了host命令,这个命令不太保险
host -l net.tsinghua.edu.cn (后面指定域)
host -l ncic.ac.cn
7.2 如何获知权威名字服务器
A: scz
nslookup
> set query=ns
> ncic.ac.cn (获知管辖该域的权威名字服务器)
Authoritative answers can be found from:
gatekeeper.ncic.ac.cn internet address = 159.226.41.188
> server gatekeeper.ncic.ac.cn
> set type=axfr (准备区传输)
> ls ncic.ac.cn > ncic.txt
7.3 如何配置DNS的委托解析
Q: 我想把子域DNS解析下放到下面去,在我这里如何配置
A: [email protected]
子域 IN NS <负责子域DNS解析的IP>
7.4 如何获知BIND的版本号
Q: 如何识别当前运行的bind是什么版本
A: M. Zuber
dig @ txt chaos version.bind
或者
nslookup
server
set query=txt
set class=chaos
version.bind
但是这个返回结果可以通过/etc/named.conf自己设置,并不可靠。如果你正在运
行BIND 8,可以执行
/usr/sbin/ndc status
A: backend
#!/bin/sh
# bv (Bind Version) script
# written by [email protected]
USAGE=""Usage: $0 ""
if [ $# -ne 1 ]; then
echo $USAGE
exit
fi
if [ ! -f /usr/bin/dig ]; then
echo -en ""[1;31mCan''t find ""dig"" program.[0;39m
""
exit
fi
VER=``/usr/bin/dig @$1 version.bind chaos txt | grep ""VERSION.BIND""``
if [ ""x$VER"" = ""x"" ]; then
echo -en ""[1;31mSorry. Can''t get BIND version.[0;39m
""
else
echo -en ""BIND version of [1;33m$1[0;39m = ""
echo -en ""[1;33m""
echo $VER | awk ''{print $5;}''
echo -en ""[0;39m
""
fi
A: deepin
很多主机没有dig,最方便的办法是
nslookup -q=txt -class=chaos version.bind IP-addr
如果要美观一点,所以可以用这样的一个小脚本
#!/bin/sh
if [ $# = 0 ];then echo ""useage: $0 IP-Addr.""; exit 1;fi
VER=``nslookup -q=txt -class=chaos version.bind $1 | grep ""VERSION.BIND""``
if [ $? = 0 ];then
echo -en ""BIND version of [1;33m$1[0;39m = "" ``echo $VER | awk
''{print $4,$5,$6;}''`` ""[0;39m
""
else
echo -en ""[1;31mSorry. Can''t get BIND version.[0;39m
""
fi
命令行上直接指定IP,会进行反向域名解析,有可能失败,进入nslookup之后server
指定IP,则无此问题。
7.5 Solaris/FreeBSD/Linux如何指定域名解析的顺序
Q: 如何在Solaris中使/etc/resolv.conf的设置生效
A: cp /etc/nsswitch.dns /etc/nsswitch.conf
或者
vi /etc/nsswitch.conf
hosts: files dns
Q: FreeBSD中有类似Solaris的/etc/nsswitch.conf的文件吗
A: /etc/host.conf
--------------------------------------------------------------------------
# First try the /etc/hosts file
hosts
# Now try the nameserver next.
# 如果不希望做反向域名解析,则注释掉下面这行
# bind
# If you have YP/NIS configured, uncomment the next line
# nis
--------------------------------------------------------------------------
Q: Linux中有类似Solaris的/etc/nsswitch.conf的文件吗
D: /etc/host.conf
--------------------------------------------------------------------------
order hosts, bind, nis
multi on
--------------------------------------------------------------------------
D: rai@SMTH Unix 2001-11-28 09:42
改了/etc/host.conf还是不行,后来试了一下/etc/nsswitch.conf就可以了,Linux
也有这个文件的,必须保证下一行中有dns
--------------------------------------------------------------------------
# hosts: db files nisplus nis dns
hosts: files nisplus nis dns
--------------------------------------------------------------------------