- 论坛徽章:
- 0
|
DNS服务器
dns对网管来说不仅要会玩.更要玩精,dns域名服务系统,也有的翻译成domain name server,域名解析服务,由于dns服务器分布很广,注定了它是一个公布式数据库管理系统,小到我们上的网,大到国际的.其中早上dns服务器是靠NIS维护的,仅是依靠hosts文件来管理dns,但是随着网管的不断增多,使其越来越庞大,传统的已不能使用了.现在的dns是靠一个根域名主机管理.下面分跟.edu.com.cn....等的dns域名.而如.edu这样的域会管理以.edu结尾的网站.这样就解决了传统上的问题.比如我们上的网.我的是厦门的我不知道它是哪个一域.不过却能解析全部的域名.这是怎么回事呢?首先,我们假定我们要让它解析的是
www.cublog.cn
,如果它就是管理.cn的域的话很快就有回应,而它不是呢,要是其它的呢?这谁都不知道,这样,它发现不是自己管辖范围内的,它自己又不知道在哪儿,但是它知道主域名在哪,这样它会把主域的地址发给我们,我们接着把请求发向主域名服务器,而主域也不知道我们请求的
www.cnblog.cn
在哪儿,因为它只管理它下面.edu.com.cn类的子域服务器.但是它知道它后面是以.cn结尾的.它又.cn的域服务器地址发给我们.这样我们就可以发请求给.cn的服务器了.而.cn就是专门管理以它结尾的域名的,很好就找到了,!至此,解析完成!
有必要讲一下DNS使用时遇到的一些专业术语,DNS服务器就是提供域名服务的主机,DNS客户机,是需要查询主机域名的主机,任何联网的主机都是客户机,正向解析指的是根据域名解析IP地址,反向解析是根据IP地址解析它的域名!
下面就开始安装bind 下载的地址是;www.isc.org.
编译需要指定配置文件的路径把它设定为/etc/
示范:./configure -sysconfdir=/etc
下面make ;make install
完成后我们还需要自己手工编辑配置文件,这不像我们使用的raid,呵呵..扯远了,开工!
首先我们配置一个主的配置文件,在/etc/名字为named.conf ,其中在此文件加内容的格式有一些讲究,稍有不慎,就会失败,所以切记小心!
/etc/named.conf 的示范:
options { directory "/var/named";}; #首先用options定义一个总的全局属性,dir*指定的是bind的工作目录,在/etc/named.conf是配置文件,不要搞混了,默认都是这个目录下的,
zone "." {
type hint;
file "named.ca";
};
其中的zone"."是指定的是根域名服务器,文件名为named.ca,由于没有指定工作目录,所以默认在/var/named下,需要注意的是每一行都有";"结尾,而且括号要有空格.
我们现在是在bind的配置文件里建的是根服务器,我们看一下工作目录里是否存在根服务所需的文件named.ca呢?是不存在的,只能新建named.ca,在这个文件里我们需要保存根域服务器的地址,但是我们不知道根服务器在哪,那我们就查看我们现在的dns服务器是什么?这个可以询问当地的服务提供商或是上询其它的机构,产生named.ca文件只需二步;
示范:1 查看你的/etc/resolv.conf里是否正准的保存了你的dns服务器,不准就改;
2 dig -t NS . > /var/named/named.ca
有必要说一下第二步,其中的是dig是调试工具,放在/usr/local/bin下,-t是表示参数,NS就是name srever了 "."表示是根域名服务器,整个命令就是把用dig查询为根域名的服务器的地址导入到/var/named/named.ca里,不难理解吧!
接下来,我们把地址改成自己的主机127.0.0.1,这样我们就配置好了根域名服务器,我们用自己的机子来解析互联网,酷,因为我们的电脑能找到根,但是现在应用时还会遇到错误,启动服务只需要在终端那儿输入named , 查看日志是在/var/log/messages,虽然是运行了,但是在用host查询主机时还会遇到错误,比如超时,那怎么办呢?这个问题就是我们接下来讲的rndc控制bind服务器,产生rndc控制文件;
step1; rndc-confgen > /etc/rndc.conf
step2; tail +13 /etc/rndc.conf >> /etc/named.conf
step3; 把/etc/named.conf里的#号拿去.
接下来就是再次启动named服务器,查看/var/log/message,由于刚才我们开启过一次, 所以我们需要杀死刚才的进程,然后用host查询一个网址试一下;
第二小节.配置本机的localhost域.
上面所讲的我们能用自己的主机来解析上网,可用一下host localhost试一下,?localhost存在于/etc/hosts文件里,这里.我们在/etc/named.conf新增一条记录,如下:
zone "localhost" {
type master;
file "named.local";
};
zone 指的是新增的域名,注意分号,type指的是不需要别的主机,自己当主服务器,file指的是localhost域的配置文件的名字,,这里配置和上面的是关联!
下面配置named.local;
[root@server root]# cd /var/named/
[root@server named]# vi named.local
[root@server named]# more named.local
@ 1D IN SOA localhost. root (
2006062701
1H
15M
1W
1D )
IN NS @
IN A 127.0.0.1
第一行中的"@"指的是在/etc/named.conf中zone指定的"localhost",这里@为一个变量符号,1D指定的是一天,IN说的是什么类型,这里是互联网类型, SOA表示区文件下指定的是是域名服务器啊还是ip呢? localhost.指的是不前域的域名,后面加一个"."表示写结束了,否则不加点说明还会有,写这个文件一定要小心小心,不当心就会出错,root (表示的是如果此域名出错的话.给谁联系?这里没加点".",完整的写法就是
[email=root@localhost]root@localhost.[/email]
但是前面有一个@符号,所以用"."替换,变成了"root.localhost."但域名可以省略,省略后就不能加点,所以就变成了"root",明白???root后面一个小括号,注意的它和root间有一个空格,哈哈,,
依次指的是管理信息,2006062701
多少时间刷新一次,更新记录呢? 1H
向其它主机发送请求的时间间隔,15M
服务器重试的过期时间,1W
生存期限;1D 空格加),
下面就是这个域名服务器的配置内容了.
完整的写法是localhost. IN NS localhost. #注意写完要用"."收尾
同样的localhost,但意义不同,
localhost. IN A 127.0.0.1
我翻译一下上面的二名话的意思,
localhost域的域名服务器是localhost,
localhost域的ip地址是127.0.0.1
从上面可知道@代表的是localhost.所以我们把上面的locahost.全换成@
@ IN NS @
@ IN A 127.0.0.1
再看第一行.由于出现了这个@符号,所以这个可省略不写!我只说第一行.
IN NS @
IN A 127.0.0.1
不知道有没有看懂??我再用图表示一下吧/!
原始形象
@ 1D IN SOA localhost.
[email=root@localhost]root@localhost[/email]
. (
2006062701
1H
15M
1W
1D )
localhost. IN NS localhost.
localhost. IN A 127.0.0.1
||
||
\ \||/ /
\ \ / /
\\//
@ 1D IN SOA localhost.
[email=root@localhost]root.localhost[/email]
. (
2006062701
1H
15M
1W
1D )
localhost. IN NS localhost.
localhost. IN A 127.0.0.1 ||
||
\ \||/ /
\ \ / /
\\//
@ 1D IN SOA localhost. root (
2006062701
1H
15M
1W
1D )
localhost. IN NS localhost.
localhost. IN A 127.0.0.1 ||
||
\ \||/ /
\ \ / /
\\//
@ 1D IN SOA localhost. root (
2006062701
1H
15M
1W
1D )
@ IN NS @
@ IN A 127.0.0.1 ||
||
\ \||/ /
\ \ / /
\\//
@ 1D IN SOA localhost. root (
2006062701
1H
15M
1W
1D )
IN NS @
IN A 127.0.0.1
大致就这样了,,配置完后,重新启动一下rndc.
示范:rndc reload
下面再试一下.host localhost
或是用dig localhost.
第三节..增加一个正向区
就是把名字换成ip地址.理解这点需要你明白一下,你要管理一个域的时候,域的下面还会有很多的分类,如要管理
linfeng.com
这个域,它下面会有
www.linfeng.com
.还会有
ftp.linfeng.com; mail.linfeng.com
等等...
如果服务器够好,那就不用配置这个了,但是这样的服务器还没见过呢,所以每一台主机都承担一样的任务会比较好, 比如.192.168.1.102当web服务,192.168.1.103配置较好.我让他充当ftp和mail,它们都是这个域的成员,
步骤:
一. 加域名vi /etc/named.conf
zone "linfeng.com" {
type master;
file "named.web";
};
二.编辑配置文件; 我们可以把刚才配置好的localhost域的文件复制过来.相当于一个模版了.cp /var/named/named.local /var/named/named.web
vi /var/named/named.web
@ 1D IN SOA linfeng.com. root (
2004081201
1H
15M
1W
1D )
IN NS @
IN A 192.168.1.101
IN MX 10 mail
www IN A 192.168.1.111
mail IN A 192.168.1.100
news IN CNAME www
修改成这个模样就行了,!相信大意你能看的懂了,,有必要说一下下面几行的意思.
IN MX 10 mail 指的是邮局交换所使用的A记录,下面在mail里给了指定.
www IN A 192.168.1.111 指的是
www.linfeng.com
的A记录也就是ip地址了
news IN CNAME WWW 这个指的是别名!!
三步:#rndc reload
host -t NS linfeng.com
host -t A linfeng.com
host -t A
www.linfeng.com
host -t A news.linfeng.com
四步.出现错误就在/var/log/messages查看,
第四节...建立127.0.0的反向区.
有正就有反,反向区的寓意和正向刚好相反,注意的是区文件名要反过来写,还有必须带特殊的后缀,在下面配置过程中会有提到!
一.在/etc/named.conf中追加如下内容.!
zone "0.0.127.in-addr.arpa" {
type master;
file "127.0.0.zone"
};
还是一个主域,分区标题一定要反过来写.还需要带有"in-addr.arpa",
二:在/var/named/下新建一个名为127.0.0.zone并编辑.内容如下;
$TTL 1D
@ IN SOA @ root.localhost. (
2006062801
1H
15M
1W
1D )
IN NS localhost.
1 IN PTR localhost.
第一行中的"@"表示的是什么??,知道这个就懂得root后面会什么跟了个localhost. @域的ns是localhost.注意把ip要写在前面.
最后一行和"1.0.0.127.in-addr.arpa. IN PRT localhost."等价!
三步就是测试!
如果上面记的很牵.下面所讲的建立局域网的反方区,相信不难!
该讲的都讲了,我只写过程!不多作讲解!
第五节.建立局域网的反向区
第一步;纺辑/etc/named.conf.写入如下内容;
zone "1.168.192.in-addr.apra" {
type master;
file "192.168.1.zone";
};
第二步,在/var/named/建立名为192.168.1.zone并写入如下内容;
@ IN SOA linfeng.com. root.linfeng.com. (
2006062801
1H
15M
1W
1D )
IN NS localhost.
1 IN PTR
www.linfeng.com
.
2 IN PTR
ftp.linfeng.com
.
3 IN PTR mail.linfeng.com.
保存后进行测试;
第六节.子域的授权.这个还需要另一名主机做测试的!
大意就是你在linfeng.com再做一个域.这里以.domain.lineng.com为例.隶属于linfeng.com这个域的,所说的子域授权就是在主域里加一个domain.linfeng.com的ns记录,这样,一旦有访问子域就会把结果传给主域,!
步骤:
需要在主域那儿也即是我们配置的linfeng.com.zone里加二句;
domain IN NS ns.domain
ns.domain IN NS 192.168.1.102
主域的工作我们是做完了.下面就是要配置子域了.这里指写的是需要在子域那儿配置好domain.linfeng.com的分区操作,如建一个
www.domain.linfeng.com,mail.domain.linfeng.com,ftp.domain.linfeng.com
,,,,等,
在子域那儿编辑domain.linfeng.com.zone,.配置情况和主域的linfeng.com雷同,记的在子域里/etc/named.conf要有你的domain.linfeng.com.zone文件
这里仅写子域配置文件/var/named/domain.linfeng.com.zoen的第一行,
@ IN SOA domain.linfeng.com. root.domain.linfeng.com
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/18861/showart_130271.html |
|