您的位置:首页 > 运维架构 > Linux

DNS for linux 安装配置

2013-10-24 15:00 417 查看
DNS服务的配置是个比较复杂的过程,在这里先介绍服务器的搭建过程,服务搭好之后再详细介绍

一、安装相关软件

[root@localhost bin]# yum install bind bind-chroot bind-utils caching-nameserver  -y

[root@localhost bin]# rpm -qa | egrep bind

bind-utils-9.3.6-4.P1.el5_4.2        #######DNS工具包

bind-9.3.6-4.P1.el5_4.2                 #######DNS软件包  

bind-libs-9.3.6-4.P1.el5_4.2        #######DNS库文件包

ypbind-1.19-12.el5   #######DNS客户端搜寻主机的相关密令包

bind-chroot-9.3.6-4.P1.el5_4.2   ####禁锢DNS主目录

[root@localhost bin]# rpm -qa | egrep caching

caching-nameserver-9.3.6-4.P1.el5_4.2           #####样例包,缓存服务器包

在安装caching-nameserver之后,会生成named.caching-nameserver.conf,这是DNS缓冲配置文件,而named.conf 就是DNS的配置文件。

DNS解析的一般过程就是首先查找缓冲文件,如果缓冲文件没有然后才进行解析。展现一下DNS的树形图,便于对dns配置文件路径的理解。

[root@localhost chroot]# pwd

/var/named/chroot

[root@localhost chroot]# tree

.

|-- dev

|   |-- null

|   |-- random

|   `-- zero

|-- etc

|   |-- localtime

|   |-- named.caching-nameserver.conf

|   |-- named.rfc1912.zones

|   `-- rndc.key

`-- var

    |-- log

    |-- named

    |   |-- data

    |   |-- localdomain.zone

    |   |-- localhost.zone

    |   |-- named.broadcast

    |   |-- named.ca

    |   |-- named.ip6.local

    |   |-- named.local

    |   |-- named.zero

    |   `-- slaves

    |-- run

    |   `-- named

    `-- tmp

二、DNS服务所需文件的配置

1、DNS主配置文件/var/named/chroot/etc/named.conf的修改

这个文件时不存在的,所以我将安装caching-nameserver之后生成named.caching-nameserver.conf 复制成named.conf 

cp  named.caching-nameserver.conf  named.conf, 然后对这个文件进行修改

[root@localhost etc]# cat named.conf





下面的黑色部分就是我自己要设置的域avil.com

2、主配置文件完成后,就开始设置zone文件/var/named/chroot/etc/avil.com.zones

[root@localhost etc]# cp -a named.rfc1912.zones avil.com.zones    ###-a 保证所有的权限一致



3、DNS 区域数据库配置文件/var/named/chroot/var/named/avil.com.zone

[root@localhost named]# pwd

/var/named/chroot/var/named

[root@localhost named]# cp -a localhost.zone avil.com.zone

[root@localhost named]# vi avil.com.zone 



接下来将服务器的DNS改为我的本机

[root@localhost named]# cat /etc/resolv.conf 

nameserver 192.168.254.153

search localdomain

[root@localhost named]# service named restart

停止 named:                                               [确定]

启动 named:                                               [确定]

三、开始测试能否解析



全都解析成功。

########以上就是DNS解析的配置截图#######下面我把自己的配置贴出来#######

四、配置文件的部分介绍

1、主配置文件

[root@localhost etc]# cat /var/named/chroot/etc/named.conf 

options {

        listen-on port 53 { any; };   #DNS服务的端口号53

        listen-on-v6 port 53 { any; };

        directory       "/var/named";  #定义区域数据库配置文件的目录

        dump-file       "/var/named/data/cache_dump.db"; #缓存信息

        statistics-file "/var/named/data/named_stats.txt"; 

        memstatistics-file "/var/named/data/named_mem_stats.txt";  # DNS的一些统计数据

        allow-query     { any; }; #允许查询

        allow-query-cache { any; }; #允许查询缓存

};

logging {

        channel default_debug {

                file "data/named.run";

                severity dynamic;

        };

};

zone "avil.com" IN {

        type master;

        file "avil.com.zone";

        allow-update { none; };

};

zone "254.168.192-addr.arpa" IN {

        type master;

        file "192.168.254.local";

        allow-update { none; };

};

----------------------------------------------------------------------------------

2、 zone配置文件

[root@localhost etc]# cat /var/named/chroot/etc/avil.com.zones 

zone "avil.com" IN {

        type master;

        file "avil.com.zone";

        allow-update { none; };

};

zone "254.168.192.in-addr.arpa"{

        type master;

        file "avil.com.arpa.zone";

        allow-update { none; };

};

-----------------------------------------------------------------------------------

3、DNS区域数据库配置文件

[root@localhost named]# cat /var/named/chroot/var/named/avil.com.zone 

$TTL    86401  #DNS查询放在请求方服务器的有效时间长

@       IN SOA  dns.avil.com. mail.avil.com. ( #@代表zone;  # "."非常重要,带便一个完整地主机名(FQDN)  

                42              ; serial (d. adams) #识别序号

                3H              ; refresh #服务器更新时间

                15M             ; retry #当slave更新失败,多久重新更新一次

                1W              ; expiry #重复多久后就不再尝试更新

                1D )            ; minimum #相当于TTL

@               IN NS           dns.avil.com.   #NS  name  server 的缩写

@               IN MX  10       mail.avil.com. #MX  mail exchange 的简写

dns             IN A            192.168.254.153 # A正向解析的意思  表示主机对应的IP是多少

www             IN A            192.168.254.153

news            IN A            192.168.254.153

itop            IN A            192.168.254.46

mail            IN A            192.168.254.152

                IN AAAA         ::1

######################################################

五、DNS语法检测工具和日志

1、配置文件检查  named-checkconf

[root@localhost named]# named-checkconf -t /var/named/chroot/

[root@localhost named]#    如果没有返回结果证明配置文件语法没有任何问题

2、zone检查 named-checkzone

[root@localhost named]# named-checkzone -t /var/named/chroot/var/named/ avil.com avil.com.zone

zone avil.com/IN: loaded serial 42

OK   正向解析配置文件没问题

[root@localhost named]# named-checkzone -t /var/named/chroot/var/named/ 254.168.192.in-arpa avil.com.arpa.zone

zone 254.168.192.in-arpa/IN: loaded serial 1997022700

OK  反向解析配置文件也没问题

3、日志文件/var/log/messages

tail -f /var/log/messages



###########################################################

六、DNS的负载均衡

如果我的网站访问量非常大,单靠一台服务器或者一个VIP是很可能顶不住的,所以在DNS解析的时候可以给该网站做个负载均衡,举个百度的例子



解析两次得到了不同的IP地址,这是怎么实现的呢?答案很简单:

只要在我们的区域数据库配置文件中再加一条A记录,然后重启服务。

www             IN A            192.168.254.153

www             IN A            192.168.254.46



在这里顺便提一下一个概念,泛域名解析

举个简单的例子,在我想访问我的网页时,不小心把www.avil.com输成了wwww.avil.com或者是wwwwwww.avil.com,这种情况怎么办?

那就用到泛域名解析了,其实无外乎就是再加一条A记录

dns             IN A            192.168.254.153

www             IN A            192.168.254.153

www             IN A            192.168.254.46

news            IN A            192.168.254.153
*                   IN A            192.168.254.46

加了这条A记录后,所有的XXX.avil.com 均可被解析成192.168.254.46.



这点其实国内有些大的网站还没有实现(或许有其它原因),例如



先到这里,后面的实验还在调试,明天继续……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux DNS