BIND DNS 服务器配置笔记 (zz)

 BIND DNS 服务器配置笔记


#首先我们看看和DNS配置有关的两个配置文件:

[root@redhatlinux9 root]# cat /etc/host.conf
# 查看此文件,它是转换程序控制文件,该文件告诉转换程序使用哪些服务以及按什么顺序进行查询。
order hosts,bind
# 以上是正常标准配置,特殊需要我们可以更改如下(并不是必需):
order  bind hosts #先使用BIND(DNS),再使用HOSTS文件 解析主机名。
multi  off  #hosts文件中所指定的每一台主机只有一个IP地址,反之ON。
nospoof on  #要检查IP地址欺骗。
alert on  #若检查到IP欺骗,将警告信息进行记录。
trim brus.net  #解析器会先把被查找域名中的BRUS.NET去掉,再从/etc/hosts中查找匹配的主机。

[root@redhatlinux9 root]# cat /etc/resolv.conf
# 查看转换程序配置文件,此文件指明使用哪一个DNS服务器,客户端配置必需。
nameserver 61.134.1.9
# 以上是基本配置,本机使用的DNS服务器地址是 61.134.1.9 。

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

#安装和检查BIND域名服务器
[root@redhatlinux9 root]# rpm -qa|grep bind
bind-9.2.1-16
redhat-config-bind-1.9.0-13
bind-utils-9.2.1-16
ypbind-1.11-4

[root@redhatlinux9 RPMS]# rpm -qa|grep name
caching-nameserver-7.2-7

# 以上是检查到BIND在本机的安装情况和得到的信息,如果未安装,按以下步骤:

[root@redhatlinux9 root]# mount /mnt/cdrom/
# 挂载光驱,需要安装光盘第一张。

[root@redhatlinux9 root]# cd /mnt/cdrom/RedHat/RPMS/
# 进入光盘中RPM包所在路径。

[root@redhatlinux9 RPMS]# rpm -ivh bind-9.2.1-16.i386.rpm
[root@redhatlinux9 RPMS]# rpm -ivh bind-utils-9.2.1-16.i386.rpm
[root@redhatlinux9 RPMS]# rpm -ivh redhat-config-bind-1.9.0-13.norach.rpm
# 安装以上三个RPM包。

[root@redhatlinux9 RPMS]# cd; umount /mnt/cdrom/
# 卸载光驱挂载,放入第二张安装光盘。

[root@redhatlinux9 root]# mount /mnt/cdrom/
# 挂载光驱,需要第二张安装光盘。

[root@redhatlinux9 root]# cd /mnt/cdrom/RedHat/RPMS/
# 进入RPM包所在路径。

[root@redhatlinux9 RPMS]# rpm -ivh caching-nameserver-7.2-7.noarch.rpm
# 安装此RPM包。

# 以下启动BIND服务:
[root@redhatlinux9 RPMS]# service named start
# 立即启动BIND服务,成功。

[root@redhatlinux9 RPMS]# pstree|grep named
     |-named
# 检查服务运行,可以看到NAMED服务正在运行。

[root@redhatlinux9 RPMS]# rndc status
number of zones: 4
debug level: 0
xfers running: 0
xfers deferred: 0
soa queries in progress: 0
query logging is OFF
server is up and running
# 以上是查看服务器运行状态的命令和得到的信息。

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

#以下我们可以查看BIND的一些配置文件:

[root@redhatlinux9 RPMS]# cat /etc/named.conf
# 查看主配置文件 /etc/named.conf
// generated by named-bootconf.pl
 
options {
        directory "/var/named"; #服务器配置文件的工作目录。
        /*
         * If there is a firewall between you and nameservers you want
         * to talk to, you might need to uncomment the query-source
         * directive below.  Previous versions of BIND always asked
         * questions using port 53, but BIND 8.1 uses an unprivileged
         * port by default.
         */
        // query-source address * port 53;
};
 
