config dns on centos6

来源:互联网 发布:java swing 界面美化 编辑:程序博客网 时间:2024/05/21 17:35
DNS的作用是将域名解析成IP地址,达成人用域名机器用ip之转换之人机友好。
下面虚机搭建DNS服务,使test.com与www.test.com两个域名可以解析到eth0地址:192.168.11.12

0
环境
[root@localhost ~]# uname -a
Linux www.test.com.11.168.192.in-addr.arpa 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
[root@localhost ~]# nl /etc/issue
     1  CentOS release 6.5 (Final)
     2  Kernel \r on an \m

1
看装没装
CentOS上有装未装的疑惑,经常有一堆相关的包但其实没有安装相关功能模块
[root@localhost ~]# rpm -qa | grep bind*
rpcbind-0.2.0-11.el6.x86_64
binutils-2.20.51.0.2-5.36.el6.x86_64
libini_config-0.6.1-9.el6.x86_64
libproxy-bin-0.3.0-4.el6_3.x86_64
samba-winbind-3.6.23-12.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
ypbind-1.20.4-30.el6.x86_64
samba-winbind-clients-3.6.23-12.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64
PackageKit-device-rebind-0.5.8-21.el6.x86_64
[root@localhost ~]#
[root@localhost ~]# rpm -qa | grep bind
rpcbind-0.2.0-11.el6.x86_64
samba-winbind-3.6.23-12.el6.x86_64
bind-libs-9.8.2-0.17.rc1.el6_4.6.x86_64
ypbind-1.20.4-30.el6.x86_64
samba-winbind-clients-3.6.23-12.el6.x86_64
bind-utils-9.8.2-0.17.rc1.el6_4.6.x86_64
PackageKit-device-rebind-0.5.8-21.el6.x86_64
[root@localhost ~]#


没有对DNS进行设置的文件/etc/named.conf
[root@localhost ~]# ll /etc/named.conf
[root@localhost ~]#

2
安装dns功能相关包
RHEL6安装bind*就好。RHEL5需要安装cachenameserver
[root@localhost ~]# yum -y install bind
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: mirror.bit.edu.cn
 * extras: mirror.bit.edu.cn
 * updates: mirror.bit.edu.cn
base                                                                                                                                                                    | 3.7 kB     00:00     
extras                                                                                                                                                                  | 3.4 kB     00:00     
updates                                                                                                                                                                 | 3.4 kB     00:00     
updates/primary_db                                                                                                                                                      | 929 kB     00:03     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.30.rc1.el6 will be installed
。。。
Installed:
  bind.x86_64 32:9.8.2-0.30.rc1.el6                                                                                                                                                            

Dependency Updated:
  bind-libs.x86_64 32:9.8.2-0.30.rc1.el6                                                        bind-utils.x86_64 32:9.8.2-0.30.rc1.el6                                                       

Complete!
[root@localhost ~]#

有了
[root@localhost ~]# ll /etc/named.conf
-rw-r-----. 1 root named 1008 Jul 19  2010 /etc/named.conf

3
设置DNS的主配置文件
[root@localhost ~]# vi /etc/named.conf
options {
        listen-on port 53 { 127.0.0.1; }; # 服务监听端口为53
        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-query     { localhost; };       # 允许连接的客户机

改为如下:
options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };

        allow-query     { any; };

4
启动或重启named服务
[root@localhost ~]# /etc/init.d/named status
rndc: neither /etc/rndc.conf nor /etc/rndc.key was found
named is stopped
[root@localhost ~]# /etc/init.d/named start
Generating /etc/rndc.key:                                  [  OK  ]
Starting named:                                            [  OK  ]

5
配置正向解析
[root@localhost ~]# vi /etc/named
named/               named.conf           named.iscdlv.key     named.rfc1912.zones  named.root.key
[root@localhost ~]# vi /etc/named.rfc1912.zones

