分享
 
 
 

基于Linux的网络试验系统的设计(三)

王朝system·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

第三章 DNS(域名系统)和设置

第一节 DNS介绍

一、DNS

连接TCP/IP的每个网络接口用一个唯一的32位的IP地址标识,但由于数字比较复杂、难以记忆而且没有形象性。因而人们发明了用域名系统来解决它,在这种情况下,我们可以使用易于理解和较为形象的名称来作为一台计算机的标识。在大多数情况下,数字地址和域名地址可以交替使用;但无论用数字地址或是域名进行网络应用时,网络总是以IP地址为基础来进行的。在网络进行连接前,系统必须将域名地址转换成IP地址。这就是DNS的任务。

将域名转换成IP地址有常用的两种方法。一种较古老的方法是从一个称为“主机表”的文件中查找主机名;后来一般使用的是一个称为“域名服务(DNS)”的分布式数据库系统,将名字转换成IP地址。

主机表是一个简单的文本文件,可以使IP地址与主机名相关联。在Redhat5.2中,主机表文件为/etc/hosts,该文件的每一表项包含一个IP地址和用空格隔开的与该地址关联的主机名列表。

虽然主机表比较简单,但它有一些缺点。域名系统则能克服这些缺点:

-DNS的扩充性好。它并不依靠单独一个大表,而是一个分布式数据库系统,不会因为数据库的增长而陷入困境。

-DNS可确保在必要时将新主机的信息传播到网络中其他部分。不仅能自动地传播信息,而且可以只传播所需的信息。

DNS的工作原理为:如果一台DNS服务器接收到一个要求获取有关主机信息的请求,它就将该请求发送给一台管理服务器。管理服务器是负责保持查询域的精确信息的任何服务器。当它响应该请求时,本地服务器就将回答信息保存在高速缓存中供将来使用。当下一次本地服务器再接收到该信息的请求时,它本身就回答这个请求。

二、DNS服务器的类型

1、“Cache-Only”的DNS服务器:

一个DNS服务器也不可能拥有国际网络上所有的主机信息,因此它提供一个转送方式,将自己的DNS服务器无法处理的查询要求转送至上一层的DNS服务器查询,然後将所得到的查询结果,传送给提出查询要求的主机。而“Cache-Only” 的“ DNS” 就是该DNS服务器的主机信息里除了自己之外就没有了,它将所有的查询要求都转送至其他DNS服务器去查询。

2、“ Primary” DNS服务器:

一个完整功能的DNS服务器,管理一个或数个“ Domain” (域)的机器信息。而这些主机相关的资料都依照格式储存於服务器的档案目录中,然後会在服务器启动时将这些资料读入系统。

“ Secondary” DNS服务器:

基本上它也是一个完整功能的DNS服务器,只是所不同的是,它的主机资料并非完全储存於服务器所在的档案目录,而由某个“Primary DNS” 来提供。

我们的实验系统将是一个“Primary”的DNS服务器,它一方面提供本地局域网用户的查询,另一方面则将其他的请求做缓存处理。

第二节 DNS的设置

一、应用条件

在Linux上已经带有了DNS软件,我采用的是Internet使用最为广泛的BIND(Berkeley Internet Name Domain Name Server)版本8。

我们的应用条件如下:

1、一个C类网段地址 (172.31.0);

2、域名为 ec.edu,(主域名服务器地址 172.31.0.10,主机名为Linuxserver.ec.edu);

3、局域网通过网关与Internet连接 。

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

named 启动时需要读取几个数据文件,在bind 4下缺省情况下是先/etc/named.boot,所以/etc/named.boot是named的基本配置文件。在bind 8下,缺省情况下先是/etc/named.conf。(请注意red hat 5.1中自带的是bind 4,而red hat 5.2自带的是bind 8,我就是在这上面花费了大量的时间)。

虽然启动named可直接执行named,在Linux上我们可以使用一个控制named的工具ndc。ndc可以用于启动、中止、重启动、刷新DNS数据、输出DNS数据等多种调试功能,我就是用这个工具来帮助DNS服务器的调试。

