主从DNS服务器

来源:互联网 发布:图片标识软件 编辑:程序博客网 时间:2024/06/06 00:42

hosts--> DNS

    hosts:
        数据容易被个人修改出错
        数据容易不一致
        当数据庞大的时候维护麻烦

DNS域名解析体系的特点:
        数据不容易随便让人修改出错
        数据一致
        域名体系采用分层结构

    www.baidu.com. <----FQDN
        cn
        net
        org
        gov
        edu
        bz
        cc
        tv
        la   

linux默认的DNS服务器端软件
bind         服务端软件
bind-chroot    安全软件

    协议:DNS
    端口:udp:53  tcp:53


准备:
    1、本机的主机名必须是FQDN
    2、关闭selinux,iptables
    3、正确的时间(同步时间)
        ntpdate 10.1.1.1
配置文件存放的路径:
bind-chroot之前   
    /var/named  <---数据文件
    /etc/named.conf <---主配置文件
bind-chroot之后
    /var/named/chroot/var/named 
    /var/named/chroot/etc/named.conf


配置过程:
    1、主配置文件named.conf(增加你要管理的域名的定义)
    2、区域文件(域名的数据文件)
    3、重启服务


例子1:正向解析 name-->ip

1、
# vim /var/named/chroot/etc/named.conf


options {
        directory  "/var/named";
};

zone "upl.com" IN {
        type master; #类型: slave,forward,hint
        file "data/master.upl.com.zone";
};

2、
# vim master.upl.com.zone
$TTL 86400
@       IN      SOA     upl.com.        root. (
                                        2010072101
                                        1M
                                        30
                                        1D
                                        1H
                                        )

@       IN      NS      squid.upl.com.
squid   IN      A       10.1.1.21
web     IN      A       10.1.1.20
www     IN      CNAME   web
@       IN      MX 0    mail.upl.com.
mail    IN      CNAME   squid


3、修改文件的属性,保证服务工作正常

chown named:named master.upl.com.zone
chown named:named ../../../etc/named.conf

4、重启服务

service named restart

测试:
shell> vim /etc/resolv.conf
nameserver 10.1.1.21

nslookup www.upl.com

[root@squid data]# nslookup
> set type=mx
> upl.com
Server:         10.1.1.21
Address:        10.1.1.21#53

upl.com mail exchanger = 0 mail.upl.com.


例子2:实现反向解析

# cat named.conf

zone "1.1.10.in-addr.arpa" IN {
        type master;
        file "data/master.1.1.10.in-addr.arpa.zone";
};


# cat var/named/data/master.1.1.10.in-addr.arpa.zone
$TTL 86400
@       IN      SOA     1.1.10.in-addr.arpa.    root. (
                                        2010072101
                                        60
                                        30
                                        1D
                                        1H )

@       IN      NS      squid.upl.com.
20      IN      PTR     web.upl.com.
19      IN      PTR     ftp.upl.com.
21      IN      PTR     squid.upl.com.



nslookup 10.1.1.20



例子3:实现乱叫,达到简单的负载均衡作用


cache   IN      CNAME   web
www     IN      CNAME   cache
web     IN      A       10.1.1.20
web     IN      A       10.1.1.19
web     IN      A       10.1.1.18
web     IN      A       10.1.1.17


例子4:实现泛解析


*       IN      A       10.1.1.1

例子5:实现连续域名的解析

正向连续范围解析:
$GENERATE 60-254 station$       IN      A       10.1.1.$

反向连续范围解析: ?
$GENERATE 60-254 $      IN      PTR     station$.upl.com.

例子6:转发服务器

A、条件转发
第一种:(常见)
options {
        directory  "/var/named";
        forwarders { 10.1.1.1; };
};  《--当主配置文件没有相关区的定义的时候,就转发请求

第二种:
options {
        directory  "/var/named";
};

zone "google.com" IN {
        type forward;
        forwarders { 10.1.1.1; };
};


一般两种结合:
options {
        directory  "/var/named";
        forwarders { 10.1.1.1; };
};

zone "supperdog.net" IN {
        type forward;
        forwarders { 10.1.1.251; };
};



B、完全转发
options {
        directory  "/var/named";
        forwarders { 10.1.1.1; };
        forward only;  <---只是转发查询请求,不去作任何本地域名解析
};





例子7:直接域名解析
upl.com. IN     A       10.1.1.22

nslookup upl.com


例子8:主从DNS配置

1、配置辅助dns

options {
        directory "/var/named";
};

zone "upl.com" IN {
        type slave;
        file "slaves/slave.upl.com.zone";
        masters { 10.1.1.21; };
};

zone "1.1.10.in-addr.arpa" IN {
        type slave;
        file "slaves/slave.1.1.10.in-addr.arpa.zone";
        masters { 10.1.1.21; };
};



验证主从数据的同步
1、修改主服务区域文件,添加新的记录,然后修改版本号,并且重载服务

2、等待一会(刷新时间),验证从服务器是否更新了新的区域文件
tail -f /var/log/messages


限制哪个服务器才能成为从服务器:

zone "upl.com" IN {
        type master;
        file "data/master.upl.com.zone";
        allow-transfer { 10.1.1.20; };  #<--只允许10.1.1.20成为从服务器
};







原创粉丝点击