一、搭建单区域DNS服务器

目标:

本例要求要求为DNS区域tedu.cn搭建一台DNS服务器,以便用户能通过域名的方式访问网站。测试阶段主要提供以下正向记录:

svr7.tedu.cn ---> 192.168.4.7
    pc207.tedu.cn ---> 192.168.4.207
    www.tedu.cn ---> 192.168.4.100

配置完成后在客户机上验证查询结果。

方案:

快速构建DNS服务器的基本过程:

1> 安装 bind、bind-chroot 包
   2> 建立主配置文件 /etc/named.conf
   3> 建立地址库文件 /var/named/.. ..
   4> 启动 named 服务

配置及使用DNS客户端的基本过程:

1> 修改配置文件/etc/resolv.conf,添加nameserver=DNS服务器地址
   2> 使用host命令查询,提供目标域名作为参数

步骤:

步骤一:配置DNS服务器svr7

1)安装 bind、bind-chroot 包

[root@svr7 ~]# yum  -y  install  bind  bind-chroot
    .. ..

2)建立主配置文件 /etc/named.conf

[root@svr7 ~]# mv  /etc/named.conf  /etc/named.conf.origin          //备份默认配置
    [root@svr7 ~]# vim  /etc/named.conf                             //建立新配置
    options {
        directory  "/var/named";                          //地址库默认存放位置
    };
    zone  "tedu.cn" {                                  //定义正向DNS区域
        type  master;                                     //主区域
        file  "tedu.cn.zone";                             //自定义地址库文件名
    };

3)建立地址库文件 /var/named/tedu.cn.zone

[root@svr7 ~]# cd  /var/named/                              //进地址库目录
    [root@svr7 named]# cp  -p  named.localhost  tedu.cn.zone      //参考范本建地址库文件
    [root@svr7 named]# vim  tedu.cn.zone                          //修订地址库记录
    $TTL 1D                                          //文件开头部分可保持不改
    @   IN SOA  @ rname.invalid. (
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
    @       NS  svr7.tedu.cn.                          //本区域DNS服务器的FQDN
    svr7    A   192.168.4.7                         //为NS主机提供A记录
    pc207   A   192.168.4.207                         //其他正向地址记录.. ..
    www  A   192.168.4.100

4)启动 named 服务,并设置开机自启

[root@svr7 named]# systemctl  restart  named  
    [root@svr7 named]# systemctl  enable  named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

步骤二:配置DNS客户机pc207并测试

1)修改配置文件/etc/resolv.conf,指定默认使用哪一台DNS服务器

[root@pc207 ~]# vim  /etc/resolv.conf
    nameserver  192.168.4.7
    .. ..

2)使用host命令查询,提供目标域名作为参数

[root@pc207 ~]# host  svr7.tedu.cn
    svr7.tedu.cn has address 192.168.4.7
    [root@pc207 ~]# host  pc207.tedu.cn
    pc207.tedu.cn has address 192.168.4.207
    [root@pc207 ~]# host  www.tedu.cn
    www.tedu.cn has address 192.168.4.100

使用host测试DNS查询结果时,如果不方便修改/etc/resolv.conf文件,也可以采用“host 目标域名 DNS服务器地址”形式临时指定使用哪一台DNS服务器。

[root@pc207 ~]# host  pc207.tedu.cn  192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:
    pc207.tedu.cn has address 192.168.4.207

二、特殊DNS解析

目标:

沿用案例1,本例要求掌握DNS轮询、泛域名解析的配置,实现的目标如下:

1> 为站点 www.tedu.cn 提供DNS轮询解析,三台Web服务器节点的IP地址分别为:192.168.4.100、192.168.4.110、192.168.4.120
   2> 配置泛域名解析实现以下解析记录:任意名称.tedu.cn ---> 119.75.217.56

方案:

DNS轮询:FQDN ---> IP地址1、IP地址2、.. ..

泛域名解析(站点名不确定):多个FQDN ---> 一个IP地址

步骤:

步骤一:配置DNS轮询

1)修改DNS服务器上tedu.cn区域的地址库文件,在末尾添加轮询地址记录

[root@svr7 ~]# vim  /var/named/tedu.cn.zone
    .. ..
    www        A    192.168.4.100
    www        A    192.168.4.110
    www        A    192.168.4.120

