RedHat Linux下的DNS配置笔记

供学员参考!

原创 未经太多测试 不得抄袭 转载请联系我校

    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

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值