搭建单区域DNS服务器

案例1:搭建单区域DNS服务器

案例2:特殊DNS解析

案例3:配置DNS子域授权

案例4:搭建并测试缓存DNS

1案例1:搭建单区域DNS服务器

1.1问题

本例要求要求为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

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

1.2方案

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

安装bind、bind-chroot包

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

建立地址库文件/var/named/....

启动named服务

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

修改配置文件/etc/resolv.conf,添加nameserver=DNS服务器地址

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

1.3步骤

实现此案例需要按照如下步骤进行。

步骤一:配置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


案例2:特殊DNS解析

2.1问题

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

为站点www.tedu.cn提供DNS轮询解析,三台Web服务器节点的IP地址分别为:192.168.4.100、192.168.4.110、192.168.4.120

配置泛域名解析实现以下解析记录:任意名称.tedu.cn--->119.75.217.56

2.2方案

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

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

2.3步骤

实现此案例需要按照如下步骤进行。

步骤一:配置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


案例3:配置DNS子域授权

3.1问题

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

构建父DNS(tedu.cn)服务器

构建子DNS(bj.tedu.cn)服务器

在父DNS上配置子域授权

测试子域授权查询

3.2方案

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

子域域名.IN NS子DNS的FQDN.

子DNS的FQDN.IN A子DNS的IP地址

3.3步骤

实现此案例需要按照如下步骤进行。

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

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

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

[root@svr7~]#vim /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


案例4:搭建并测试缓存DNS

4.1问题

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

安装bind、bind-chroot包

搭建并测试基于全局转发器的缓存DNS

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

4.2方案

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

至少管理一个DNS区域,,需要IANA等官方机构授权

典型应用:根域DNS、一级域DNS、二级域DNS、三级域DNS、....

缓存DNS服务器的特点:

不需要管理任何DNS区域,但是能够替客户机查询,而且通过缓存、复用查询结果来加快响应速度

典型应用:ISP服务商、企业局域网

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

方式1:全局转发:将请求转发给指定的公共DNS(其他缓存DNS),请求递归服务

方式2:根域迭代:依次向根、一级、二级……域的DNS服务器迭代

4.3步骤

实现此案例需要按照如下步骤进行。

步骤一:为虚拟机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