2)重启系统服务named

[root@svr7 named]# systemctl  restart  named

3)在客户机pc207上测试轮询记录

针对目标www.tedu.cn执行多次查询,观察第1条结果的变化:

[root@pc207 ~]# host  www.tedu.cn
    www.tedu.cn has address 192.168.4.100          //第1个结果为192.168.4.100
    www.tedu.cn has address 192.168.4.110
    www.tedu.cn has address 192.168.4.120
    [root@pc207 ~]# host  www.tedu.cn
    www.tedu.cn has address 192.168.4.120          //第1个结果为192.168.4.120
    www.tedu.cn has address 192.168.4.110
    www.tedu.cn has address 192.168.4.100
    [root@pc207 ~]# host  www.tedu.cn
    www.tedu.cn has address 192.168.4.110          //第1个结果为192.168.4.110
    www.tedu.cn has address 192.168.4.120
    www.tedu.cn has address 192.168.4.100

步骤二:配置多对一的泛域名解析

1)修改DNS服务器上指定区域的地址库文件,在末尾添加*通配地址记录

[root@svr7 ~]# vim  /var/named/tedu.cn.zone
    .. ..
    *       A   119.75.217.56

2)重启系统服务named

[root@svr7 named]# systemctl  restart  named

3)在客户机pc207上测试多对一的泛域名解析记录

当查询未知站点(地址库中没有明确记录)时,以 * 对应的IP地址反馈:

[root@pc207 ~]# host  station123.tedu.cn
    station123.tedu.cn has address 119.75.217.56
    [root@pc207 ~]# host  movie.tedu.cn
    movie.tedu.cn has address 119.75.217.56
    [root@pc207 ~]# host  tts8.tedu.cn
    tts8.tedu.cn has address 119.75.217.56

三、配置DNS子域授权

目标:

沿用案例1,本例要求为上下级两个DNS区域建立父子关联,实现客户机向父DNS也可以查询到子域内的FQDN,基本要求如下:

1> 构建父DNS(tedu.cn)服务器
   2> 构建子DNS(bj.tedu.cn)服务器
   3> 在父DNS上配置子域授权
   4> 测试子域授权查询

方案:

为一个DNS区域添加授权子域时,需要修改此区域的地址库,添加以下记录:

子域域名.            IN    NS      子DNS的FQDN.
    子DNS的FQDN.       IN    A        子DNS的IP地址

步骤:

步骤一:构建父DNS(tedu.cn)服务器

1)将svr7配置为父DNS服务器,确认配置

主配置文件/etc/named.conf:

[root@svr7 ~]# viim  /etc/named.conf
    options {
           directory  "/var/named";
    };
    zone  "tedu.cn" {
           type  master;
           file  "tedu.cn.zone";
    };
    .. ..

正向地址库文件:

[root@svr7 ~]# vim  /var/named/tedu.cn.zone
    $TTL 1D
    @    IN SOA    @ rname.invalid. (
                        0    ; serial
                        1D    ; refresh
                        1H    ; retry
                        1W    ; expire
                        3H )    ; minimum
    @        NS    svr7.tedu.cn.
    svr7        A    192.168.4.7
    pc207    A    192.168.4.207
    www        A    192.168.4.100
    .. ..

确保服务已启用:

[root@svr7 ~]# systemctl  restart  named

2)测试 —— 向父DNS可成功查询到父区域中的站点

[root@pc207 ~]# host  www.tedu.cn  192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:
    www.tedu.cn has address 192.168.4.100
    .. ..

步骤二:构建子DNS(bj.tedu.cn)服务器

1)将pc207配置为子DNS服务器,确认配置

安装软件包bind、bind-chroot:

[root@pc207 ~]# yum  -y  install  bind  bind-chroot
    .. ..

建立主配置文件/etc/named.conf:

[root@pc207 ~]# mv  /etc/named.conf  /etc/named.conf.origin      //备份默认配置
    [root@pc207 ~]# vim  /etc/named.conf                              //建立新配置
    options {
        directory  "/var/named";
    };
    zone  "bj.tedu.cn" {                             //定义子DNS的正向区域
        type  master;
        file  "bj.tedu.cn.zone";
    };

