Linux下的DNS服务器配置实践(一)

【实验说明】

目的:在Linux上安装bind,配置正向解析与方向解析,实现基本的域名解析服务。

实验拓扑:

【配置过程】

1、安装bind;

[[email protected] ~]# yum install bind -y
Loaded plugins: fastestmirror, refresh-packagekit, security
-----略-----                                                                               Complete!

2、修改主配置文件;

[[email protected] ~]#vim /etc/named.conf
// named.conf
//
// Provided by Red Hat bind package to configure the ISC BIND named(8) DNS
// server as a caching only nameserver (as a localhost DNS resolver only).
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//  
#“//”表示该行为注释信息,如果不想启用某选项在其行首加上//即可;
options {
     // listen-on port 53 { 127.0.0.1; };  #指定在那个地址上的多少号端口监听;
     //   listen-on-v6 port 53 { ::1; }; #监听在所有主机上的53号端口上;
        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; }; #定义允许查询的主机;
        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";
};

logging {                        #日志信息;
        channel default_debug {
                file "data/named.run";
                severity dynamic;
        };
};

zone "." IN {      #根域的定义;
        type hint;
        file "named.ca";
};
include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";
#-----至此,如果不做其他修改,启动DNS服务,此服务器便是一台缓存DNS服务器!-------
[[email protected] ~]# vim /etc/named.rfc1912.zones #通过修改此配置文件,配置正向反向解析区域;

#---略---
zone "test.com" IN {  #定义“test.com”的正向解析区域;
        type master;  #定义服务器的类型为主服务器;
        file "test.com.zone" #指定正向解析区域文件;
};
zone "0.168.192.in-addr.arpa" IN {  #定义“test.com”的反向解析区域;
       type master;
       file "192.168.0.arpa";
};
[[email protected] named]# named-checkconf /etc/named.conf #检验配置文件是否有语法错误;
[[email protected] named]#

3、为每一个区域提供解析库;

[[email protected] named]# vim  /var/named/test.com.zone #配置正向解析库;
$TTL 86400 #默认ttl值;
@   IN    SOA    ns.test.com. admin.test.com. (
               2015051105 ;#解析库的版本号,例如2015051106 ,这个序列号的作用是当辅域名服务
               器来复制这个文件的时候,如果号码增加了就复制;
               2H ;#周期性同步的时间间隔
               10M ;#重试的时间间隔,当辅域名服务试图在主服务器上查询更新时,而连接失败了,
               辅域名服务器每隔多久访问主域名服务器;
               7D;#过期时长;
               1D ) ;#否定答案的统一缓存时长;
    IN   NS  ns.test.com. #定义域名服务器;
    IN   MX 10 mail.test.com. #邮件服务器;
www  IN A 192.168.0.120 
mail IN A 192.168.0.121
ns   IN   A   192.168.0.111
pop3  IN CNAME  mail.test.com.#邮件服务器的别名;
[[email protected] named]# named-checkzone "test.com" ./test.com.zone #检查解析库是否有错误;
zone test.com/IN: loaded serial 2015051105
OK  
[[email protected] named]# vim  /var/named/192.168.0.arpa  #配置反向解析库;
$TTL 86400
@   IN    SOA    ns.test.com. admin.test.com. (
               2015051105
               2H
               10M
               7D
               1D )
    IN   NS  ns.test.com. 
120 IN  PTR www.test.com.
121 IN  PTR mail.test.com.
111 IN  PTR  ns.test.com.      
[[email protected] named]# named-checkzone "0.168.192.in-addr.arpa" ./192.168.0.arpa  #检查解析库是否有错误;
zone 0.168.192.in-addr.arpa/IN: loaded serial 2015051105
OK   
[[email protected] named]# service named start #启动DNS服务;
Starting named:                                            [  OK  ]   
#——至此基本的DNS服务配置完成——————

【测试结果】

