构建DNS服务器简易指南
核心提示:在用TCP/IP协议族架设的网络中,每1个节点都有1个唯1的IP地址,用来作为它们唯1的标志。
在用TCP/IP协议族架设的网络中,每1个节点都有1个唯1的IP地址,用来作为它们唯1的标志。但是,假设让使用者来记住这些毫无记忆规律的IP地址将是不可想象的。人们就需要1种有记忆规律的字符串来作为唯1标记节点的名字。
但是,固然符号名对人来讲是极其方便的,但是在计算机上实现却不是那末方便的。为了解决这个需求,应运而生了1个域名服务系统 DNS ,它运行在TCP协议之上,负责将字符名--域名转换成实际相对应的IP地址。这个进程就是域名解析,负责域名解析的机器就叫域名服务器。
1、域名解析的方法
1.1 最早的域名解析方法
最简单的主机名解析方法是,在1个文件中记录所有主机名及与其对应的IP地址,并保证该文件中主机名的唯1性,通过检索文件中的即可以完成主机名的解析。采取这类最简单的解决方法有其历史缘由:
在全部70年代,APRANET只是1个小范围的,由类似的数百台主机组成的团体。因而为了解决主机名解析的题目,将连接到ARPANET上每台主机的名字与对应的地址都保存在HOSTS.TXT文件中。这样每增加1台机器,就必须修改HOSTS.TXT文件1次。随着网络的不断发展,网络中的主机数目爆炸性地增加,这类域名解析的方法已没法适应新的解析需要。
1.2 散布式的域名服务器
这类方法,我们已在基础篇的第6章中有了具体的叙述,在此就不再重复了。在这类散布式的域名服务器 体系中,每1台域名服务器 ( DNS )负责解析属于自己的这1部份主机的域名。
1般说来,假设你所处在公司或组织所具有的主机并未几,1般是将域名的解析工作交给自己的ISP的域名服务器 来完成。而假设你所在组织具有的主机比较多,我们便可以够组建自己的域名服务器 负责解析你所在组织的主机。
2、域名服务器建立实例
2.1 实例环境
假定我们需要建立1台利用于以下情况的1个企业主域名服务器。
(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
其中第1行指出对任何希看连到它上面的主机应当搜索的域。而第2行指出了在哪个地址可以找到需要的域名服务大。/etc/hosts.conf的内容以下所示:
order hosts,bind
multi on
这里的设置告知主机名称先在/etc/hosts文件中搜索,然后再查询域名服务器。
2.3 定义文件/etc/named.boot
要使LINUX系统完成域名服务器 的功能,则需要运行1个named的服务进程。这个服务进程可以在安装LINUX时选中。
named启动时需要读取1个初始化文件--/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) 在第1行中我们指定named从/etc/named目录下读取 DNS 数据文件。这个目录可以自行指定并创建,指定后将所有的 DNS 数据文件均寄存在这个目录下;
2) 第2行指定named作为company.com的主域名服务器 ,db.company文件中包括了所有*.my.com情势的域名的解析数据。
3) 第3行则指定named作为127.0.0网段(本地loopback)地址的转换主 服务器 。其中db.127.0.0文件中包括了所有127.0.0.*情势的地址到域名的转换数据。
4) 第4行指定named作为202.101.55网段地址转换主 服务器 ,db.202.101.55文件中包括了所有以202.101.55.*情势的地址到域名的转换数据。
5) 最后1行指定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定要设定的命令,我们通常将它放在文件的第1行。
1) 最前面的符号"@"代表目前所管辖的域。
2) 接着的"IN"代表地址种别,这里就是固定使用"IN"的。
3) 接下来就是命令SOA。
4) 接下来填进域名服务器 ,记住由于 DNS 数据文件的特殊格式规定,在最后1定要加上"·",在这个例子中,我们填进域名服务器 :"dns.company.com."
5) 接下来是域名服务器 治理员的E-MAIL地址,但要留意的是,E-Mail地址中的分隔符"@"在这里用"·"来代替,在最后也要加上"。",在这里,我们相应写进:"root.dns.company.com."
6) 接下来在括号内填上各种选项:
文件版本号:当你修改这个文件的内容时,也要修改这个版本序列号。以此来辨别是否是有更新。
更新时间:指定2级 服务器 向主 服务器 拷贝数据的更新时间周期。
重试时间:指定2级 服务器 在更新出现通讯故障时的重试时间。
终止时间:指定2级 服务器 重新履行更新动作后依然没法完成更新任务而终止更新的时间。
生存时间:指定当域名服务器 询问某个域名和其IP地址后,在域名服务器 上放置的时间。
注:2级服务器所设定的域名服务器是主服务器的备份主机。
2、在第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、最后1行,我们使用了CNAME命令为dns.company.com指定了另1个域名以供使用:proxy.company.com。
2.5 建立反向域名转换数据文件db.127.0.0和db.202.101.55
反向域名转换数据文件用来提供IP地址查询相应的DNS主机名,每个网段分别有1个数据文件。
1、网段127.0.0通常只有1个地址,那就是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 |
前面两名相信读者已不会陌生,最后1句我们使用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系统中通常在提供了1个named.ca的文件,该文件中Internet的顶层域名服务器 ,但是这个文件通常会产生变化,所以建议最好从Internet上下载最新的版本。该文件可以通过匿名FTP从ftp.rs.internic.net/domain下载,文件名是named.boot。将它拷贝1份为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测试
还有1种更简单的测试方法,那就是用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中加上所有内部的机器的域名便可以够了。
唐山网站建设www.fw8.netTAG:域名,服务器,地址,文件,时间
评论加载中...
|