建立地址库配置文件:

[root@pc207 ~]# cd  /var/named/                              //进地址库目录
    [root@pc207 named]# cp  -p  named.localhost  tedu.cn.zone      //参考范本建地址库文件
    [root@pc207 named]# vim  bj.tedu.cn.zone                      //修订地址库记录
    $TTL 1D                                          //文件开头部分可保持不改
    @   IN SOA  @ rname.invalid. (
                        0   ; serial
                        1D  ; refresh
                        1H  ; retry
                        1W  ; expire
                        3H )    ; minimum
    @       NS  pc207.bj.tedu.cn.                      //本区域DNS服务器的FQDN
    pc207   A   192.168.4.207                      //为NS主机提供A记录
    www     A   1.2.3.4                              //添加测试记录 www.bj.tedu.cn

2)启动系统服务named,并设置开机自启

[root@pc207 named]# systemctl  restart  named
    [root@pc207 named]# systemctl  enable  named
    Created symlink from /etc/systemd/system/multi-user.target.wants/named.service to /usr/lib/systemd/system/named.service.

3)测试 —— 向子DNS可成功查询到子区域中的站点

[root@pc207 ~]# host  www.bj.tedu.cn  192.168.4.207
    Using domain server:
    Name: 192.168.4.207
    Address: 192.168.4.207#53
    Aliases:
    www.bj.tedu.cn has address 1.2.3.4

步骤三:在父DNS上配置子域授权

1)测试 —— 未配置子域授权时,向父DNS无法正确查询到子区域中的站点

若父DNS配置有 * 泛域名,则反馈的结果为对应的IP地址119.75.217.56,而不是子DNS中记录的1.2.3.4:

[root@pc207 ~]# host  www.bj.tedu.cn  192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:
    www.bj.tedu.cn has address 119.75.217.56

若父DNS未配置有 * 泛域名,则找不到解析结果(not found):

[root@pc207 ~]# host  www.bj.tedu.cn  192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:
    Host www.bj.tedu.cn not found: 3(NXDOMAIN)

2)修改父DNS区域tedu.cn的地址库,添加授权子域信息

[root@svr7 ~]# vim  /var/named/tedu.cn.zone
    .. ..
    bj.tedu.cn.         NS       pc207.bj.tedu.cn.              //子区域及子DNS主机名
    pc207.bj.tedu.cn.   A       192.168.4.207                  //子DNS的IP地址
    [root@svr7 named]# systemctl  restart  named              //重启服务

步骤四:测试子域授权查询

测试 —— 成功配置子域授权以后,向父DNS可以正确查询到子区域中的站点:

[root@pc207 ~]# host  www.bj.tedu.cn  192.168.4.7
    Using domain server:
    Name: 192.168.4.7
    Address: 192.168.4.7#53
    Aliases:
    www.bj.tedu.cn has address 1.2.3.4

四、搭建并测试缓存DNS

目标:

本例要求熟悉缓存DNS的工作过程,准备一台可上网的RHEL7虚拟机,并完成下列任务:

1> 安装 bind、bind-chroot 包
   2> 搭建并测试基于全局转发器的缓存DNS

注意:若所在机房不具备访问互联网DNS条件,此案例改由学员自行在家完成。

方案:

权威/官方DNS服务器的特点:

1> 至少管理一个DNS区域,,需要IANA等官方机构授权
   2> 典型应用:根域DNS、一级域DNS、二级域DNS、三级域DNS、.. ..

缓存DNS服务器的特点:

1> 不需要管理任何DNS区域,但是能够替客户机查询,而且通过缓存、复用查询结果来加快响应速度
   2> 典型应用:ISP服务商、企业局域网

缓存DNS服务器的解析记录来源:

1> 方式1:全局转发:将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务
   2> 方式2:根域迭代:依次向根、一级、二级……域的DNS服务器迭代

步骤:

步骤一:为虚拟机pc207提供上网条件

1)为虚拟机添加一块新的网卡,选择NAT或Bridge模式

若选择NAT模式(地址转换),则新加网卡的上网参数由虚拟化平台自动设置。