//
// a caching only nameserver config
//
controls {
        inet 127.0.0.1 allow { localhost; } keys { rndckey; };
};    #定义RNDC命令使用的控制通道。
zone "." IN {
        type hint;
        file "named.ca";
};
 
zone "localhost" IN {
        type master;
        file "localhost.zone";
        allow-update { none; };
};    #定义LOCALHOST正向解析区声明。
 
zone "0.0.127.in-addr.arpa" IN {
        type master;
        file "named.local";
        allow-update { none; };
};    #定义LOCALHOST正向解析区声明。
 
include "/etc/rndc.key";
# 以上是BING默认配置文件,是一个唯高速缓存服务器的配置,如只需唯高速缓存服务器,无需修改。


[root@redhatlinux9 RPMS]# grep -v ";" /var/named/named.ca
# 查看根区域指向文件 /var/named/named.ca 。

.                        3600000  IN  NS    A.ROOT-SERVERS.NET.
A.ROOT-SERVERS.NET.      3600000      A     198.41.0.4
.                        3600000      NS    B.ROOT-SERVERS.NET.
B.ROOT-SERVERS.NET.      3600000      A     128.9.0.107
.                        3600000      NS    C.ROOT-SERVERS.NET.
C.ROOT-SERVERS.NET.      3600000      A     192.33.4.12
.                        3600000      NS    D.ROOT-SERVERS.NET.
D.ROOT-SERVERS.NET.      3600000      A     128.8.10.90
.                        3600000      NS    E.ROOT-SERVERS.NET.
E.ROOT-SERVERS.NET.      3600000      A     192.203.230.10
.                        3600000      NS    F.ROOT-SERVERS.NET.
F.ROOT-SERVERS.NET.      3600000      A     192.5.5.241
.                        3600000      NS    G.ROOT-SERVERS.NET.
G.ROOT-SERVERS.NET.      3600000      A     192.112.36.4
.                        3600000      NS    H.ROOT-SERVERS.NET.
H.ROOT-SERVERS.NET.      3600000      A     128.63.2.53
.                        3600000      NS    I.ROOT-SERVERS.NET.
I.ROOT-SERVERS.NET.      3600000      A     192.36.148.17
.                        3600000      NS    J.ROOT-SERVERS.NET.
J.ROOT-SERVERS.NET.      3600000      A     192.58.128.30
.                        3600000      NS    K.ROOT-SERVERS.NET.
K.ROOT-SERVERS.NET.      3600000      A     193.0.14.129
.                        3600000      NS    L.ROOT-SERVERS.NET.
L.ROOT-SERVERS.NET.      3600000      A     198.32.64.12
.                        3600000      NS    M.ROOT-SERVERS.NET.
M.ROOT-SERVERS.NET.      3600000      A     202.12.27.33

# 以上为13个根域服务器指向,可到 ftp.rs.internic.net 下载 /domain/named.boot 文件来更新。

[root@redhatlinux9 RPMS]# cat /var/named/localhost.zone
# 查看本地区域文件(正向解析文件 /var/named/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

[root@redhatlinux9 RPMS]# cat /var/named/named.local
# 查看本地区域文件(反向解析文件 /var/named/localhost.zone)。
$TTL    86400
@       IN      SOA     localhost. root.localhost.  (
                                      1997022700 ; Serial
                                      28800      ; Refresh
                                      14400      ; Retry
                                      3600000    ; Expire
                                      86400 )    ; Minimum
              IN      NS      localhost.
 
1       IN      PTR     localhost.

[root@redhatlinux9 RPMS]# rndc /var/named/named_dump.db
# 也可以导出唯高速缓存服务器运行状况来查看。

#按以往惯例,在这里需要大家掌握的是知道这些配置文件的位置和作用,并不一定所由的文件都需要配置。

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

#下面我们看一下典型的域名服务器配置方法:

#一:配置主域名服务器

[root@redhatlinux9 root]# vi /etc/named.conf
# 编辑主配置文件,并在其中添加区声明,以下我们直接查看配置好的一个例子:

