DNS配置-BIND安装配置全过程

一:
DNS配置-BIND安装配置全过程

先从 http://www.isc.org/products/BIND/ 

下载bind,我下载的是bind-9.3.1rc1.tar.gz

我下载的文件放在/root目录下
进入目录解压缩
[root@linux root]#tar xfz bind-9.3.1rc1.tar.gz
进如刚解压出来的目录
[root@linux root]# cd bind-9.3.1rc1
编译配置
[root@linux bind-9.3.1rc1]#./configure --prefix=/usr/local/named --enable-threads #--enable-threads开启多线程处理能力 
[root@linux bind-9.3.1rc1]#make
[root@linux bind-9.3.1rc1]#make install
进入/usr/local/named 建立etc目录
[root@linux bind-9.3.1rc1]#cd /usr/local/named
[root@linux named]# mkdir etc
生成rndc控制命令的key文件
[root@linux named]# sbin/rndc-confgen >; etc/rndc.conf 
从rndc.conf文件中提取named.conf用的key 
root@linux named]# cd etc
[root@linux etc]# tail -10 rndc.conf | head -9 | sed s/#\ //g >; named.conf 
自动在/usr/local/named/etc 生成named,conf文件
建立区文件目录
[root@linux etc]# mkdir /var/named
进入/var/named
[root@linux etc]# cd /var/named
建立localhost.zone文件
[root@linux named]#vi localhost.zone
$TTL    86400
$ORIGIN localhost.
@                       1D IN SOA       @ root (
                                        42              ; serial (d. adams)
                                        3H              ; refresh
                                        15M             ; retry
                                        1W              ; expiry
                                        1D )            ; minimum

                        1D IN NS        @
                        1D IN A         127.0.0.1

建立named.local文件
[root@linux named]#vi named.local
$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      localhost.

1       IN      PTR     localhost.


dig命令直接生成named.root文件
 [root@linux named]#dig >; named.root
建立test.com域名正向解析文件
[root@linux named]#vi test.zone

$ttl    1D
@               IN SOA  test.com.  root.test.com. (

                                       1053891162
                                        3H
                                        15M
                                        1W
                                        1D )

                        IN NS          test.com.
                        IN MX    5    test.com.
www                IN A          220.202.19.82

建立test.com域名反向解析文件
[root@linux named]#vi test.local
$TTL 86400
@ IN SOA test.com. root.test.com.(
20031001;
7200;
3600;
43200;
86400);
@ IN NS test.com.
82 IN PTR dns.test.com.

配置named.conf加如以下代码

[root@linux etc]# vi named.conf 

options { 
directory "/var/named"; #named区文件目录 
pid-file "named.pid"; #进程id文件名 
}; 
controls {
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};
zone "." IN {
        type hint;
        file "named.root";
};

zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};

zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};

zone "test.com" IN {
        type master;
        file "test.zone";
        allow-update { none; };
};


zone "19.202.220.in-addr.arpa" IN {
        type master;
        file "test.local";
        allow-update { none; };
};



现在配置完了可以启动BIND了

/usr/local/named/sbin/named -c /usr/local/named/etc/named.conf &

只要显示
runing表示运行成功
测试dns
[root@linux etc]# host 220202.19.82
89.19.202.220.in-addr.arpa domain name pointer dns.test.com.
如上显示表示dns反向解析正常
[root@linux etc]# ping www.test.com
PING www.test.com (220.202.19.82) 56(84) bytes of data.
如上显示表示正向解析正常
dns配置完成。

二:

首先说第一个文件:/etc/sysconfig/named

这个配置文件的最后一行决定了named (即bind)的其他配置文件的路径及目录。

默认是 /var/named

 

第二个文件是:/var/named/chroot/etc/named.conf

这个文件就是 bind 的主配置文件,有可能band装好后会没有,一会需要手工新建。

 

第三个文件是:/var/named/chroot/etc/rndc.key

该文件保存的是 MD5 的加密密钥,用于给管理员控制管理DNS服务器以及数据同步加密等等...

相当重要,要使用其里头的信息创建 named.conf

 

第四个文件是:*.zone

啥意思? 这个是指针文件,用于存放域名的DNS记录,例如A记录,MX记录,CNAME 记录等。它的位置由 named.conf 里边的参数决定。

 

好,下边就开始说各个配置文件的使用以及创建。

第一个:/etc/sysconfig/named  如果你没有特殊爱好,留着默认好了。
第二个:/var/named/chroot/etc/named.conf  需要手工创建。

首先是要打开第三个文件:/var/named/chroot/etc/rndc.key

