DNS主服务器配置(正向解析、反向解析)

正向解析:根据主机名查找对应的IP地址。当用户访问一个域名时(不考虑hosts文件等因素),正常情况会向指定的DNS主机发送递归查询请求
反向解析:根据IP地址查找到对应的主机名(域名)
Linux中DNS服务占用53端口 
第1步:
            安装bind服务程序- yum install bind-chroot
            (协议名:dns,软件包名:bind-chroot,服务名:named)
            说明:主程序 /usr/sbin/named
                       主配置文件 /etc/named.conf
                       区域配置文件 /etc/named.rfc1912.zones这个文件用于定义域名与IP地址解析规则保存的文件位置以及区域服务类型等内容
                 主配置文件中://将下行中的127.0.0.1修改为any,代表允许监听任何IP地址。

listen-on port 53 { 127.0.0.1; };
                                            listen-on-v6 port 53 { ::1; };
                                         //将下行中的localhost修改为any,代表允许任何主机查询。
                         allow-query { localhost; };
                                         //此文件内定义了全球13台根DNS服务器的IP地址
                         zone "." IN {type hint;file "named.ca";};
                                         //此文件保存着正向与反向解析的区域信息,非常的重要。
                                             include "/etc/named.rfc1912.zones";
                                             include "/etc/named.root.key";
                区域配置文件中:正向解析
                                            
                                            服务类型可以有三种:hint(根区域)、master(主区域)、slave(辅助区域)
                                            反向解析
第2步:
            配置区域数据信息。   正向解析
                                            [root@linuxprobe ~]# vim /etc/named.rfc1912.zones
                                                    zone "hostname1.com" IN {
                                                    type master;
                                                    file "hostname1.com.zone";
                                                    allow-update {none;};
                                                    };
                                                反向解析
                                            [root@linuxprobe ~]# vim /etc/named.rfc1912.zones
                                                            zone "10.168.192.in-addr.arpa" IN {
                                                            type master;
                                                            file "192.168.10.arpa";
                                                            };
第3步:
            配置解析数据信息。
            先切换到目录  cd /var/named/
            正向解析:
       复制模板文件 cp -a named.localhost hostname1.com.zone 命令时加入-a,代表连通复制原来文件的属性、所有者、组等信息
             编辑模板文件:SOA后面是一级域名hostname1.com加点代表根,后面是邮箱地址用点代替@, ns.hostname1.com.nameserver二级域名地址供应商提供,ns  in A为地址
            $TTL    1D            #生存周期1天
             @            IN    SOA    hostname1.com. root.hostname1.com.(
                                                                            0    ;    serial
                                                                            1D  ;    refresh
                                                                            1H  ;    retry
                                                                            1W ;    expire
                                                                            3H) ;    minimum
                                                        NS     ns.hostname1.com.
                                                ns    IN  A    192.168.10.10
                                                www IN  A     192.168.10.10
                                                bbs  IN  A    192.168.10.20
                反向解析:
                复制模板文件:cp -a named.loopback 192.168.10.arpa
                编辑:192.168.10.arpa
                $TTL    1D 
                @            IN    SOA    hostname1.com. root.hostname1.com. (

0    ;    serial
                                                                            1D  ;    refresh
                                                                            1H  ;    retry
                                                                            1W ;    expire
                                                                            3H) ;    minimum
                                                        NS     ns.hostname1.com.
                                                ns    A       192.168.10.10
                                                10   PTR    www.hostname1.com        #10代表192.168.10.10
                                                20   PTR    bbs.hostname1.com 

 第4步:
            验证:要把主机的DNS改为DNS服务器的地址, nslookup命令用于检测能否从网络DNS服务器中查询到域名与IP地址的解析记录,检测named服务的解析能否成功
[root@linuxprobe ~]# nslookup
> www.hostname1.com
Server: 127.0.0.1
Address: 127.0.0.1#53

[root@linuxprobe ~]# nslookup
> 192.168.10.10
Server: 127.0.0.1
Address: 127.0.0.1#53
10.10.168.192.in-addr.arpa name = ns.hostname1.com.
10.10.168.192.in-addr.arpa name = www.hostname1.com.
10.10.168.192.in-addr.arpa name = mail.hostname1.com.

DNS从服务器配置

 真实网络环境中一台主服务器往往不能满足所有用户的需求,"从服务器"可以从主服务器上抓取指定的区域数据文件,起到备份解析记录与负载均衡的作用; 
 配置需要分别配置主服务器端和从服务器端(主服务器:192.168.10.10    从服务器:192.168.10.20)