添加内容
zone "test.com" IN {
        type master;
        file "test.host";
};
指定test.com的解析文件是默认目录下的test.host

6
创建并配置test.host文件
[root@localhost ~]# ll /var/named/
total 28
drwxrwx---. 2 named named 4096 Dec  4 14:32 data
drwxrwx---. 2 named named 4096 Dec  4 14:33 dynamic
-rw-r-----. 1 root  named 2075 Apr 23  2014 named.ca
-rw-r-----. 1 root  named  152 Dec 15  2009 named.empty
-rw-r-----. 1 root  named  152 Jun 21  2007 named.localhost
-rw-r-----. 1 root  named  168 Dec 15  2009 named.loopback
drwxrwx---. 2 named named 4096 Oct 15 21:28 slaves
[root@localhost ~]# cp /var/named/named.localhost /var/named/test.host
[root@localhost ~]# ll /var/named/
total 32
drwxrwx---. 2 named named 4096 Dec  4 14:32 data
drwxrwx---. 2 named named 4096 Dec  4 14:33 dynamic
-rw-r-----. 1 root  named 2075 Apr 23  2014 named.ca
-rw-r-----. 1 root  named  152 Dec 15  2009 named.empty
-rw-r-----. 1 root  named  152 Jun 21  2007 named.localhost
-rw-r-----. 1 root  named  168 Dec 15  2009 named.loopback
drwxrwx---. 2 named named 4096 Oct 15 21:28 slaves
-rw-r-----. 1 root  root   152 Dec  4 14:40 test.host
[root@localhost ~]# chgrp named /var/named/test.host
[root@localhost ~]# ll /var/named/
total 32
drwxrwx---. 2 named named 4096 Dec  4 14:32 data
drwxrwx---. 2 named named 4096 Dec  4 14:33 dynamic
-rw-r-----. 1 root  named 2075 Apr 23  2014 named.ca
-rw-r-----. 1 root  named  152 Dec 15  2009 named.empty
-rw-r-----. 1 root  named  152 Jun 21  2007 named.localhost
-rw-r-----. 1 root  named  168 Dec 15  2009 named.loopback
drwxrwx---. 2 named named 4096 Oct 15 21:28 slaves
-rw-r-----. 1 root  named  152 Dec  4 14:40 test.host
[root@localhost ~]#

[root@localhost ~]# nl /var/named/test.host
     1  $TTL 1D
     2  @       IN SOA  @ rname.invalid. (
     3                                          0       ; serial
     4                                          1D      ; refresh
     5                                          1H      ; retry
     6                                          1W      ; expire
     7                                          3H )    ; minimum
     8          NS      @
     9          A       127.0.0.1
    10          AAAA    ::1
[root@localhost ~]# vi /var/named/test.host
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
www IN  A       192.168.11.12

7
重启named服务
[root@localhost ~]# service named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]


正向解析完

8
配置反向解析
[root@localhost ~]# vi /etc/named
named/               named.conf           named.iscdlv.key     named.rfc1912.zones  named.root.key
[root@localhost ~]# vi /etc/named.rfc1912.zones
增加
zone "11.168.192.in-addr.arpa" IN {
        type master;
        file "ip.test.host";
};
指定192.168.11段反向解析文件是默认目录下的ip.test.host

9
创建并配置ip.test.host
[root@localhost ~]# cp /var/named/named.localhost /var/named/ip.test.host
[root@localhost ~]# vi /var/named/ip.test.host
$TTL 1D
@       IN SOA  @ rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      @
        A       127.0.0.1
        AAAA    ::1
12      IN      PTR     www.test.com

反向解析192.168.11.12


10
重启named服务
[root@localhost ~]# /etc/init.d/named restart
Stopping named: .                                          [  OK  ]
Starting named:                                            [  OK  ]

反向解析完

11
测试正反向解析失败
[root@localhost ~]# nslookup www.test.com
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached

[root@localhost ~]# nslookup 192.168.11.12
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached
失败

