CentOS6.5之Bind服务器基础配置

笛里谁知壮士心,沙头空照征人骨。这篇文章主要讲述CentOS6.5之Bind服务器基础配置相关的知识,希望能为你提供帮助。
一、前言:域名与DNS的概念
1、域名空间
域的名称空间是一个从根开始的树状结构,用.表示根,自根开始,依次为顶级域、二级域、三级域等,下级域名会继承上级域名的名称。顶级域名如:com、edu、gov、edu、org、net、cn。
2、主机的域名(Domain Name)
是一台计算机的完整名称,例如www.sina.com.cn,主机的域名也称FQDN(Full Qualified Domain Name)。
3、主机名(hostname)
主机名是主机域名最前面部分,如www就是一台计算机的主机名。
4、域名解析
域名解析分为正向解析和反向解析,正向解析是将计算机的域名解析为其所对应的IP地址,反向解析则是相反,当已知一台计算机IP地址的情况下,解析出其所对应的域名。正向解析使用最广,我们日常通过域名(我们通俗说的网址)上网,就需要通过正向解析,解析出对应IP地址。相比较,反向解析则用的较少,如邮件服务器域名的反向查询是识别合法邮件服务器的依据之一。
5、DNS服务器
执行域名解析任务的服务器称为DNS服务器,域名空间分层组织,相对应DNS服务器也是分层部署,每一个层次都有相应层次的服务器,下级DNS服务器需向直接上层注册。
6、域名解析的过程

7、域名解析的方式:递归解析、迭代解析
8、区域(zone)
区域是DNS服务器管理域名的基本单位,区域之下包含域名解析所需要的资源记录。一台DNS服务器可以管理一个或多个区域,在Linux中区域内的信息以文件的方式存储,称为区域文件。
根据解析的方向,区域分为正向解析区域与反向解析区域。
9、资源记录(RR)
资源记录是域名解析所包含的信息,这类信息以资源记录的面目出现,具体在一个区域内包含下列几类资源记录。
(1)A记录,主机记录,对应IP地址
NS管理该域名的服务器主机名
SOA管理域名的服务器管理信息(7种信息)
CNAME别名记录
MX邮件交换器
PTR反向解析指针
一、安装bind
1、安装包简介:
bind-9.8.2-0.17.rc1.el6_4.6.i686.rpmDNS的主程序包
bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686.rpm为Bind提供一个伪装的根目录以增强安全性工具
bind-libs-9.8.2-0.17.rc1.el6_4.6.i686.rpm进行域名解析必备的库文件
bind-utils-9.8.2-0.17.rc1.el6_4.6.i686.rpm提供了对DNS服务器的测试工具程序
2、安装
yum -y install bind-chrootyum -y install bind-utils3、检查安装
rpm -qa |grep bindbind-9.8.2-0.17.rc1.el6_4.6.i686
bind-utils-9.8.2-0.17.rc1.el6_4.6.i686
bind-libs-9.8.2-0.17.rc1.el6_4.6.i686
bind-chroot-9.8.2-0.17.rc1.el6_4.6.i686
4、安装了什么文件

rpm -ql bind/etc/named.conf主配置文件
/etc/named.rfc1912.zones
/etc/rc.d/init.d/named启动脚本
/etc/sysconfig/named初始化文本
/var/named很重要的目录
/var/named/dynamic
/var/named/named.ca根DNS服务器信息
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
/var/named/slaves可以用它存放slave DNS服务器区域文件
/var/run/named

rpm -ql bind-chroot为提高bind的安全性,此工具改变bind的根为/var/named/chroot/var/named/chroot/etc/named可将入侵者禁锢在目录/var/named/chroot中
/var/named/chroot/etc/named.conf
/var/named/chroot/var
/var/named/chroot/var/log
/var/named/chroot/var/named

rpm -ql bind-utils可以安装DNS测试工具/usr/bin/dig最好的DNS测试工具
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
二、主配置文件/etc/named.conf

vi /etc/named.conf// named.conf
// See /usr/share/doc/bind*/sample/ for example named configuration files.
options
listen-on port 53127.0.0.1; ; 监听IP v4地址端口
listen-on-v6 port 53::1; ; 监听IP v6地址端口
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";
allow-querylocalhost; ; 允许查询的客户机
recursion yes; 是否允许递归查询
下面几行是DNS服务器安全机制设置
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
;
下面一个区块logging是日志设置
logging
channel default_debug
file "data/named.run"; 日志存放位子
severity dynamic; 日志安全级别
;
;
下面一个区块zone是根DNS设置
zone "." IN
type hint;
file "named.ca"; 根DNS保存文件
;
下面include表示包含文件内容
include "/etc/named.rfc1912.zones";
include "/etc/named.root.key"; 访问根服务器的密钥信息
三、定义区域参数named.rfc1912.zones