若选择Bridge模式(桥接),则新加网卡的上网参数需要参考真实网络的主机,必要时请网络管理员提供支持。

此处所列地址信息可帮助大家理解上网条件,但不作为练习的配置依据:

[root@pc207 ~]# ifconfig  eth1                      //检查新增网卡的IP地址
    eth1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.70.129  netmask 255.255.255.0  broadcast 192.168.70.255
    .. ..
    [root@pc207 ~]# route  -n                          //确认已配好默认网关
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
    0.0.0.0         192.168.70.2    0.0.0.0         UG    100    0        0 eth1
    192.168.70.0    0.0.0.0         255.255.255.0   U     100    0        0 eth1
    .. ..
    [root@pc207 ~]# cat  /etc/resolv.conf              //确认第一DNS为外部可用DNS地址
    nameserver 192.168.70.2
    .. ..

2)确保从主机pc207可访问到外部DNS

访问默认DNS可用(本机正常连网需要):

[root@pc207 ~]# host  www.qq.com
    www.qq.com has address 111.30.132.101
    www.qq.com has IPv6 address 240e:e1:8100:28::2:16

访问指定DNS可用(全局转发的前提条件):

[root@pc207 ~]# host  www.qq.com  202.106.0.20      //国内公共DNS服务器之一
    Using domain server:
    Name: 202.106.0.20
    Address: 202.106.0.20#53
    Aliases:
    www.qq.com has address 111.30.132.101
    www.qq.com is an alias for qq.com.edgesuite.net.
    qq.com.edgesuite.net is an alias for a1574.b.akamai.net.
    www.qq.com is an alias for qq.com.edgesuite.net.
    qq.com.edgesuite.net is an alias for a1574.b.akamai.net.

步骤二:将pc207配置为缓存DNS(全局转发式)

1)安装bind、bind-chroot软件包

[root@pc207 ~]# yum  -y  install  bind  bind-chroot
    .. ..

2)建立主配置文件/etc/named.conf

当收到来自客户机的DNS查询请求时,转发到外网的其他DNS服务器

[root@pc207 ~]# vim  /etc/named.conf
    options {
        forwarders  { 202.106.0.20; };
    };

3)启动系统服务named,并设置开机自启

[root@pc207 ~]# systemctl  restart  named
    [root@pc207 ~]# systemctl  enable  named

4)可向缓存DNS服务器pc207查询到公共域名(百度、网易等站点)

[root@pc207 ~]# host  www.baidu.com  192.168.4.207           //查百度的站点IP
    Using domain server:
    Name: 192.168.4.207
    Address: 192.168.4.207#53
    Aliases:
    www.baidu.com is an alias for www.a.shifen.com.
    www.a.shifen.com has address 111.13.100.92
    www.a.shifen.com has address 111.13.100.91
    [root@pc207 ~]# host  www.163.com  192.168.4.207                //查网易的站点IP
    Using domain server:
    Name: 192.168.4.207
    Address: 192.168.4.207#53
    Aliases:
    www.163.com is an alias for www.163.com.lxdns.com.
    www.163.com.lxdns.com is an alias for 163.xdwscache.ourglb0.com.
    163.xdwscache.ourglb0.com has address 111.11.31.104
    163.xdwscache.ourglb0.com has address 111.11.31.114

Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS的更多相关文章

  1. 搭建单区域DNS服务器

                                                          搭建单区域DNS服务器 案例1:搭建单区域DNS服务器 案例2:特殊DNS解析 案例3:配置 ...

  2. Linux基础二(修改ip地址、修改网关、修改DNS服务器、重新启动网络配置)

    网络的初始化 .ip地址的修改(临时生效) 使用ifconfig命令 ifconfig 网卡名 ip地址 netmask 子网掩码 [root@localhost /]# ifconfig eth1 ...

  3. DNS 服务器无法正常解析时,可以尝试这样!

    DNS 服务器无法正常解析时,可以尝试这样! ========================================================================联通:12 ...

  4. [转]DNS服务器原理详解与Centos6.x下搭建DNS服务器

    转自:http://blog.it985.com/8958.html DNS 数据库的记录:正解,反解, Zone 的意义 通过DNS解析过程详解这篇文章,我们知道了要想访问www.zmit.cn,最 ...

  5. 在Ubuntu 15下搭建V/P/N服务器pptpd安装和配置

    在Ubuntu 15下搭建VPN服务器pptpd安装和配置 在ubuntu下配置vpn的方式有很多种,其中比较常见的是pptpd,它配置简单,但是安全性不高,不过对于一般使用来说足够了,我按照程搭建了 ...

  6. 使用BIND安装智能DNS服务器(二)---配置rndc远程控制

    首先两个BIND DNS服务器要正常运行.       主DNS服务器IP:192.168.1.100 客户机DNS服务器IP:192.168.1.101 1 主DNS端配置: cd /etc/ 生成 ...

  7. Service系统服务(一):安装一个KVM服务器、KVM平台构建及简单管理、virsh基本管理操作、xml配置文件的应用、为虚拟机制作快照备份、快建新虚拟机

    一.安装一个KVM服务器 目标: 本例要求准备一台 RHEL7.2 服务器,将其搭建为KVM平台,主要完成下列操作: 1> 关闭本机的SELinux保护.防火墙服务   2> 挂载RHEL ...

  8. CentOS笔记——配置DNS服务器

    前话 咳咳,这次Linux系统的DNS服务器搭建我不得不记下来.,这错误真的太蛋疼了,我整整弄了两天才解决问题(抱歉我很蠢). 也许有人会和我犯同样的错误,给大家分享一下经验. 首先总结一下知识点: ...

  9. 如何将centos7作为DNS服务器

    简单来说,dns服务器是起到缓存的作用.比如说我们第一次dig www.baidu.com的时候,dns服务器因为没有解析过百度地址,所以它需要向上一级dns服务器进行查询,然后查询结果会缓存在这台d ...