--------------------------主服务器配置:------------------------
 1、先修改区域信息文件:vim /etc/named.rfc1912.zones 中的allow-update

zone "hostname1.com" IN {
type master;
file "hostname1.com.zone";
allow-update { 192.168.10.20; };
};
zone "10.168.192.in-addr.arpa" IN {
type master;
file "192.168.10.arpa";
allow-update { 192.168.10.20; };
};
2、重启named服务:systemctl restart named
---------------------------从服务器配置: -------------------------
"/etc/named.conf"中的监听地址与允许查询地址修改为any,
1、在区域文件(named.rfc1912.zones)中,添加在后面:
zone "hostname1.com" IN {
                       //请注意服务类型必需是slave,而不能是master。
                                        type slave;
                                        //指定主DNS服务器的IP地址。
                                        masters { 192.168.10.10; };
                                        //此为缓存到区域文件后保存的位置和名称。
                                        file "slaves/hostname1.com.zone";
                                        };
zone "10.168.192.in-addr.arpa" IN {
                                                        type slave;
                                                        masters { 192.168.10.10; };
                                                        file "slaves/192.168.10.arpa";
                                                        };
2、 重启named服务:systemctl restart named
----------------------------验证----------------------------------------
是否出现两个文件:
 /var/named/slaves/hostname1.com.zone
 /var/named/slaves/192.168.10.arpa
nslookup命令查看:

DNS缓存服务器配置

DNS缓存服务器(Caching DNS Server)是一种不负责域名数据维护、也不负责域名解析的DNS服务类型,简单来说缓存服务器就是把用户经常使用到的域名与IP地址解析记录保存在主机本地中,提升下次解析的效率。DNS缓存服务器一般用于对高品质上网有需求的企业内网之中,但实际的应用并不广泛,而且缓存服务器解析成功与否还与指定的上级DNS服务器允许策略相关,因此当前仅需了解下即可。

第一步:

配置系统的双网卡参数,如前面介绍的缓存服务器一般用于企业内网中,起到减少内网用户查询DNS的消耗,那么为了更加的贴近实际网络环境、实现外网查询功能,需要为缓存服务器中再添加一块网卡,可参考下表所示配置出两台Linux虚拟机系统,而对于新添加进入的网卡请在虚拟机软件中设置成“桥接模式”,然后设置成与真机上网相同的配置即可(此处请读者们按照实际上网环境来配置,如图13-6所示为DHCP自动获取模式,重启网卡服务后效果如图13-7所示):

第二步:

在bind服务程序的主配置文件中添加缓存转发参数,在默认参数下方添加一行参数"forwarders { 上游DNS服务器地址; };",上游DNS服务器地址指的是从何处取得区域数据文件,主要考虑查询速度、稳定性、安全性等因素,刘老师使用的是北京市公共DNS服务器:210.73.64.1,请读者选择前先Ping下能否通信,否则可能会导致解析失败!!

第三步:

重启DNS服务后验证成果,把客户端主机网卡的DNS地址参数指向为DNS缓存服务器(192.168.10.10),如图13-8所示。这样即可让客户端使用由本地DNS服务器提供的域名查询解析服务,验证DNS缓存服务器是否可以正常解析域名:

客户端主机网卡参数设置妥当后重启网络服务,即可使用nslookup命令来验证实验成果(如果解析不成功,请读者多留意下是不是上游DNS选择的问题),其中Server参数为域名解析记录提供的主机地址,因此可见是由本地DNS缓存服务器提供的解析内容:

DNS同步加密TSIG配置

解释: TSIG主要是利用密码编码方式保护区域信息的传送(Zone Transfer),也就是说保证了DNS服务器之间传送区域信息的安全
 TSIG仅有一组密码,而不区分公/私钥,所以一般只会分配给可信任的从服务器,主服务器:192.168.10.10   从服务器192.168.10.20

-------------------主服务器配置--------------------------- 
1、 在主服务器中生成密钥: dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave (-a加密算法,-b长度,-n密钥类型,主机名称master-slave)
        记录下私钥的key值:
命令:ls -al Kmaster-slave.+157+46845.*
命令:cat Kmaster-slave.+157+46845.private

Private-key-format: v1.3
Algorithm: 157 (HMAC_MD5)
Key: 1XEEL3tG5DNLOw+1WHfE3Q==
 
Bits: AAA=
Created: 20150607080621
Publish: 20150607080621
Activate: 20150607080621