[[email protected] named]# host -t NS test.com 192.168.0.111 #通过0.111这个服务器解析test.com的域名主机;
Using domain server:
Name: 192.168.0.111
Address: 192.168.0.111#53
Aliases: 

test.com name server ns.test.com. #OK,域名主机就是ns.test.com.;
[[email protected] named]# host -t MX test.com 192.168.0.111
Using domain server:
Name: 192.168.0.111
Address: 192.168.0.111#53
Aliases: 

test.com mail is handled by 10 mail.test.com.  #OK,邮件服务器就是mail.test.com.;
[[email protected] named]# host -t A www.test.com 192.168.0.111
Using domain server:
Name: 192.168.0.111
Address: 192.168.0.111#53
Aliases: 

www.test.com has address 192.168.0.120 #解析成功;
[[email protected] named]# host -t A mail.test.com 192.168.0.111
Using domain server:
Name: 192.168.0.111
Address: 192.168.0.111#53
Aliases: 

mail.test.com has address 192.168.0.121

[[email protected] named]# dig -t A www.test.com @192.168.0.111

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -t A www.test.com @192.168.0.111
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 13687
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION: #查询的问题;
;www.test.com.			IN	A

;; ANSWER SECTION: #查询的结果;
www.test.com.		86400	IN	A	192.168.0.120

;; AUTHORITY SECTION: #权威回答的来源;
test.com.		86400	IN	NS	ns.test.com.

;; ADDITIONAL SECTION: #权威回答的来源的补充说明;
ns.test.com.		86400	IN	A	192.168.0.111

;; Query time: 1 msec
;; SERVER: 192.168.0.111#53(192.168.0.111)
;; WHEN: Fri May 15 06:21:21 2015
;; MSG SIZE  rcvd: 79

[[email protected] named]# dig -x  192.168.0.120 @192.168.0.111 

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.17.rc1.el6_4.6 <<>> -x 192.168.0.120 @192.168.0.111
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 27168
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1

;; QUESTION SECTION:
;120.0.168.192.in-addr.arpa.	IN	PTR

;; ANSWER SECTION:
120.0.168.192.in-addr.arpa. 86400 IN	PTR	www.test.com.

;; AUTHORITY SECTION:
0.168.192.in-addr.arpa.	86400	IN	NS	ns.test.com.

;; ADDITIONAL SECTION:
ns.test.com.		86400	IN	A	192.168.0.111

;; Query time: 8 msec
;; SERVER: 192.168.0.111#53(192.168.0.111)
;; WHEN: Fri May 15 06:22:25 2015
;; MSG SIZE  rcvd: 103

客户端测试工具:

1、host -t RRType NAME [SERVER]

例如:host -t NS test.com 192.168.0.111

host -t A www.test.com 192.168.0.111

注意:-t指定资源类型时,其后的名称必须是资源记录允许使用的名称;当不指定SERVER时默认使用的是/etc/resolv.conf里面设置的DNS。

2、nslookup

nslookup>

server IP:  指定DNS服务器地址;

set type={A|SOA|NS|MX}

name

3、dig

dig -t TYPE name @server

类型可使用:AXFR  完全区域传送,显示所有的资源记录;

例如: dig -t AXFR test.com  @192.168.0.111

测试反解不使用-t PTR,而使用-x选项   例:diag -x 192.168.0.120 @192.168.0.111

dig: 查询选项

+trace  启动路由跟踪;

+notrace

+recurse 启用递归;

+norecurse

时间: 2024-08-04 16:28:00

Linux下的DNS服务器配置实践(一)的相关文章

Linux下的DNS服务器配置实践(三)-子域授权、转发、视图

[子域授权]     [实验说明]:新增一台服务器ip为192.168.0.112,配置成为test.com子域(a.test.com)的主DNS [实验验证]:子域可以实现自我管理,通过父域DNS可以查询解析子域,但子域无法查询解析父域. [实验步骤]:      1.进行正向子域授权,只需要在父域的区域解析库中添加"胶水记录": [[email protected] ~]# vim /var/named/test.com.zone  $TTL 86400 @    IN    SO