随机推荐

  1. JS谷歌浏览器断点调试

    1.找到对应的文件 按F12打开网页调试工具,默认打开的是Elements,显示的是网页标签元素.选择Source,在左侧找到对应的js代码文件(这里是在page标签上找到的) 1.1.如何找到web ...

  2. 九、async、future、packaged_task、promise

    std::async.std::future创建后台任务并返回值. 希望线程返回一个值. std::async是个函数模板,用来启动一个异步任务,返回一个std::future对象 异步任务:自动创建 ...

  3. [CSP-S模拟测试]:大新闻(主席树)

    题目传送门(内部题20) 输入格式 第一行为两个数$n,m$,意义如题所述.接下来一行$n$个数,代表一开始$n$条大新闻的$naive$值.接下来$m$行,每行一个操作,输入格式如下:读入$1$,代 ...

  4. Maven之搭建本地私服(nexus)仓库

    摘要:现在越来越多的项目都在使用Maven管理项目,尤其是在大型的项目团队中使用Maven能带来更加多的好处,私服的好处我相信大家都明白,在这里我就不多说了,它最重要的作用就是可以让项目团队成员更加方 ...

  5. Linux 学习 (五) DNS配置

    没有配置DNS会引起的问题 yum命令 ssh命令等不能进行 错误: Could not resolve host: centos.ustc.edu.cn; 本文例子: CentOS7 下DNS配置 ...

  6. dex2jar反编译大文件内存溢出的问题

    @echo off REM better invocation scripts for windows from lanchon, release in public domain. thanks! ...

  7. python接口自动化测试三十五:用BeautifulReport生成报告

    GitHub传送门:https://github.com/TesterlifeRaymond/BeautifulReport 配置BeautifulReport 下载.解压并修改名字为Beautifu ...

  8. spark为什么比mapreduce运行速度快很多

    比较重要的2个原因 –            1.基于内存 mapreduce任务每次都会把结果数据落地到磁盘,后续有其他的job需要依赖于前面job的输出结果,这里就需要进行大量的磁盘io操作,获取 ...

  9. Honk's pool(二分模板题)

    题意:有n个水池,每个水池有a[i]单位水,有k次操作,每次操作将水量最多的水池减少一单位水,水量最少的水池增加一单位水,问最后水量最大的水池和水量最少的水池相差的水量. 思路:二分最后的最大水量和最 ...

  10. JQuery获取与设置select

    获取select : 1.获取select 选中的 text :    $("#ddlregtype").find("option:selected").tex ...