2、在主服务器上创建密钥验证文件:
vim /var/named/chroot/etc/transfer.key
//依次为密钥名称、密钥加密类型以及私钥的Key值。
key "master-slave" {
algorithm hmac-md5;
secret "1XEEL3tG5DNLOw+1WHfE3Q==";
};
 
设置transfer.key文件的所有者和组:     chown root.named /var/named/chroot/etc/transfer.key
                                                         chmod 640 /var/named/chroot/etc/transfer.key
 将密钥文件做硬链接到/etc目录中:ln  /var/named/chroot/etc/transfer.key /etc/transfer.key

3、 开启主服务器的密钥验证功能: vim /etc/named.conf
 

4、试验一下,将从服务器中的区域数据文件删除,重启named服务,发现无法获取到区域数据文件了。

-------------------------------从服务器配置---------------------------------------------------------
1、将密钥文件从主服务器中传送到从服务器:

scp /var/named/chroot/etc/transfer.key root@192.168.10.20:/var/named/chroot/etc
2、修改密钥文件所有者和所有组:chown root:named transfer.key , ln transfer.key /etc/transfer.key
3、编辑主配置文件设置支持密钥验证vim /etc/named.conf(有两处配置,请看下图) 

约第43行添加:


4、验证,重启named服务,在

ls -al /var/named/slaves/中查看区域信息文件又存在了

DNS分离解析配置

什么是分离解析技术:解决网站访问速度的问题,北京用户与美国用户访问相同域名时解析出不同的IP地址,拓扑如下

DNS服务器:北京网络:122.71.115.10 / 美国网络:106.185.25.10
北京用户:122.71.115.1
海外用户:106.185.25.1
第1步:安装 yum install bind-chroot -y 并将其加入到开机启动项中。

第2步: 在区域信息文件中填写不同的Zone区域信息。
修改主配置文件"/etc/named.conf",将监听端口与允许查询主机修改为any并将约在51行的根域信息删除掉:
 zone "." IN {
 type hint;
file "name.ca";
};
 编辑区域信息文件"/etc/named.rfc1912.zones",清空该文件所有默认的数据并添加以下内容:
//ACL定义了china与american分别对应的IP地址,以下就不需要写IP地址了。
acl "china" { 122.71.115.0/24; };
acl "american" { 106.185.25.0/24;};
//匹配所有china内的IP地址,对应的域名数据文件为hostname1.com.china。
view "china"{
match-clients { "china"; };
zone "hostname1.com" {
type master;
file "hostname1.com.china";
};
};
//匹配所有american内的IP地址,对应的域名数据文件为hostname1.com.american。
view "american" {
match-clients { "american"; };
zone "hostname1.com" {
type master;
file "hostname1.com.american";
};
};

第3步:建立独立的区域数据文件。
切换目录:cd /var/named
复制出两份域名区域文件数据的模板:
 cp -a named.localhost hostname1.com.china  
 cp -a named.localhost hostname1.com.american
 编辑对中国用户有效的区域数据文件
vim hostname1.com.china
 $TTL 1D
