DNS服务器搭建及配置,尚观Day12

 第一、DNS服务器
    1、基本了解
    hosts  ---> DNS

    特点:
        1、是一个分布式的数据库,数据包存在一个域名空间里
        2、解决了数据不一致,避免了名字冲突
        3、有缓存机制,提高了性能和可靠性


    规则:
        1、分层结构,最多127层,每层最多63个字符

    查询方式:递归查询、迭代查询


    软件包:
bind.i386        <---主服务的软件包
bind-chroot.i386    <---安全软件包
bind-libs.i386        <---库文件
bind-utils.i386        <---工具包
bind-devel.i386        <---开发包


    协议:tcp / dup
    端口: 53      使用udp 53端口处理名字查询,使用tcp 53端口数据文件的拷贝



    配置文件的目录:
    
    a、在没有安装bind-chroot之前:
        /etc/named.conf
        /var/named/

    b、安装bind-chroot之后
        /var/named/chroot/etc/named.conf      ---> 把 /var/named/chroot  虚拟成一个 /
        /var/named/chroot/var/named/


    2、配置
开始配置配置之前需要作一些准备:

        a、在hosts 文件写上你的IP和主机名的对应关系
10.1.1.67       mail.upl.com

        b、关闭SeLinux,关闭iptables
        c、同步时间  ntpdate 10.1.1.1
# while :
> do
> ntpdate 10.1.1.1 2> /dev/null >/dev/null
> sleep 30
> done &

技巧,在rc.local写以下代码:
while : ; do ntpdate 10.1.1.1 2> /dev/null >/dev/null; sleep 30; done &


    配置DNS的大致过程:
        1、named.conf
        2、区域文件
        3、重启named服务

实例1:配置正向解析
    
    1、编辑主配置文件 named.conf
格式:
options {
        字段 值;
    字段 值;
};  <-- 注意了,别漏了;




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

zone "upl.com" IN {
        type master;
        file "data/master.upl.com.zone";
};


    2、编写区域文件
$TTL 86400
@       IN      SOA     upl.com.        root.upl.com. (
                                        2009110301  <--版本号,标识区域文件的版本
                                        15M    <----刷新时间,M分钟,可以写成秒,直接数字
                                        10M    <----刷新失败后的重试时间
                                        1D    <----过期时间,从服务器更新数据失败后这个区域文件的记录有效期为1天,1天后不生效了, D代表 天
                                        1H)    <----查无此域名,H 代表小时



@       IN      NS      mail.upl.com.     <---别忘记了最后的“ . ”  
        IN      MX 0    mail.upl.com.
mail    IN      A       10.1.1.67
web     IN      A       10.1.1.20
ftp     IN      A       10.1.1.21
www     IN      CNAME   web

编辑好区域文件,留意一下他的权限
ll /var/named/chroot/var/named/data/master.upl.com.zone
-rw-r--r-- 1 root root 216 11-03 11:40 /var/named/chroot/var/named

需要知道的是,bind软件运行的时候采用的身份named

    3、重启named服务器

    service named restart

    chkconfig --level 35 named on  <---开机自动启动

    4、测试
    vim /etc/named.conf
nameserver 10.1.1.67  <---修改成自己的

    nslookup  web.upl.com


实例2:实现反向解析

    实现IP解析成域名

    1、主配置文件添加以下区:

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


    2、区域文件:

$TTL 86400
@       IN      SOA     1.1.10.in-addr.arpa.        root. (
                                        01
                                        15M
                                        10M
                                        1D
                                        1H)
@       IN      NS      mail.upl.com.  <---别忘记了最后的“ . ”
67      IN      PTR     mail.upl.com.
20      IN      PTR     web.upl.com.
21      IN      PTR     ftp.upl.com.
20      IN      PTR     www.upl.com.

    3、重启named服务

service named restart

    4、测试
首次测试别忘了修改/etc/resolv.conf文件,把DNS服务器指向你搭建的服务器
nslookup 10.1.1.20
nslookup 10.1.1.21

        


实例3:轮叫实现负载均衡
vim /var/named/chroot/var/named/data/master.upl.com.zone

$TTL 86400
@       IN      SOA     upl.com.        root.upl.com. (
                                        2009110301
                                        15M
                                        10M
                                        1D
                                        1H)
@       IN      NS      mail.upl.com.
        IN      MX 0    mail.upl.com.
mail    IN      A       10.1.1.67
web     IN      A       10.1.1.20
ftp     IN      A       10.1.1.21
www     IN      CNAME   web
web     IN      A       10.1.1.30   <---实现轮叫,一个主机名匹配多个IP
web     IN      A       10.1.1.31
web     IN      A       10.1.1.32
web     IN      A       10.1.1.33


实例4:实现直接解析
vim /var/named/chroot/var/named/data/master.upl.com.zone  
    
upl.com. IN     A       10.1.1.67  <---添加一行,别忘记最前面的那个 “ . ”


实例5:实现泛解析

