分享
 
 
 

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

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

第三章 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服务器的主机畔⒗锍俗约褐饩兔挥辛耍械牟檠蠖甲椭疗渌鸇NS服务器去查询。

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 管理员邮件地址(这里的"@"用"."代替),括号内的第一个数字是文件版本号(一般为当天的时间和修改次数组成),每次本文件内容修改后,必须更改此号。其余数字与DNS服务器直接的数据交换有关,在这里我们不需要改动。

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

在此以下是各种域名/地址转换数据,其中A记录是DNS域名到IP地址的记录,是必须有的,以o2.ec.edu为例,在A记录中域ec.edu被省略,只写成o2,named在处理时会根据named.boot中的定义自动加上ec.edu,而其对应IP地址为172.31.0.1。另一种记录是MX记录。MX是邮件地址转换记录,本例中定义了将username@mail.ec.edu的邮件地址转换成username@Linuxserver.ec.edu,即实际上真正的邮件服务器是LinuxServer.ec.edu,它的优先数为10,所以通常邮件首先被发往优先数小的主机support.my.com(有两个以上的mail服务器的情况)。

还有一些是为方便访问者而提供的CNAME记录。CNAME定义了一些主机的别名,如我们要将Linuxserver.ec.edu作为实验系统的www和ftp服务器,所以我们提供了www.ec.edu和ftp.ec.edu作为Linuxserver.ec.edu的别名,用户只需要根据习惯就可以访问系统的www、ftp服务器了,如果将来我们换用别的主机作www和ftp服务器,只需要修改CNAME记录就可,对用户没有影响。在其后的web配置中的虚拟主机设置,我们还将再次使用CNAME记录。

注意:MX和CNAME记录最后的带域名的主机名后必须带一个“.”。

2、建立反向DNS数据文件named.local和named.rev

反向DNS数据文件用来提供根据IP地址查询相应DNS主机名,每个网段分别有一个数据文件。

对于内部网段127.0.0通常只有一个地址,即127.0.0.1 loopback地址,named.local内容如下:

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

1999051602 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

1 IN PTR localhost.

而外部网段的数据文件 named.rev 中包含所有主机 IP 地址到DNS主机名的转换数据。named.rev 内容如下:

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

1999051602 ; serial

36000 ; refresh

8640 ; retry

360000 ; expire

86400 ) ; minim

IN NS LinuxServer.ec.edu.

10 IN PTR LinuxServer.ec.edu.

1 IN PTR o2.ec.edu.

100 IN PTR w100.ec.edu.

101 IN PTR w101.ec.edu.

102 IN PTR w102.ec.edu.

103 IN PTR w103.ec.edu.

104 IN PTR w104.ec.edu.

105 IN PTR w105.ec.edu.

106 IN PTR w106.ec.edu.

107 IN PTR w107.ec.edu.

108 IN PTR w108.ec.edu.

109 IN PTR w109.ec.edu.

[1] [2] 下一页

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