@    IN    SOA    hostname1.com.    root.hostname1.com.    (
                                                                                            0;serial
                                                                                            1D;refresh
                                                                                            1H;retry
                                                                                            1W;expire
                                                                                            3H;minimum
           NS            ns.hostname1.com
ns       IN    A        122.71.115.10
www    IN    A        122.71.115.15
 编辑对美国用户有效的域名区域数据文件vim hostname1.com.american
 
 $TTL 1D
@    IN    SOA    hostname1.com.    root.hostname1.com.    (
                                                                                            0;serial
                                                                                            1D;refresh
                                                                                            1H;retry
                                                                                            1W;expire
                                                                                            3H;minimum
           NS            ns.hostname1.com
ns       IN    A        106.185.25.10
www    IN    A        
106.185.25.15
第4步:重启named服务,验证试验
 

Linux:DNS主、从、缓存服务器配置、DNS同步加密TSIG配置、DNS分离解析配置的更多相关文章

  1. DNS域名解析之分离解析

    分离解析配置 1.为网关服务器配置双网卡 , 在关机状态下再添加一块网卡,重启系统 ifconfig ens36 12.0.0.1/24 ifconfig 2.安装bind软件包 yum instal ...

  2. Service系统服务(六):rsync基本用法、rsync+SSH同步、配置rsync服务端、访问rsync共享资源、使用inotifywait工具、配置Web镜像同步、配置并验证Split分离解析

    一.rsync基本用法 目标: 本例要求掌握远程同步的基本操作,使用rsync命令完成下列任务: 1> 将目录 /boot 同步到目录 /todir 下   2> 将目录 /boot 下的 ...

  3. linux之DNS主域,从域,缓存服务器的架设

    DNS主域,从域,缓存服务器的架设 DNS域名系统 组织域 顶级域  域名解析过程迭代递归 DNS(Domain Name System ) 在Internet中使用IP地址来确定计算机的地址. 为了 ...

  4. linux dns子域授权 split分离解析 缓存dns服务器

    DNS子域授权作用:适用于同一个DNS组织父/子域名的解析工作由不同的dns服务器负责父dns服务器应该有为子域名迭代的能力 上下级区域属于不同的机构管理:.cn与.Anonymous.cn.cn需要 ...

  5. Linux操作篇之配置DNS服务(一)

    一.什么是DN. 域名(Domain Name)又称网域,是由一串用点分隔的名字组成的Internet上某一台计算机或计算机组的名称,用于在数据传输时对计算机的定位标识(有时也指地理位置).它的作用只 ...

  6. Redhat linux DNS配置指南(SCANIP配置手册)

    在oracle 11g的RAC中增加了SCAN IP,而使用 SCAN IP的一种方式就是使用DNS,这里介绍在Redhat Linux 5.4中DNS的详细配置操作在配置DNS之前修改主机名Redh ...

  7. DNS主配置文件的几个选项

    options块中:   listen-on port 监听DNS查询请求的本机IP地址及端口      eg:listen-on port 53 { 192.168.0.78 };监听本机的192. ...

  8. Linux DNS分离解析与构建智能DNS服务器

    一 构建DNS分离解析 方法一 : [root@localhost ~]# vim /etc/named.conf [root@localhost ~]# cd /var/named/ [root@l ...

  9. 十五.DNS子域授权、分离解析、缓存DNS服务器

    1.搭建基本DNS服务器 pc7: 1.1 安装软件包 ]# yum -y install bind-chroot bind bind         //域名服务包 bind-chroot  //提 ...

随机推荐

  1. html5 弹性布局

    html5 弹性布局 一.移动开发常用技巧 Viewport基本知识 设置布局Viewport的各种信息1.width=device-width: 设置Viewport视口宽度等于设备宽度2.init ...

  2. 【SCOI 2007】 降雨量

    [题目链接] 点击打开链接 [算法] 线段树 此题细节很多,写程序时要细心! [代码] #include<bits/stdc++.h> using namespace std; #defi ...

  3. pycharm打开多个项目并存

    问题: 有时我们需要打开多个项目,而现在的做法是:  原有的a项目不动,新打开一个pycharm来打开b项目, 或者 在原有的a项目中打开b项目并覆盖a项目,即a项目与b项目不能共存 需求: 有时我们 ...

  4. ZOJ2107 Quoit Design 最近点对

    ZOJ2107 给定10^5个点,求距离最近的点对的距离. O(n^2)的算法是显而易见的. 可以通过分治优化到O(nlogn) 代码很简单 #include<iostream> #inc ...

  5. linux下的C语言开发(静态库/动态库)

    动态链接库不是Linux独有的特性,在windows下面也存在这样的特性.一般来说,windows下面的动态连接库是以*.dll作为结尾的,而linux下面的动态连接库是以*.so结尾的.和静态链接库 ...

  6. 编译Ruby2.0 问题解决

    compiling readline.creadline.c: In function ‘Init_readline’:readline.c:1886:26: error: ‘Function’ un ...

  7. Java序列化系列教程(上)

    一定义以及相关概念 互联网的产生带来了机器间通讯的需求,而互联通讯的双方需要采用约定的协议,序列化和反序列化属于通讯协议的一部分.通讯协议往往采用分层模型,不同模型每层的功能定义以及颗粒度不同,例如: ...

  8. Java多线程系列三——实现线程同步的方法

    两种实现线程同步的方法 方法 特性 synchronized 不需要显式地加解锁,易实现 ReentrantLock 需要显式地加解锁,灵活性更好,性能更优秀,结合Condition可实现多种条件锁 ...

  9. hdu4292 Food 最大流模板题

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=4292 题意:水和饮料,建图跑最大流模板. 我用的是学长的模板,最然我还没有仔细理解,不过这都不重要直接 ...

  10. 第四代增强 源代码增强(ABAP Source Code Enhancements)

    显式代码增强的创建 se38打开你要增强的程序 进入编辑状态 在菜单栏选择: Edit->Enhancement Opreations->Create option. 此时弹出Create ...