[root@redhatlinux9 root]# tail /etc/named.conf
# 查看一个编辑好的配置文件,大家可以参考这个文件进行配置:

zone  "brus.net" {
        type master;  #指定了MASTER类型,即主域名服务器类型。
        file  "brus.net.zone";
};

zone  "1.168.192.in-addr.arpa" { #如果需要反向解析,可以在这里描述。
        type master;
        file  "1.168.192.in-addr.arpa.zone";
};
     
[root@redhatlinux9 root]# vi /var/named/brus.net.zone
# 编辑创建正向解析配置文件,以下我们直接查看配置好的一个例子:

[root@redhatlinux9 root]# cat /var/named/brus.net.zone
# 查看一个编辑好的配置文件,大家可以参考这个文件进行配置:

$TTL 86400
@       IN      SOA     redhatlinux9.brus.net.  brus.brus.net (
                        2 ; serial
                        28800 ; refresh
                        7200 ; retry
                        604800 ; expire
                        86400 ; ttl
                        )
 
 
        IN      NS      192.168.1.216
 
 
redhatlinux9    IN      A       192.168.1.216
 
www     IN      CNAME   redhatlinux9

[root@redhatlinux9 named]# cat 1.168.192.in-addr.arpa.zone
# 此为反向解析文件的例子,可以参考配置。
 
$TTL 86400
@       IN      SOA     redhatlinux9.brus.net.  brus.brus.net (
                        2 ; serial
                        28800 ; refresh
                        7200 ; retry
                        604800 ; expire
                        86400 ; ttk
                        )
 
 
@       IN      NS      redhatlinux9.brus.net.
 
216     IN      PTR     redhatlinux9.brus.net.

[root@redhatlinux9 root]# service named restart
# 文件配置好之后一定要重新启动服务使其生效。

[root@redhatlinux9 root]# rndc reload
# 或者使用此命令,其作用也使重新加载服务,和 service named restart 的作用一样。

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

#验证DNS

[root@redhatlinux9 named]# cat /etc/resolv.conf
# 检查本机域名服务器指向。
nameserver 192.168.1.216

#一:HOST命令

[root@redhatlinux9 named]# host redhatlinux9.brus.net
# 正向查询主机地址。
redhatlinux9.brus.net has address 192.168.1.216

[root@redhatlinux9 named]# host 192.168.1.216
# 反向查询域名。
216.1.168.192.in-addr.arpa domain name pointer redhatlinux9.brus.net.

[root@redhatlinux9 named]# host -t NS brus.net
brus.net name server 192.168.1.216.brus.net.
[root@redhatlinux9 named]# host -t SOA brus.net
brus.net SOA redhatlinux9.brus.net. brus.brus.net.brus.net. 2 28800 7200 604800
86400
[root@redhatlinux9 named]# host -t MX brus.net
# 查询不同类型的资源记录配置。

[root@redhatlinux9 named]# host -l brus.net.
# 列出整个域信息。
brus.net SOA redhatlinux9.brus.net. brus.brus.net.brus.net. 2 28800 7200 604800
86400
brus.net name server 192.168.1.216.brus.net.
redhatlinux9.brus.net has address 192.168.1.216
www.brus.net is an alias for redhatlinux9.brus.net.
brus.net SOA redhatlinux9.brus.net. brus.brus.net.brus.net. 2 28800 7200 604800
86400

[root@redhatlinux9 named]# host -a redhatlinux9.brus.net
# 列出与一个主机名相关的资源记录的详细信息。
Trying "redhatlinux9.brus.net"
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12828
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0
 
;; QUESTION SECTION:
;redhatlinux9.brus.net.         IN      ANY
 
;; ANSWER SECTION:
redhatlinux9.brus.net.  86400   IN      A       192.168.1.216
 
;; AUTHORITY SECTION:
brus.net.               86400   IN      NS      192.168.1.216.brus.net.
 