*       IN      A       10.1.1.99

nslookup  kjfksdjflksdjflkdf.upl.com   ---> 10.1.1.99


实例6: 实现连接解析域名

    正向区域文件的设定:

$GENERATE 100-220 station$      IN      A       10.1.1.$



    方向区域文件的设定:

$GENERATE 100-220 $     IN      PTR     station$.upl.com.


[root@mail chroot]# nslookup 10.1.1.220
Server:         10.1.1.67
Address:        10.1.1.67#53

220.1.1.10.in-addr.arpa name = station220.upl.com.



实例7:辅助DNS服务器(从DNS服务器)的配置

    安装一样的软件,准备工作和主服务器一样


    1、配置主配置文件

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

zone "upl.com" IN {
        type slave;
        file "slaves/slave.upl.com.zone";  # 目录定义要注意权限文件,slaves必
                        须是named:named,权限770
        masters { 10.1.1.67; };
};

    2、重启named服务
service named restart


    3、验证
a、 ls  /var/named/chroot/var/named/slaves/slave.upl.com.zone  《--是否下载回来

b、 查看日志文件

tail -30 /var/log/messages

Nov  3 23:36:33 station181 named[4050]: zone upl.com/IN: Transfer started.
Nov  3 23:36:33 station181 named[4050]: transfer of 'upl.com/IN' from 10.1.1.67#53: connected using 10.1.1.92#60547
Nov  3 23:36:33 station181 named[4050]: zone upl.com/IN: transferred serial 2009110301
Nov  3 23:36:33 station181 named[4050]: transfer of 'upl.com/IN' from 10.1.1.67#53: end of transfer

c、修改/etc/resolv.conf文件
nameserver 10.1.1.92  <--执行10.1.1.92  

nslookup web.upl.com  <---测试

Server:         10.1.1.92
Address:        10.1.1.92#53

Name:   web.upl.com
Address: 10.1.1.32
Name:   web.upl.com
Address: 10.1.1.33


如果失败,原因:1、是否能和主服务器通讯正常;
        2、配置文件是否正确;
        3、是否从服务器保存的区域文件路径named用户没有权限写;
        4、查看/var/log/messages文件看报错。


实例7-1:验证主从服务器的数据更新

    1、更新主服务器的区域文件的记录,注意:必须增加版本号(比原来的大)
    vim var/named/data/master.upl.com.zone
    new     IN      A       10.1.1.88  《---添加一条新的记录

    可以把刷新时间改成 1M ,等等好看到效果
    
    2、重启主服务器的服务
    service named restart


    3、验证从服务器是否在指定更新时间内把新版本的区域文件下载回来

    验证方法:
        1、直接删除从服务器上的已经下载回来的区域文件
rm -f /var/named/chroot/var/named/slaves/slave.upl.com.zone
        然后重启 service named restart
        你会发现重新下载

        2、马上再次更新主服务器的区域文件的记录,增加或者删除记录都行,并更新版本号,并重启主服务器的服务
        service named restart

        3、由于新下载的区域文件已经是1M的刷新时间了,我们就监控/var/log/messages文件
tail -f /var/log/messages  <---如果看到有内容更新日志过来就正确了

        稍等1分钟左右,就能看到日志文件有内容输出了,并验证一下区域文件的版本号

shell> head -5 /var/named/chroot/var/named/slaves/slave.upl.com.zone

$ORIGIN .
$TTL 86400      ; 1 day
upl.com                 IN SOA  upl.com. root.upl.com. (
                                2009110303 ; serial   <----留意,版本号已经是最新的
                                60         ; refresh (1 minute)



实例7-2: 限制数据传输的IP:

zone "upl.com" IN {
        type master;
        file "data/master.upl.com.zone";
        allow-transfer { 10.1.1.92; };   <---在主服务器上进行限制,这样就只能10.1.1.92作为你的从服务器
};


        
实例8:转发服务器的配置

    类型:条件转发 和 完全转发

    1、条件转发的配置:但配置文件找不到的区的时候才转发出去,还有就是指定了转发的区也转发出去

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

zone "cluster.com" IN {
        type forward;
        forwarders { 10.1.1.1; };  《---条件转发,只有cluster.com这个区才转发
};

zone "upl.com" IN {   《---没有定义转发,所以自己去管理,自己去解析
        type master;
        file "data/master.upl.com.zone";
        allow-transfer { 10.1.1.92; };
};
    2、完全转发的配置


options {
        directory "/var/named";
        forwarders { 10.1.1.1; };
        forward only ;
};


实例9:定义根域

    根域地址列表获取命令:
dig @a.root-servers.net. ns > /var/named/chroot/var/named/named.ca
[root@mail chroot]# chown named:named /var/named/chroot/var/named/named.ca
[root@mail chroot]# chmod 770 !$

options {
        directory "/var/named";
        forwarders {10.1.1.1;};
        forward only;
};

zone "." IN {
        type hint;
        file "named.ca";
};

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值