阅读下列说明,回答问题1至问题4,将解答填入对应栏内。
【说明】
若设置域名解析服务器,已扣该文件服务器上文件named.boot 的内容如下:
Directory/var/named
Cache named.root
Primary 0.0.127 in-addr.arpanamed.local
Primary net.edu.ch net.edu.crt.hosts
Primary 58.112,202. in-addr.arpa net,edu.cn.rev
Secondary edu,ch 202,112.0.33 edu,cn.2nd
Forward 202.,112.0.35
【问题4】 启动DNS服务的命令是什么 |
参考答案:
解析:/etc/init.d/named start。[问题1]~[问题4]
[分析]: 在这里,我们简单介绍在Linux下建立DNS服务器的完整过程。下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下。 (1)一个C类网段地址(本例中假定是192.22.33)。 (2)企业域名为CSAI.cn(主域名服务器地址192.22.33.20,主机名为linux.CSAI.cn)。 (3)企业网通过路由器与Internet连接。 DNS服务器的主体是域名服务器进程named,named启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。named启动时需要读取一个初始化文件,默认情况下是/etc/named.boot,该文件是named的基本配置文件。我们先建立这个文件,其内容如下: ; ;boot file for name server ; directory/var/named primary CSAI,cn db. CSAI primary 0,0.127,IN-ADDR.ARPA db,127.0.0 primary 33,22.192,IN-ADDR.ARPA db.192.22.33 cache. db. cache 其中以“;”开头的行是注释行,其他各行含义如下。 (1)diretory/var/named:指定named从/var/named目录下读取DNS数据文件。用户可自行指定并创建这个目录,指定后所有的DNS数据文件都存放在此目录下。 (2)primary CSAI.cn db.CSAI:指定named作为CSAI. cn域的主域名服务器, db.CSAI文件中包含所有*.CSAI.cn形式的域名转换数据。 (3)primary0.0.127.IN-ADDR.ARPAdb.127.0.0:指定named作为127.0.0网段地址转换主服务器,db.127.0.0文件中包含了127.0.0.*形式的地址到域名的转换数据。 (127.0.0网段地址是局域网接口的内部loopback地址)。 (4)primary 33.22.192.IN-ADDR.ARPAdb.192.22.33:指定named作为192.22.33网段地址转换主服务器,db.192.22.33文件中包含了所有192.22.33.*形式的地址到域名的转换数据。 (5)cache.db.cache:指定named从db.cache文件中获得Internet的顶层“根”服务器地址要注意(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。 接下来,要按/etc/named.boot中的定义,建立各个DNS数据文件。 (1)建立正向域名转换数据文件db.CSAI。 根据/etc/named.boot的定义,我们在/var/named目录下建立db.CSAI,其中应该包括所有在CSAI.cn域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是db.CSAI的例子。 @ IN SOA linux. CSAI.cn. root.linux. CSAI.cn. ( 200808011; serial, todays date + todays serial # 28800; refresh, seconds 7200; retry, seconds 3600000; expire, seconds 86400 ); minimum, seconds NS linux. CSAI.cn. MX 10 support. CSAI.cn. localhost A 127.0.0.1 linux A 192.22.33.20 support2 A 192.22.33.102 hp712 A 192.22.33.160 support A 192.22.33.100 mail MX 10 support. CSAI.cn. MX 20 support2.CSAI.cn. www CNAME hp712.CSAI.cn. ftp CNAME hp712.CSAI,cn. ns CNAME linux.CSAI.cn. 其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和sername @ CSAI.cn形式邮件地址所对应的邮件服务器名字。 在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以hp712.CSAI.cn为例,在A记录中域CSAI.cn被省略,只写成hp712,named在处理时会根据named.boot中的定义自动加上CSAI.cn,而其对应p地址为192.22.33.160。 另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将 username @ mail.CSAI.cn 的邮件地址转换成username @ support.CSAI.cn 或 username @ support2.CSAI.cn, 即实际上真正的邮件服务器是support.CSAI.cn和 support2.CSAI.cn,其中support.CSAI.cn的优先数为10,support2.CSAI.cn的优先数为20,所以通常邮件首先被发往优先数小的主机support.CSAI.cn。 还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,比如我们将hp712.CSAI.cn作为公司的WWW和FTP服务器,所以我们提供了www.CSAI.cn和ftp.CSAI.cn作为hp712.CSAI.cn的别名,用户只需要根据习惯就可以访问公司的 WWW、FTP服务器了,如果将来我们换用别的主机作WWW和FTP服务器,只需要修改CNAME记录就可,对用户没有影响。 注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。 (2)建立反向DNS数据文件db.127.0.0和db.192.22.33。 反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址, db.127.0.0内容如下。 @ IN SOA linux. CSAI.cn root.linux. CSAI.cn. ( 2008080122; Serial 28800; Refresh 14400; Retry 3600000; Expire 86400 ); Minimum IN NS linux. CSAI.cN, 1 IN PTR Iocalhost. 而外部网段的数据文件db.192.22.33中包含所有主机IP地址到DNS主机名的转换数据。db.192.22.33内容如下。 @ IN SOA linux.CSAI.cn, root.pc590.CSAI.cn. ( 200808014; Serial 28800; Refresh 7200; Retry 604800; Expire 86400); Minimum TTL NS linux.my.com. ; ; All hosts ; 20 PTR linux,CSAl,en, 102 PTR support2.CSAI,cn, 100 PTR support. CSAI.cn. 160 PTR hp712,CSAI.cn. 反向DNS数据文件中的主要部分是PTR记录,PTR记录中的IP地址都只有主机号,named会根据named.boot的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”。 (3)获得db.cache文件。 在Linux系统上通常在/var/named下已经提供了一个named.ca,该文件文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Internic下载最新的版本。该文件可通过匿名FTP从ftp.rs.internic.net下载,在domain目录下,文件名为named.root。注意该文件下载后要拷贝到named的工作目录并重命名成 named.boot中指定的文件名,这里为db.cache。 为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/etc目录下,创建resolv.conf文件。以我们的例子,/etc/resolv.conf内容为如下。 search CSAI.cn nameserver 192.22.33.20 然后,我们就可以测试named了。Linux和其他UNIX系统均提供了nslookup工具,在命令行状态下输入nslookup,就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。 通常有一台DNS主服务器,网络即可正常工作,但根据Internic对域名的管理规范,一个独立的域名必须至少有两台DNS服务器,即一台DNS主服务器(Primary Server)和一台后备DNS服务器(Secondary Server),这主要是为DNS服务的可靠性考虑,能使Internet的性能更为可靠。现在仍以前面的例子,现在要加入一台运行Linux的机器nspc.CSAI.cn,IP地址为192.22.33.60。 (1)主服务器上的修改首先确认DNS主服务器工作正常,然后,在主服务器上的正向DNS数据文件db.CSAI中,加入nspc.CSAI.cn的有关记录,并增加一个NS记录,使主服务器上的db.CSAI成为下列内容: @ IN SOA linux.CSAI.cn, rootlinux. CSAI.cn. ( 199511301; serial, todays date + todays serial # 28800; refresh, seconds 7200; retry, seconds 3600000; expire, seconds 86400); minimum, seconds NS linux.CSAI.cn. NS nspc. CSAI,cn. ;必须增加的记录 MX 10 support. CSAI.cn, localhost A 127.0.0.1 linux A 192.22.33.20 support2 A 192.22.33.102 hp712 A 192.22.33.160 support A 192.22.33.100 nspc A 192.22,33.60 ;增加的记录 mail MX 10 support. CSAI.cn. MX 20 support2.CSAI,cn, www CNAME hp712.CSAI.cn. ftp CNAME hp712.CSAI.cn. ns2 CNAME nspc,CSAI.cn, ;增加的记录 ns CNAME linux,CSAI,cn. 然后对主服务器上的各个反向DNS数据文件做类似的修改,增加有关后备服务器的NS记录,然后重新启动named。 可见,其实在主DNS服务器上的改动主要是增加了一条NS记录,其余的改动和增加一台普通节点一样,如果是用现有的节点做后备DNS服务器,则增加NS记录是唯一必须的步骤。 (2)后备DNS服务器(secondary server)的配置需要在后备DNS服务器上创建的配置文件只有named.boot和db.cache,格式与主服务器相似,named.boot内容如下: ; ; boot file for secondary name server ; directory/var/named secondary CSAI.cn 192.22.33.20 db. CSAI secondary 0.0.127.1N-ADDR.ARPA 192.22.33.20 db.127.0.0 secondary 33.22.192.1N-ADDR.ARPA 192.22.33.20 db.192.22.33 cache, db.cache 其中,第三行secondary定义,使得named从192.22.33.20,即王服务器上获得各种 DNS数据,并存在本地的各个数据文件中。本地的数据文件由named从主DNS服务器的named下载后生成,通常与主服务器上的数据文件完全一样,万一后备服务器与主服务器失去连接而不能下载DNS数据,后备服务器可利用本地的数据文件工作。 Linux下架设DNS服务器通常是用Bind程序来实现,启动服务方式有如下两种。 service named start | restart | stop /etc/rc.d/init.d/named start | restart | stop