Received 83 bytes from 192.168.1.216#53 in 399 ms

#二:NSLOOKUP命令

[root@redhatlinux9 named]# nslookup
Note:  nslookup is deprecated and may be removed from future releases.
Consider using the `dig' or `host' programs instead.  Run nslookup with
the `-sil[ent]' option to prevent this message from appearing.
> redhatlinux9.brus.net  #正向查询主机名。
Server:         192.168.1.216
Address:        192.168.1.216#53
 
Name:   redhatlinux9.brus.net
Address: 192.168.1.216  #反向查询
> 192.168.1.216
Server:         192.168.1.216
Address:        192.168.1.216#53
 
216.1.168.192.in-addr.arpa      name = redhatlinux9.brus.net.
> set all    #显示当前设置的所有数值
Default server: 192.168.1.216
Address: 192.168.1.216#53
 
Set options:
  novc                  nodebug         nod2
  search                recurse
  timeout = 0           retry = 2       port = 53
  querytype = A         class = IN
  srchlist =
> set type=any
> redratlinux9.brus.net
Server:         192.168.1.216
Address:        192.168.1.216#53
 
** server can't find redratlinux9.brus.net: NXDOMAIN
> www.brus.net
Server:         192.168.1.216
Address:        192.168.1.216#53
 
www.brus.net    canonical name = redhatlinux9.brus.net.

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

#配置DNS实现简单负载均衡:

[root@redhatlinux9 named]# vi /var/named/brus.net.zone
# 编辑正向区域文件,添加以下内容「即 多条A记录」。
redhatlinux9    IN      A       192.168.1.216
redhatlinux9    IN      A       192.168.1.217
redhatlinux9    IN      A       192.168.1.218

[root@redhatlinux9 named]# vi /var/named/1.168.192.in-addr.arpa.zone
# 编辑反向查询文件,添加以下内容『即 多条反向记录』。
216     IN      PTR     redhatlinux9.brus.net.
217     IN      PTR     redhatlinux9.brus.net.
218     IN      PTR     redhatlinux9.brus.net.

[root@redhatlinux9 named]# rndc reload
# 重新加载服务以使得配置文件生效。

[root@redhatlinux9 named]# host redhatlinux9.brus.net
redhatlinux9.brus.net has address 192.168.1.217
redhatlinux9.brus.net has address 192.168.1.218
redhatlinux9.brus.net has address 192.168.1.216
[root@redhatlinux9 named]# host redhatlinux9.brus.net
redhatlinux9.brus.net has address 192.168.1.218
redhatlinux9.brus.net has address 192.168.1.216
redhatlinux9.brus.net has address 192.168.1.217
[root@redhatlinux9 named]# host redhatlinux9.brus.net
redhatlinux9.brus.net has address 192.168.1.216
redhatlinux9.brus.net has address 192.168.1.217
redhatlinux9.brus.net has address 192.168.1.218
# 三次结果可以看到查询到不同解析顺序。

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

#配置域名转发。
#虽然域名服务器遇到无法解析的域名会交给根域服务器进行解析,但是会产生比较远的通讯距离,所以可以配置转发器。

[root@redhatlinux9 root]# vi /etc/named.conf
# 编辑主配置文件,添加如下内容:
options (
        forwarder {61.134.1.9; 61.134.1.4; };
);
# 以上内容代表如果域名服务器无法解析时,将请求交由61.134.1.9、61.134.1.4 。

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

#辅助DNS

[root@redhatlinux9 root]# vi /etc/named.conf
# 编辑主配置文件,编辑如下内容:
zone  "brus.net" {
        type slave;  #从类型。
        file  "brus.net.zone";
 masters {192.168.1.216;}; #主DNS的地址。
};

[root@redhatlinux9 root]# vi /etc/resolv.conf
# 编辑此文件,作为从DNS服务器,指明主DNS的地址:
nameserver = 192.168.1.216

你可能感兴趣的:(.net,redhat,UP,SOA,bing)