分享
 
 
 

在Linux上建立DNS服务器

王朝system·作者佚名  2006-12-16
窄屏简体版  字體: |||超大  

一、假定本文假定你已对域名服务器DNS有基本的了解,如果不是,请参看相关的文档。许多DNS的文章都是从DNS原理开始介绍,本人则从使用的角度出发,为Linux的管理员提供一些简单实用的应用实例。

下面假定我们需要建立一台企业网的DNS主服务器,应用条件如下: 1.一个C类网段地址 (本例中假定是1 92.22.33); 2.企业域名为 my.com,并已注册(主域名服务器地址 192.22.33.20,主机名为ns1.my.com);

3.企业网通过路由器与Internet连接 。

DNS服务器的主体是域名服务器进程named,named 启动后向DNS客户机提供域名解析服务,把域名转换成IP地址。

named 启动时需要读取几个数据文件,在bind 4下缺省情况下是先/etc/named.boot,所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下先是/etc/nam ed.conf。(有关bind 4和bind 8的知识请参看相关文档,在这你只要知道,red hat 5.1中自带的是bind 4,而red hat 5.2自带的是bind 8)。虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具ndc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我在这里推荐大家用这个工具来帮助DNS服务器的调试。

有关ndc的详细用法,请参看Linux有关文档。

二、建立named配置文件 /etc/named.boot、etc/named.conf1. /etc /named.boot是基本的配置文件,但不包含任何DNS数据,针对我们前面的假定,先建立以下/etc/nam ed.boot,其内容如下:

; boot file for name serverdirectory /var/namedprim ary my.com db.myprimary 0.0.127.IN-ADDR.ARP A db.127.0.0primary 33.22.192.IN-ADDR.ARPA db.192.22.33 cache . db.cache