vi named.rfc1912.zones// Provided by Red Hat caching-nameserver package
zone "localhost.localdomain" IN
type master;
file "named.localhost";
allow-updatenone; ;
;
zone "localhost" IN
type master;
file "named.localhost";
allow-updatenone; ;
;
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN
type master;
file "named.loopback";
allow-updatenone; ;
;
zone "1.0.0.127.in-addr.arpa" IN
type master;
file "named.loopback";
allow-updatenone; ;
;
zone "0.in-addr.arpa" IN
type master;
file "named.empty";
allow-updatenone; ;
;
四、区域文件

cat named.localhost$TTL 1D
@IN SOA@ rname.invalid. (
0; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NS@
A127.0.0.1
AAAA::1

cat named.loopback$TTL 1D
@IN SOA@ rname.invalid. (
0; serial
1D; refresh
1H; retry
1W; expire
3H ); minimum
NS@
A127.0.0.1
AAAA::1
PTRlocalhost.
配置实例1
配置一台具有转发功能的Caching only DNS服务器
(一)配置网卡、网关、DNS服务器

vi /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0
HWADDR=00:0C:29:9E:3F:D6
TYPE=Ethernet
UUID=75f42fa8-2e4f-462b-a33c-4e343fd8a9ec
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=no
IPADDR=192.168.1.102
NETMASk=255.255.255.0

vi /etc/sysconfig/networkNETWORKING=yes
HOSTNAME=localhost.localdomain
GATEWAY=192.168.1.1

vi /etc/resolv.confnameserver 192.168.1.102//本机就是DNS服务器,即使如此也需要设置
(二)编辑/etc/named.conf配置文件
//
// named.conf
options
listen-on port 53any; ;
listen-on-v6 port 53::1; ;
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";
allow-queryany; ;
recursion yes;
dnssec-enable yes;
dnssec-validation yes;
dnssec-lookaside auto;
/* Path to ISC DLV key */
bindkeys-file "/etc/named.iscdlv.key";
managed-keys-directory "/var/named/dynamic";
forward first; /设置转发
forwarders10.11.11.50; ; /这个地址是我家我家宽带的本地DNS Server
; 在学校测试时,转发没有配置,直接能够实现解析!
logging
channel default_debug
file "data/named.run";
severity dynamic;
;
;
(三)安装nscd软件包
软件包:nscd-2.12-1.132.el6.x86_64.rpm
功能:缓存DNS解析结果等信息
安装:yum –y install nscd
配置文件:/etc/nscd.conf
启动nscd服务:service nscd restart
设置自启动:chkconfig nscd on
查询缓存情况:nscd –g
(四)测试
在其他客户机上测试时需注意:
(1)客户机上要设置正确DNS服务器IP地址
(2)本DNS服务器的iptables以及SELinux要设置正确。
(否则可能不会给除本机之外的客户机提供解析服务)

nslookup

www.sina.com.cn
Server:192.168.1.102
Address:192.168.1.102#53
Non-authoritative answer:(非权威回答)
www.sina.com.cn canonical name = jupiter.sina.com.cn.
jupiter.sina.com.cncanonical name = newssd.sina.com.cn.
Name:newssd.sina.com.cn
Address: 60.215.128.246
配置实例2
建立一个名为test.cc的正向解析区域,该区域包含下列主机:
FQDN名 IP地址 说明
dns1.test.cc 192.168.1.102
w1.test.cc 192.168.1.122
www.test.cc 192.168.1.122
mail.test.cc 192.168.1.190 邮件服务器
并建立反向查询区域,为上表中的mail服务器做反向查询。

(一)编辑/etc/named.conf配置文件
……
zone "test.cc" IN
typemaster;
file"named.test.cc";
;
zone "1.168.192.in-addr.arpa" IN
type master;
file "named.192.168.1";
;
……
(二)编辑正向区域文件 /var/named/named.test.cc
$TTL 1D
@INSOAdns1.test.cc. root.dns1.test.cc. (2017011400 3H 15M 1W 1D)
@INNSdns1.test.cc.
dns1INA192.168.1.102
w1INA192.168.1.122
wwwINCNAMEw1.test.cc.
mailINA192.168.1.190
@INMX1mail.test.cc.
(三)编辑反向区域文件 /var/named/ named.192.168.1
$TTL 1D
@INSOAdns1.test.cc. root.dns1.test.cc. (2017011400 3H 15M 1W 1D)
@INNSdns1.test.cc.
190INPTRmail.test.cc.
(四)测试
使用dig工具测试解析情况
配置实例3
为实例2中的DNS服务器建立slave DNS服务器,这台slave DNS服务器的IP地址是192.168.1.108,FQDN名称为dns2.test.cc。
Master DNS服务器配置:
(一)修改/etc/named.conf
……
zone "test168.cc" IN
typemaster;
file"named.test168.cc";
allow-transfer 192.168.1.108; ;
;
zone "1.168.192.in-addr.arpa" IN
type master;
file "named.192.168.1";
allow-transfer 192.168.1.108; ;
;
……
(二)修改区域文件

vi /var/named/named.test168.cc$TTL 1D
@INSOAdns1.test168.com. root.dns1.test168.cc. (2017011400 3H 15M 1W 1D)
@INNSdns1.test168.cc.
@INNSdns2.test168.cc.
dns1INA192.168.1.102
dns2INA192.168.1.108
w1INA192.168.1.122
wwwINCNAMEw1.test168.cc.
mailINA192.168.1.190
@INMX1mail.test168.cc.

vi /var/named/named.192.168.1$TTL 1D
@INSOAdns1.test168.cc. root.dns1.test168.cc. (2017011400 3H 15M 1W 1D)
@INNSdns1.test168.cc.
@INNSdns2.test168.cc.
190INPTRmail.test168.cc.
slave DNS服务器配置:
只需修改/etc/named.conf
options
listen-on port 53192.168.1.108; ;
……
logging
channel default_debug
file "data/named.run";
severity dynamic;
;
;
zone "test168.cc" IN
typeslave;
file"slaves/named.test168.cc";
masters192.168.1.102; ;
;
zone "1.168.192.in-addr.arpa" IN
type slave;
file "slaves/named.192.168.1";
masters 192.168.1.102; ;
;
配置案例4(本实验没有成功)
在域test.cc之下创建子域sales.test.cc。管理子域的DNS服务器为dns.sales.test.cc,IP地址为192.168.1.110/24。
(一)子域在父域中注册
修改那台master 父域DNS服务器的区域文件。
[root@localhost ~]# vi /var/named/named.test168.cc
$TTL 1D
@INSOAdns1.test168.com. root.dns1.test168.cc. (2017011440 3H 15M 1W 1D)
@INNSdns1.test168.cc.
@INNSdns2.test168.cc.
sales.test168.cc.INNSdns.sales.test168.cc.
dns.sales.test168.cc.INA192.168.1.110
dns1INA192.168.1.102
dns2INA192.168.1.108
w2INA192.168.1.122
wwwINCNAMEw2.test168.cc.
mailINA192.168.1.190
@INMX1mail.test168.cc.
(二)子域DNS服务器配置
1、修改/etc/named.conf
……
zone "sales.test168.cc" IN
typemaster;
file"named.sales.test168.cc";
;
2、建立子域区域文件

vi /var/named/named.sales.test168.cc$TTL 1D
@INSOAdns.sales.test168.cc. root.dns.sales.test168.cc. (2017011400 3H 15M 1W 1D )
@INNSdns.sales.test168.cc.
dnsINA192.168.1.110
dns.test168.cc(DNS服务器自身)

dig +trace www.sina.com.cn; < < > > DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 < < > > +trace www.sina.com.cn
; ; global options: +cmd
.2959INNSi.root-servers.net.
.2959INNSk.root-servers.net.
.2959INNSh.root-servers.net.
.2959INNSa.root-servers.net.
.2959INNSe.root-servers.net.
.2959INNSd.root-servers.net.
.2959INNSl.root-servers.net.
.2959INNSg.root-servers.net.
.2959INNSm.root-servers.net.
.2959INNSc.root-servers.net.
.2959INNSb.root-servers.net.
.2959INNSj.root-servers.net.
.2959INNSf.root-servers.net.
; ; Received 228 bytes from 222.74.1.200#53(222.74.1.200) in 66 ms
cn.172800INNSns.cernet.net.
cn.172800INNSa.dns.cn.
cn.172800INNSc.dns.cn.
cn.172800INNSb.dns.cn.
cn.172800INNSd.dns.cn.
cn.172800INNSe.dns.cn.
; ; Received 296 bytes from 199.7.91.13#53(199.7.91.13) in 297 ms
sina.com.cn.86400INNSns1.sina.com.cn.
sina.com.cn.86400INNSns2.sina.com.cn.
sina.com.cn.86400INNSns3.sina.com.cn.
sina.com.cn.86400INNSns4.sina.com.cn.
; ; Received 185 bytes from 203.119.28.1#53(203.119.28.1) in 65 ms
www.sina.com.cn.3600INCNAMEjupiter.sina.com.cn.
jupiter.sina.com.cn.60INCNAMEhydra.sina.com.cn.
hydra.sina.com.cn.60INA218.30.108.226
sina.com.cn.86400INNSns2.sina.com.cn.
sina.com.cn.86400INNSns3.sina.com.cn.
sina.com.cn.86400INNSns1.sina.com.cn.
sina.com.cn.86400INNSns4.sina.com.cn.
; ; Received 227 bytes from 123.125.29.99#53(123.125.29.99) in 130 ms

rpm -ql bind/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf主配置文件
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/portreserve/named
/etc/rc.d/init.d/named启动脚本
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named初始化文本
/usr/lib/bind
/usr/sbin/arpaname
/usr/sbin/ddns-confgen
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-revoke
/usr/sbin/dnssec-settime
/usr/sbin/dnssec-signzone
/usr/sbin/genrandom
/usr/sbin/isc-hmac-fixup
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/named-journalprint
/usr/sbin/nsec3hash
/usr/sbin/rndc
/usr/sbin/rndc-confgen
/usr/share/doc/bind-9.8.2
/var/log/named.log
/var/named数据库文件存放位置
/var/named/data
/var/named/dynamic
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
/var/named/slaves
/var/run/named

rpm -ql bind-libs/usr/lib/libbind9.so.80
/usr/lib/libbind9.so.80.0.4
/usr/lib/libdns.so.81
/usr/lib/libdns.so.81.4.1
/usr/lib/libisc.so.83
/usr/lib/libisc.so.83.0.3
/usr/lib/libisccc.so.80
/usr/lib/libisccc.so.80.0.0
/usr/lib/libisccfg.so.82
/usr/lib/libisccfg.so.82.0.1
/usr/lib/liblwres.so.80
/usr/lib/liblwres.so.80.0.2

rpm -ql bind-chroot/var/named/chroot
/var/named/chroot/dev
/var/named/chroot/dev/null
/var/named/chroot/dev/random
/var/named/chroot/dev/zero
/var/named/chroot/etc
/var/named/chroot/etc/localtime
/var/named/chroot/etc/named
/var/named/chroot/etc/named.conf
/var/named/chroot/etc/pki
/var/named/chroot/etc/pki/dnssec-keys
/var/named/chroot/usr
/var/named/chroot/usr/lib
/var/named/chroot/usr/lib/bind
/var/named/chroot/var
/var/named/chroot/var/log
/var/named/chroot/var/named
/var/named/chroot/var/run
/var/named/chroot/var/run/named
/var/named/chroot/var/tmp

rpm -ql bind-utils/usr/bin/dig
/usr/bin/host
/usr/bin/nslookup
/usr/bin/nsupdate
DNS相关工具
1、host 查询已经注册的域名与主机
用法:
host -a FQDN [server]查询主机相关信息

host -a www.phy.pku.edu.cn 8.8.8.8Trying "www.phy.pku.edu.cn"
Using domain server:
Name: 8.8.8.8
Address: 8.8.8.8#53
Aliases:
; ; -> > HEADER< < - opcode: QUERY, status: NOERROR, id: 35973
; ; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 0
; ; QUESTION SECTION:
; www.phy.pku.edu.cn.INANY
; ; ANSWER SECTION:
www.phy.pku.edu.cn.3599INCNAMEwwwphy.lb.pku.edu.cn.
Received 60 bytes from 8.8.8.8#53 in 680 ms
2、nslookup查询域名相关信息
用法:
nsllokup

q=ns查询当前DNS信息
q=ns 8.8.8.8
Server:222.74.1.200
Address:222.74.1.200#53
Non-authoritative answer:
Name:q=ns
Address: 218.30.64.199

q=.查询根服务器信息
q=.
【CentOS6.5之Bind服务器基础配置】Server:222.74.1.200
Address:222.74.1.200#53
Non-authoritative answer:
Name:q=
Address: 218.30.64.199

    推荐阅读