Linux下的DNS服务器配置实践(二)-配置DNS从服务器

[实验说明] 实验环境:新增一台服务器ns2.test.com ,IP为192.168.0.112: 实验目的:把新增的服务器配置成192.168.0.111这台主DNS服务器的从DNS服务器: [实现主从同步的条件] 1.主从服务器的时间必须同步;使用ntp与时间服务器周期性同步时间: [[email protected] ~]# vim /etc/crontab  */3 * * * * /sbin/ntpdate  192.168.0.111  &> /dev/null  #每隔3分钟

【初级篇】Linux下部署DNS域名解析服务

Linux下部署DNS域名解析服务 1.          实验需求: 1)     使用RPM包安装bind服务 2) 实现配置正向解析域名,反向解析IP地址. 3)搭建从服务器,实现配置和主服务器实时同步,相互提供冗余备份. 2.          实验环境: Linux服务器系统版本:Red Hat Enterprise Linux 6.5(主)   IP:192.168.10.20 Linux服务器系统版本:Red Hat Enterprise Linux 6.5(从)   IP:192

Linux下搭建DNS服务器

一.修改Linux主机名 1.hostname 主机名 [[email protected] named]# hostname ifs.com 2.vi /etc/hosts [[email protected] named]# vi /etc/hosts 127.0.0.1 ns.ifs.com ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6 ~ 3.vim /etc/sysconfi

linux下的DNS

Linux下设置DNS的位置主要是, 1网卡设置配置文件里面DNS服务器地址设置;2 hosts文件指定 3.系统默认DNS服务器地址设置/etc/resolv.conf文件修改 生效顺序是: 1 hosts文件 ---- 2 网卡配置文件DNS服务地址 ---3 /etc/resolv.conf

Linux下搭建DNS 服务器

CentOS6.6下DNS服务器的搭建 Linux下的DNS的软件包为bind,有如下几个软件包: bind           #DNS服务的主程序 bind-utils # 工具,包含dig,nslookup等网络诊断工具. bind-chroot      # 修改named 的root目录,这样named被入侵后,黑客也被限制在指定的目录下,不能切换到/,避免造成更大的破坏.[下面的演示中,为了简单起见就没安装该组件] # 安装bind软件包 yuminstall bind bind-u

Linux下搭建DNS服务

Linux下搭建DNS服务器 注:本文主要侧重DNS的配置,原理的话会另发一篇文章~ 一.DNS(域名系统)作用和原理 1.  DNS的作用: 正向解析:根据域名查找对应的IP地址 反向解析:根据IP地址找对应的域名 2.  DNS的工作模式: 递归查询 迭代查询 3.  域名结构 分层式的结构,且上层只管理下层域名,便于管理维护. 二.BIND服务简介 1.Linux下常用的DNS服务是BIND(BerkeleyInternet Name Domain) 官方站点:https://www.is

Linux下提供DNS缓存服务的bind应用的相关配置缓存

DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串.通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析).DNS协议运行在UDP协议之上,使用端口号53. Linux系统提供DNS服务,需要安装bind应用.以下详细说明: 安装配置的准备工作:两台相同版本的Linux虚拟主机.yum安装相同版本的bind应用 我的两台虚拟机地址: 192.1

linux下安装mysql【实践版】

[环境及文件版本] red hat   linux   v6.2 mysql linux 版  x86-x64  v5.6 [准备需要的文件] 首先去官网下载mysql的linux版本,可以针对安装的操作系统选择合适的版本. 然后将文件解压到一个目录,例如 /usr/local/中,并重命名为mysql.确保最终所有的文件在/usr/local/mysql/这个目录中,使用命令行时,也需要定位到此目录,后续的操作都是在这个目录中完成的. [初始化数据库文件] 然后拷贝support-files/