分享
 
 
 

构建DNS服务器简易指南

王朝厨房·作者佚名  2007-01-02
窄屏简体版  字體: |||超大  

在用TCP/IP协议族架设的网络中,每一个节点都有一个唯一的IP地址,用来作为它们唯一的标志。然而,如果让使用者来记住这些毫无记忆规律的IP地址将是不可想象的。人们就需要一种有记忆规律的字符串来作为唯一标记节点的名字。

然而,虽然符号名对于人来说是极为方便的,但是在计算机上实现却不是那么方便的。为了解决这个需求,应运而生了一个 域名 服务系统 DNS ,它运行在TCP协议之上,负责将字符名-- 域名 转换成实际相对应的IP地址。这个过程就是 域名 解析,负责 域名 解析的机器就叫 域名 服务器 。

1、 域名 解析的方法

1.1 最早的 域名 解析方法

最简单的主机名解析方法是,在一个文件中记录所有主机名及与其对应的IP地址,并保证该文件中主机名的唯一性,通过检索文件中的便可以完成主机名的解析。采用这种最简单的解决方法有其历史原因:

在整个70年代,APRANET只是一个小规模的,由类似的数百台主机组成的团体。于是为了解决主机名解析的问题,将连接到ARPANET上每台主机的名字与对应的地址都保存在HOSTS.TXT文件中。这样每增加一台机器,就必须修改HOSTS.TXT文件一次。随着网络的不断发展,网络中的主机数量爆炸性地增加,这种 域名 解析的方法已经无法适应新的解析需要。

1.2 分布式的 域名 服务器

这种方法,我们已经在基础篇的第六章中有了详细的叙述,在此就不再重复了。在这种分布式的 域名 服务器 体系中,每一台 域名 服务器 ( DNS )负责解析属于自己的这一部分主机的 域名 。

一般说来,如果你所处在公司或组织所拥有的主机并不多,一般是将 域名 的解析工作交给自己的ISP的 域名 服务器 来完成。而如果你所在组织拥有的主机比较多,我们就可以组建自己的 域名 服务器 负责解析你所在组织的主机。

2、 域名 服务器 建立实例

2.1 实例环境

假设我们需要建立一台应用于以下情况的一个企业主 域名 服务器 。

1. 拥有一个C类网段地址,为202.101.55.0

2. 企业 域名 注册为company.com。

3. 域名 服务器 的IP定为202.101.55.55,主机名为dns.company.com。它同时充当Proxy.

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

5. 要解析的 服务器 有:

www.company.com (202.101.55.1) Web 服务器

mail.company.com (202.101.55.2) E-Mail 服务器

2.2 安装前的准备工作

首先要保证在作为系中统有/etc/resolv.conf和/etc/hosts.conf这两个文件。/etc/resolv.conf文件中内容如下所示:

domain compay.com

nameserver 202.101.55.55

其中第一行指出对于任何希望连到它上面的主机应该搜寻的域。而第二行指出了在哪个地址可以找到需要的 域名 服务大。/etc/hosts.conf的内容如下所示:

order hosts,bind

multi on

这里的设置告诉主机名称先在/etc/hosts文件中搜索,然后再查询 域名 服务器 。

2.3 定义文件/etc/named.boot

要使LINUX系统完成 域名 服务器 的功能,则需要运行一个named的服务进程。这个服务进程可以在安装LINUX时选中。

named启动时需要读取一个初始化文件--/etc/named.boot,这个文件是named的基本配置文件。它并不包含任何 DNS 数据,针对前面的假定环境,我们要在这个文件中写入:

diretory /etc/named

primary company.com db.company

primary 0.0.127.IN-ADDR.ARPA db.127.0.0

primary 55.101.202.IN-ADDR.ARPA db.202.101.55

cache . db.cache

下面我们逐行讲解这个文件中的内容:

1) 在第一行中我们指定named从/etc/named目录下读取 DNS 数据文件。这个目录可以自行指定并创建,指定后将所有的 DNS 数据文件均存放在这个目录下;

2) 第二行指定named作为company.com的主 域名 服务器 ,db.company文件中包含了所有*.my.com形式的 域名 的解析数据。

3) 第三行则指定named作为127.0.0网段(本地loopback)地址的转换主 服务器 。其中db.127.0.0文件中包含了所有127.0.0.*形式的地址到 域名 的转换数据。

4) 第四行指定named作为202.101.55网段地址转换主 服务器 ,db.202.101.55文件中包含了所有以202.101.55.*形式的地址到 域名 的转换数据。

5) 最后一行指定named从db.cache文件中获得Internet的顶层"根" 服务器 地址。要说明的是,这些数据文件的名称均是自行决定的

2.4 建立正向 域名 转换数据文件db.company

根据/etc/named.boot文件中的定义,我们在/etc/named目录下建立文件db.company,并且在其中写入所有在company.com域内的主机节点。根据前面假定的环境,可以写入:

@ IN SOA dns.company.com. root.dns.company.com.(

200002011 ;文件版本号

28800 ;刷新时间(秒)

7200 ;重试时间(秒)

3600000 ;终止时间(秒)

86400) ;TTL生存时间(秒)

IN NS dns.company.com

www IN A 202.101.55.1

email IN A 202.101.55.2

proxy IN CNAME

下面我们就逐句地理解这里的配置。

1. SOA是主 服务器 设定文件中一定要设定的命令,我们通常将它放在文件的第一行。

1) 最前面的符号"@"代表目前所管辖的域。

2) 接着的"IN"代表地址类别,这里就是固定使用"IN"的。

3) 接下来就是命令SOA。

4) 接下来填入 域名 服务器 ,记住由于 DNS 数据文件的特殊格式规定,在最后一定要加上"·",在这个例子中,我们填入 域名 服务器 :"dns.company.com."

5) 接下来是 域名 服务器 管理员的E-MAIL地址,但要注意的是,E-Mail地址中的分隔符"@"在这里用"·"来代替,在最后也要加上"。",在这里,我们相应写入:"root.dns.company.com."

6) 接下来在括号内填上各种选项:

文件版本号:当你修改这个文件的内容时,也要修改这个版本序列号。以此来区分是否有更新。

更新时间:指定二级 服务器 向主 服务器 拷贝数据的更新时间周期。

重试时间:指定二级 服务器 在更新出现通信故障时的重试时间。

终止时间:指定二级 服务器 重新执行更新动作后仍然无法完成更新任务而终止更新的时间。

生存时间:指定当 域名 服务器 询问某个 域名 和其IP地址后,在 域名 服务器 上放置的时间。

注:二级 服务器 所设定的 域名 服务器 是主 服务器 的备份主机。

2. 在第二行中,我们用NS命令指定这个域的 域名 服务器 。在这里我们指出这个域的 域名 服务器 是"dns.company.com"。

3. 接下来的两行我们使用A命令来指定 域名 与IP地址的对应关系。我们将Web 服务器 的域www.company.com与其IP地址202.101.55.1对应起来;将E-Mail 服务器 的 域名 mail.company.com与其IP地址202.101.55.2对应起来。

4. 最后一行,我们使用了CNAME命令为dns.company.com指定了另一个 域名 以供使用:proxy.company.com。

2.5 建立反向 域名 转换数据文件db.127.0.0和db.202.101.55

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

1. 网段127.0.0通常只有一个地址,那就是127.0.0.1 loopback地址。所以我们在db.127.0.0中写入的内容是:

@ IN SOA dns.company.com. root.dns.company.com.(

200002011 ;文件版本号

28800 ;刷新时间(秒)

7200 ;重试时间(秒)

3600000 ;终止时间(秒)

86400) ;TTL生存时间(秒)

IN NS dns.company.com

1 IN PTR localhost

前面两名相信读者已经不会陌生,最后一句我们使用PTR命令让配置文件中的主机可以使用IP地址来知道所对应的 域名 。

最前面的1代表127.0.0.1,对应的 域名 就是localhost。

2.网段202.101.55就可能会存在更多的记录,前面假定环境下的设置应是:

@ IN SOA dns.company.com. root.dns.company.com.(

200002011 ;文件版本号

28800 ;刷新时间(秒)

7200 ;重试时间(秒)

3600000 ;终止时间(秒)

86400) ;TTL生存时间(秒)

IN NS dns.company.com

1 IN PTR www

2 IN PTR email

55 IN PTR dns

55 IN PTR proxy

2.6 获得db.cache文件

在LINUX系统中通常在提供了一个named.ca的文件,该文件中Internet的顶层 域名 服务器 ,但是这个文件通常会发生变化,所以建议最好从Internet上下载最新的版本。该文件可以通过匿名FTP从ftp.rs.internic.net/domain下载,文件名是named.boot。将它拷贝一份为db.cache就可以了。

3、测试 域名 服务器

3.1 使用nslookup测试

nslookup命令的功能是查询 域名 服务器 中的数据资料。下例就是使用它来测试 域名 服务器 是否架设成功,其中斜体字代表要输入的内容。

# nslookup

Default server:dns.company.com

Address:202.101.55.55 ;能出现这些信息代表成功

> www

server:dns.company.com

Address:202.101.55.1

3.2 使用ping测试

还有一种更简单的测试方法,那就是用ping命令,如果成功将显示:

# ping www.company.com

Ping www.company.com(202.101.55.1);56 data bytes

64 bytes from 202.101.55.1:icmp_seq=0 ttl=255 time=1.3ms

64 bytes from 202.101.55.1:icmp_seq=1 ttl=255 time=0.6ms

64 bytes from 202.101.55.1:icmp_seq=2 ttl=255 time=0.6ms

……

8.4 小技巧

安装好 域名 服务器 后,在内部使用 域名 进行远程连接时,会发现速度非常慢。其实只要/etc/hosts中加上所有内部的机器的 域名 就可以了。

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