其中以“;”开头的行是注释行,其他各行含义如下: (1)diretory /var/named :指定 named从 /var/named 目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS 数据文件都存放在此目录下;(2)primary my.com db.my :指定named作为 my.com域的主域名服务器,db.my文件中包含所有 *.my.com形式的域名转换数据;(3)primary 0.0.1 27.IN-ADDR.ARPA db.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.ARPA db.1 92.22.33 :指定named作为192.22.33网段地址转换主服务器,db.192.22.33文件中包含了所有 192.22.33.*形式的地址到域名的转换数据;(5)cache . db.cache :指定na med从 db.cache 文件中获得Internet的顶层“根”服务器地址 。注意:(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。 2. /etc/named.conf是基本的配置文件,不包含任何DNS数据,针对我们前面的假定,建立以下 /etc/named.conf,其内容如下: // gene rated by named-bootconf.ploptions { directory “/var/n amed”; // query-source address * port 53;};// a cachi ng only nameserver configzone “.” { type hint; file “named.ca”;};zone “0.0.127.in-addr.arpa” { type maste r; file “db.127.0.0”;};zone “33.22.192.in-addr.arpa” { type master; file “db.192.22.33”;};zone “my.com” { type master; file “db.my”;};其中以“//”开头的行是注释行,其他各行含义参照named.boot,其实也不难理解。

三、建立各个DNS数据文件现在,要按 /etc/named.boot中的定义,建立各个DNS数据文件。

1. 建立正向域名转换数据文件db.my 根据/etc/named.boot的定义,我们在/var /named目录下建立db.my,其中应该包括所有在my.com域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是db.my的例子:@ IN SOA linux.my.com. root.linux.my.com. (199511301 ; serial, todays date + todays serial #28800 ; refresh, seconds7200 ; retry, seconds3600000 ; expire, seconds86 400 ) ; minimum, secondsNS linux.my.com.MX 10 support.m y.com.localhost A 127.0.0.1linux A 192.22.33 .20support2 A 192.22.33.102hp712 A 192. 22.33.160support A 192.22.33.100mail MX 1 0 support.my.com. MX 20 support2.my.com. www CNAME hp712.my.com.ftp CNAME hp712. my.com.ns CNAME linux.my.com.

其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS 管理员邮件地址,括号内的第一个数字是文件版本号,每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。

括号后面有一条NS记录和一条MX记录,定义了域名服务器本身的域名和username@my.com形式邮件地址所对应的邮件服务器名字。

在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以hp712 .my.com为例,在A记录中域my.com被省略,只写成hp712,named在处理时会根据named.bo ot中的定义自动加上my.com,而其对应IP地址为192.22.33.160。另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将username@mail.my.com的邮件地址转换成username@sup port.my.com或username@support2.my.com,即实际上真正的邮件服务器是suppo rt.my.com和support2.my.com,其中support.my.com的优先数为10,suppo rt2.my.com的优先数为20,所以通常邮件首先被发往优先数小的主机support.my.com。还有一些是为方便提供的CNAME记录。CNAME定义了一些主机的别名,如我们将hp712.my.com作为公司的www 和ftp服务器,所以我们提供了www.my.com和ftp.my.com作为hp712.my.com的别名,用户只需要根据习惯就可以访问公司的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.my.com root.linux.my.com. (19970 22700 ; Serial28800 ; Refresh14400 ; Retry3600000 ; Exp ire86400 ) ; MinimumIN NS linux.my.com.1 IN PTR localho st.而外部网段的数据文件 db.192.22.33 中包含所有主机 IP 地址到DNS主机名的转换数据。db .192.22.33 内容如下: @ IN SOA linux.my.com. root.pc590.my.c om. (199609206 ; Serial28800 ; Refresh7200 ; Retry60480 0 ; Expire86400) ; Minimum TTLNS linux.my.com.;; All ho sts;20 PTR linux.my.com.102 PTR support2.my.com.100 PTR support.my.com.160 PTR hp712.my.com.反向DNS数据文件中的主要部分是PTR 记录,PTR记录中的IP地址都只有主机号,named会根据named.boot的定义自动加上前面的网络号,注意后面的主机名要附加一个“.”

3. 获得db.cache文件 在Linux系统上通常在/var/named下已经提供了一个nam ed.ca,该文件中包含了Internet的顶层域名服务器,但这个文件通常会发生变化,所以建议最好从Inter nic下载最新的版本。该文件可通过匿名ftp从ftp.rs.internic.net下载,在domain目录下,文件名为 named.root。注意该文件下载后要拷贝到named的工作目录并重命名成named.boot中指定的文件名,本文中为db.cache。五、启动和测试 named首先,根据先前推荐的方法,用ndc启动nam ed: ndc start 然后,为了使用和测试named,要把Linux设置在使用DNS状态。方法是在/et c目录下,创建resolv.conf文件。以我们的例子,/etc/resolv.conf 内容为: searc h my.comnameserver 192.22.33.20然后,我们就可以测试named了。Linux和其他Unix系统均提供了nslookup工具,在命令行状态下输入: nslookup

就进入交换式nslookup环境,如果named正常启动,nslookup会显示当前DNS服务器的地址和域名,否则表示named没能正常启动。下面简单介绍一些基本的DNS诊断:

(1)检查正向DNS解析 在nslookup提示符下输入带域名的主机名,如hp712.my.com,n slookup应能显示该主机名对应的IP地址,如果只输入hp712,nslookup会根据/etc/resol v.conf的定义,自动添加my.com域名并回答对应的IP地址。

(2)检查反向DNS解析 在nslookup提示符下输入某个IP地址,如192.22.33.20,ns lookup应能回答该IP地址所对应的主机名。(3)检查MX邮件地址记录 在nslookup提示符下输入:se t q=mx 然后输入某个域名,以本文的例子,输入my.com或mail.my.com,nslookup应能够回答对应的邮件服务器地址,即support.my.com和support2.my.com。(4)检查 CNAM E 别名记录在nslookup提示符下输入:set q=cname 然后输入某个别名,如www.my.com, nslookup应能回答对应的真实主机名,即hp712.my.com。如要退出nslookup,可输入exit 。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有