12
增加eth0的DNS1
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.11.12

13
重启网络服务
[root@localhost ~]# service network restart
Shutting down interface eth0:  Device state: 3 (disconnected)
                                                           [  OK  ]
Shutting down loopback interface:                          [  OK  ]
Bringing up loopback interface:                            [  OK  ]
Bringing up interface eth0:  Active connection state: activated
Active connection path: /org/freedesktop/NetworkManager/ActiveConnection/11
                                                           [  OK  ]
14
测试正反向解析成功
[root@localhost ~]# nslookup www.test.com
Server:         192.168.11.12
Address:        192.168.11.12#53

Name:   www.test.com
Address: 192.168.11.12

[root@localhost ~]# nslookup 192.168.11.12
Server:         192.168.11.12
Address:        192.168.11.12#53

12.11.168.192.in-addr.arpa      name = www.test.com.11.168.192.in-addr.arpa.

15
在另一台机器192.168.11.xx上 测试正反向解析成功
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DNS1=192.168.11.12
[root@localhost ~]# service network restart

[root@hostalonetest ~]# ping www.test.com
PING www.test.com (192.168.11.12) 56(84) bytes of data.
64 bytes from www.test.com.11.168.192.in-addr.arpa (192.168.11.12): icmp_seq=1 ttl=64 time=0.153 ms
64 bytes from www.test.com.11.168.192.in-addr.arpa (192.168.11.12): icmp_seq=2 ttl=64 time=1.33 ms
64 bytes from www.test.com.11.168.192.in-addr.arpa (192.168.11.12): icmp_seq=10 ttl=64 time=0.560 ms
^C
--- www.test.com ping statistics ---
10 packets transmitted, 10 received, 0% packet loss, time 9642ms
rtt min/avg/max/mdev = 0.153/0.552/1.336/0.321 ms
[root@hostalonetest ~]# ping www.baidu.com
ping: unknown host www.baidu.com

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

在11步中测试失败,也可以

16
修改本机DNS设置:/etc/resolv.conf文件,增加一行 nameserver 192.168.11.12
指定域名服务器的IP和搜索顺序。
[root@localhost ~]# vi /etc/resolv.conf
# Generated by NetworkManager
nameserver 8.8.8.8
nameserver 192.168.11.12
[root@localhost ~]#

17
测试通过
[root@localhost ~]# nslookup www.test.com
Server:         192.168.11.12
Address:        192.168.11.12#53

Name:   www.test.com
Address: 192.168.11.12



下面把相关文件的作用记录一下
/etc/sysconfig/network
/etc/hosts
/etc/hosts.conf
/etc/resolv.conf

/etc/sysconfig/network文件
# 修改本机名/域名(生效需要重启)
      HOSTNAME = test.com

/etc/hosts 文件
    # 修改本机名;实现与网上其他主要计算机的映射,通常当作DNS的备份出现,也就是说,当DNS系统出现问题的时使用Hosts表。
   127.0.0.1           localhost localhost.localdomain         localhost
   192.168.11.12     www.test.com      local
  # 由于每台服务器都会有几个域名与IP的对应关系是永久的, 所以Hosts表中存放的应该是它们。

/etc/hosts.conf  文件
  #实现hosts表与DNS的关系和接口。
   order hosts,bind  # 解析域名的顺序
   multi on  # 允许一台计算机拥有多个IP
 
/etc/resolv.conf  文件
  # 指定域名服务器的IP和搜索顺序。
    # 简化用户输入的主机名,即当用户输入bpg时,使得DNS可以把它成功地解析为test.com。它与domain是互斥的,无论那个出现都用来定义search列表的。
  domain  test.com  bpg    # 定义本地域名。
  search  test.com

  nameserver 192.168.10.1
  # 定义域名服务器的IP,最多三个,建议一般使用两个。

 


-----------------

转载请著明出处:
blog.csdn.net/beiigang
0 0