二、建立named配置文件 /etc/named.boot、etc/named.conf

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

; boot file for name server

directory /var/named

domain ec.edu named.hosts

primary 0.0.127.in-addr.arpa named.local

primary 0.31.0.172.in-addr.arpa named.rev

cache . named.ca

其中以“;”开头的行是注释行,其他各行含义如下:

(1)diretory /var/named :指定named从 /var/named 目录下读取DNS数据文件,这个目录用户可自行指定并创建,指定后所有的DNS数据文件都存放在此目录下;

(2)domain ec.edu named.hosts :指定named作为ec.edu域的主域名服务器,named.hosts文件中包含所有 *.ec.edu形式的域名转换数据;

(3)primary 0.0.127.IN-ADDR.ARPA named.local :指定named作为127.0.0网段地址转换主服务器,named.local文件中包含了127.0.0.*形式的地址到域名的转换数据(127.0.0网段地址是局域网接口的内部 loopback地址);

(4)primary 0.31.0.172.in-addr.arpa named.rev :指定named作为172.31.0网段地址转换主服务器,named.rev文件中包含了所有 172.31.0.*形式的地址到域名的转换数据;

(5)cache . named.ca :指定named从 named.ca 文件中获得Internet的顶层“根”服务器地址 。

(3)、(4)两行中的网段地址是倒写的,另外,各个文件名也是可以自行决定的。

2、 /etc/named.conf是基本的配置文件,不包含任何DNS数据,针对我们前面的设定,建立以下 /etc/named.conf,其内容如下:

// generated by named-bootconf.pl

options {

directory “/var/named”;

// query-source address * port 53;

};

// a caching only nameserver config

zone “.” {

type hint;

file “named.ca”;

};

zone “0.0.127.in-addr.arpa” {

type master;

file “named.local”;

};

//-------------------------------

zone “0.31.172.in-addr.arpa” {

type master;

file “named.rev”;

};

zone “ec.edu” {

type master;

file “named.hosts”;

};

//这些为添加的内容

//-------------------------------

这个文件也可以使用named-bootconf.pl脚本从named.boot转化得到。

三、建立各个DNS数据文件

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

1、建立正向域名转换数据文件named.hosts

根据/etc/named.boot的定义,我们在/var/named目录下建立named.hosts,其中应该包括所有在ec.edu域内的主机节点。但在机器数量较多时,为了调试方便,建议一开始只把几台节点的数据放入文件,待named正常工作后再把其他节点的数据补充进去。下面是named.hosts的例子:

@ IN SOA LinuxServer.ec.edu. root.LinuxServer.ec.edu. (

1999051702 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

MX 10 LinuxServer.ec.edu.

localhost IN A 127.0.0.1

LinuxServer IN A 172.31.0.10

o2 IN A 172.31.0.1

ntsever IN A 172.31.0.110

w100 IN A 172.31.0.100

W101 IN A 172.31.0.101

W102 IN A 172.31.0.102

W103 IN A 172.31.0.103

W104 IN A 172.31.0.104

W105 IN A 172.31.0.105

W106 IN A 172.31.0.106

W107 IN A 172.31.0.107

W108 IN A 172.31.0.108

W109 IN A 172.31.0.109

W111 IN A 172.31.0.111

W112 IN A 172.31.0.112

W113 IN A 172.31.0.113

W114 IN A 172.31.0.114

W115 IN A 172.31.0.115

W116 IN A 172.31.0.116

W117 IN A 172.31.0.117

W118 IN A 172.31.0.118

W119 IN A 172.31.0.119

W120 IN A 172.31.0.120

gateway IN A 172.31.0.200

mail MX 10 Linuxserver.ec.edu.

www CNAME Linuxserver.ec.edu.

ftp CNAME Linuxserver.ec.edu.

其中第一行是SOA记录,定义了域名数据的基本信息,依次是DNS服务器名、DNS 管理员邮件地址(这里的"@"用"."代替),括号内的第一个数字是文件版本号(一般为当天的时间和修改次数组成),每次本文件内容修

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
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- 王朝網路 版權所有