把里头的所有内容复制,然后在相同目录下创建 named.conf,并把复制的内容粘贴进去。
然后在插入配置内容,named.conf 完成后例子如下:
路径:/var/named/chroot/etc/named.conf 

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

key "rndckey" {
        algorithm       hmac-md5;
        secret          "m3pD9wpq7QsO7l9ojGdFxxxxxxxxxxxxxxxxxxxq3eNz2tSU97l5uYD";     #
};

options {
        directory       ".";          # DNS指针配置的路径相对于 /var/named/chroot
};

zone "gznow.cn" IN {          # DNS 指针的域名
        type master;                 
        file "master/gznow.zone";     # 指针路径
        allow-update{none;};
};

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

我们这里配的是最基本的 bind 服务,其他复杂的功能例如反向解析,分IP段解析等之类的功能就日后再说。

按照上边的配置把 named.conf 创建后,可以着手创建 *.zone 指针

这里以 gznow.zone 为例

按照 named.conf 中指针路径的配置
在 /etc/named/chroot 下创建文件夹 master
并新建指针配置文件 gznow.zone
路径如:/var/named/chroot/master/gznow.zone

内容:

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

$TTL 3600 ;
@          IN SOA  ns1.gznow.cn. admin.gznow.cn. (
                2003030400 ; Serial
                28800 ; Refresh
                14400 ; Retry
                3600000 ; Expire
                86400 ) ; Minimum

        IN NS           ns1.gznow.cn.
        IN MX           5 mail.gznow.cn.
ns1     IN A            219.136.252.253
ns2     IN A            219.136.252.253

@       IN A            219.136.252.253
*       IN A            219.136.252.253

www     IN A            219.136.252.253
www     IN A            203.114.253.73

mail    IN CNAME        s1.someqone.com.
img     IN CNAME        phlinux.someqone.com.

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

第1行是一个TTL设定,定义区域数据文件里面的各项记录的默认TTL值为3600s
缺少此行不影响使用,但是会出现警告信息。

第2行是一个SOA记录的设定,"@"代表相应的域名,也就是在named.conf中设定的zone
如在这里表示gznow.cn,IN表示后面的数据使用的是Internet标准。
SOA的全称是"Start Of Authority",表示目前区域授权开始。
每一个区域数据文件只能有一个SOA,不能重复,而且必须是所负责的zone中第一个"记录"。
在SOA后面分别指定了这个区域的授权主机名称和管理者的信箱( admin.gznow.cn. )

注意 授权主机名和管理员信箱后面都要有一个".",而且授权主机名称必须能够在DNS设置中找到一个A记录(下面会讲到)。由于"@"在区域数据文件中有其他含义,因此管理员信箱邮件地址中用"."代替"@"符号。

接下来包含在括弧中的5组数字是作为与Slave服务器同步信息而设置的,含义如下。

Serial:表示配置文件的修改版本,格式是年月日加上修改的次数
每次修改这个配置文件时都应该修改这个数字
因为Slave DNS进行信息同步时,会比较这个数值。
如果这个数值比自身的数值大,就进行更新,否则忽略更新。

注意 这个设置很重要,如果在修改区域数据文件后,没有更新该值,那么所做的更改就不会更新到网上的其他DNS服务器。

refresh:用来设定Slave DNS与Master DNS进行同步的间隔时间。

retry:设定Slave DNS在更新失败后,再进行重试的间隔时间。

expiry:设定Slave DNS在与Master DNS同步失败后,多长时间清除对应的记录。

Minimum:这是默认的最小TTL值,如果在前面没有指定TTL值,就以这个为基准。

以上的数字都是以s(秒)为单位的,但也可以用H(小时)、D(天)、W(星期)来作单位。

第8-14行,是对域名解析的具体设置,第1列表示不同的主机域名,但是省略了后面的域信息。
例如"www"其实是www.gznow.cn,"mail"是指mail.gznow.cn。
其他具有相同的含义。"IN"后面的指令含义说明如下。

NS:用来定义这个主机是个域名服务器。

MX:定义了一个邮件交换器。

A指针:定义了一个A记录,即域名到IP的记录。

CNAME:定义了域名的别名。

至此,如果你服务器上开启了 iptables ,记得把 udp 53 端口打开。

 vim /etc/sysconfig/iptables 加入以下这行:

-A RH-Firewall-1-INPUT -m state --state NEW -m udp -p udp --dport 53 -j ACCEPT

然后启动 bind  :service bind start 没有报错即成功!

转载于:https://www.cnblogs.com/shineshqw/articles/1807031.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值