搭建单区域DNS服务器的更多相关文章

  1. Service系统服务(四):搭建单区域DNS服务器、特殊DNS解析、配置DNS子域授权、搭建并测试缓存DNS

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

  2. 单台DNS服务器搭建(BIND)

    一.理论层面 1. DNS的出现及演化 网络出现的早期是使用IP地址通讯的,那是就几台主机通讯.但是随着接入网络主机的增多,这种数字标识的地址非常不便于记忆,UNIX上就出现了建立一个叫做hosts的 ...

  3. CentOS 6.5 网络服务器功能的实现①:运用bind搭建基本的DNS服务器

    何谓DNS服务?简而言之,DNS服务在互联网中可以实现域名解析(把域名转换成网络可以识别的IP地址). 名词解释①:正向解析:域名解析IP地址:反向解析:IP地址解析域名. DNS服务的正/反向区域解 ...

  4. bind搭建内网DNS服务器架构(主从、子域授权、DNS转发器)

    实验目的 模拟企业DNS服务架构服务器及原理 实验环境准备 实验架构图 实验设备 DNS服务器4台 主服务器master(centos8):IP_192.168.100.30, 从服务器slave(r ...

  5. Centos7搭建内网DNS服务器

      一.配置阿里云yum源 执行脚本配置阿里云的yum源,已配置yum源的可以忽略 #!/bin/bash # ******************************************** ...

  6. 搭建企业内部DNS服务器,docker 部署内部 dnsmasq

    获取镜像 docker pull jpillora/dnsmasq 配置域名 # http://oss.segetech.com/intra/srv/dnsmasq.conf #log all dns ...

  7. Linux系统下搭建DNS服务器——DNS原理总结

    2017-01-07 整理 DNS原理 域名到IP地址的解析过程 IP地址到域名的反向域名解析过程 抓包分析DNS报文和具体解析过程 DNS服务器搭建和配置 这个东东也是今年博主参见校招的时候被很多公 ...

  8. DNS:从零搭建公司内网DNS服务器

    写在前面的话 网上关于 DNS 的文章其实一搜索一大把,但是看别人的文档一般都会有个问题,乱,不讲究,全是 ctrl c + ctrl v,我个人是看不下去的.头皮发麻.所以决定自己来写写这方面的东西 ...

  9. 云计算之路-试用Azure:搭建自己的内网DNS服务器

    之前我们写过一篇博文谈到Azure内置的内网DNS服务器不能跨Cloud Service,而我们的虚拟机部署场景恰恰需要跨多个Cloud Service,所以目前只能选择用Azure虚拟机搭建自己的内 ...

随机推荐

  1. 鸟哥的Linux私房菜基础学习篇(第三版)——阅读笔记(二)

    第一章 Linux是什么 1.Linux是什么 一套操作系统 早期的Linux是针对386开发的 具有可移植性 2.Unix及Linux的发展史 1973年,Unix诞生,Ritchie等人以C语言写 ...

  2. freecplus框架,Linux平台下C/C++程序员提高开发效率的利器

    目录 一.freecplus框架简介 二.freecplus开源许可协议 三.freecplus框架内容 字符串操作 2.xml解析 3.日期时间 4.目录操作 5.文件操作 6.日志文件 7.参数文 ...

  3. RocketMQ-2.RocketMQ的负载均衡

    目录 RocketMQ的负载均衡 producer对MessageQueue的负载均衡 producer负载均衡 系统计算路由MessageQueue 自定义路由MessageQueue Consum ...

  4. js运算【按位非】~ (index = ~~this.userIndex)(~~ 双破折号 如果是数字返回数字,如果不是数字 返回0)

    index = ~~this.userIndex ~~ 双破折号 如果是数字返回数字,如果不是数字 返回0 这个运算符有点意思:按位非[~] 先来几个例子: ~undefined: -1 ~false ...

  5. 从原子类和Unsafe来理解Java内存模型,AtomicInteger的incrementAndGet方法源码介绍,valueOffset偏移量的理解

    众所周知,i++分为三步: 1. 读取i的值 2. 计算i+1 3. 将计算出i+1赋给i 可以使用锁来保持操作的原子性和变量可见性,用volatile保持值的可见性和操作顺序性: 从一个小例子引发的 ...

  6. MySQL:REPLACE函数的使用

    原文链接 REPLACE函数功能 REPLACE(columnName, search_str, replace_str) 查找columnName字段中所有search_str,并替换为replac ...

  7. CMDB_Agent版本

    目录 CMDB_Agent版本 CMDB概念 CMDB_Agent介绍 agent方案 ssh类方案 相比较 架构目录 bin-start.py 启动文件 conf-config.py 自定义配置文件 ...

  8. gRPC (1):入门及服务端创建和调用原理

    1. RPC 入门 1.1 RPC 框架原理 RPC 框架的目标就是让远程服务调用更加简单.透明,RPC 框架负责屏蔽底层的传输方式(TCP 或者 UDP).序列化方式(XML/Json/ 二进制)和 ...

  9. 为什么 select count(*) from t,在 InnoDB 引擎中比 MyISAM 慢?

    统计一张表的总数量,是我们开发中常有的业务需求,通常情况下,我们都是使用 select count(*) from t SQL 语句来完成.随着业务数据的增加,你会发现这条语句执行的速度越来越慢,为什 ...

  10. 信息收集工具-dimtry

    GitHub地址: kali下也是自带的: -s以及-e 参数需要用到Google搜索 1.获取whois主机ip信息 2.扫描端口,根据banner信息判断服务