01-DNS域名解析服务

本文详细介绍了DNS域名解析服务,包括DNS服务的实现原理、企业内部的DNS服务器搭建(正反解析)、主辅同步配置及排错记录。通过实战项目,读者将了解如何在企业环境中配置DNS服务器,解决大规模域名解析问题。
摘要由CSDN通过智能技术生成

DNS域名解析服务

- 总结

课程要求
1. 在企业内部搭建一台域名解析服务器DNS正反解析
2. 在企业内部搭建两台域名解析服务器做DNS主辅同步

DNS服务

全称是domain name server域名解析服务。

我们知道每个联网的计算机都有一个ip地址吧?Ip地址是用来做什么的呢?Ip地址是用来和互联网上别的机器进行通讯的。
但是ip地址很难记吧?一两个ip地址可能还好,但是,我们每天要访问的网页不仅仅只有一两个吧?

我们记得都是什么呢?www.baidu.com. www.sina.com。我们记住的其实都是字符,都是域名。
就像我们的电话号码,很难记,于是我们把电话号码存到手机里,给他起个昵称或者直接输入人名对吧,把电话号码对应成人名吧?
然后打电话的时候就直接找到这个人名就好了。

所以我们系统也是一样,会把ip地址对应成一个主机名。在我们系统里有这么一个文件,就是专门用来做对应关系的,
这个文件叫/etc/hosts/,我们可以打开来看一下,一条记录一行,行里面就是主机名和ip地址,当然一个ip地址可以对应多个
主机名,就像人有很多的昵称一样。

那么这样是不是就解决问题了,当我们想要访问一个网站的时候,我们就不用输入ip地址,而是可以直接输入主机名就行了,
机器会帮我们做一个解析,把主机名对应成ip地址进行通信。早期这样做的确没问题,但是随着互联网愈发的壮大,这个文件
就不那么实用了。我们要在机器上配置大量的对应关系,是非常耗时,非常麻烦的,而且要配置的机器可不止一台。比如说我
是百度,我希望世界上所有的人都要来访问我的网页,那么,我是不是需要让世界上所有的人都去添加我的ip地址和主机名的
对应关系。这个是非常难做到的事情,工作量太大。于是我们就引入了一种新的机制。

DNS的实现原理

这种机制的作用和hosts文件一样,但是实现方法却不一样,这个机制就叫DNS (Domain name server)。通过dns,我们可以解决这个大批量域名解析的问题。那具体是怎么实现的呢?这就是dns的结构方面的问题了。

我们之前说我们的系统是一个什么样的结构,是不是一个分层式的结构,这个结构的体现方式就是目录吧?对不对。Dns也是如此,它也采用了分层市管理的方式。

不过不同于目录,我们的目录是一个逻辑上的概念,用来帮助我们理解文件系统的一种方式。而dns,他是实实在在的一种管理结构。

那我们来看,目录的至高点是什么。是根吧,对不对,那么对于我们dns来说,既然是分层式管理结构,它也需要有一个至高点吧。这个至高点是什么呢?

我们把它称作根域,以点代表根域。全世界总共有13台根域,是处于至高无上的位置的,只有13台机器。

那么根域下面就是顶级域了,通常我们看到的顶级域有这个com。有org,有cn还有edu等等,这些都是顶级域。顶级域下面管理二级域,以此类推。

FQDN:主机名加上域名,被称作完全合格的域名,fqdn。其实com后面应该有个点的,代表根域。只不过我们现在习惯性的将其省略了。就好像国家管理省,省管理市,市管理县等等

完整的域名 www.baidu.com.
. 根域 全球一共13个根域
.com 超级域,一级域
.baidu 二级域
www 主机名
~~~

举例:寻找新浪的方式。

  1. 先看本地/etc/hosts有没有记录。
  2. 找另外一个人问,–>找DNS服务器去问。 在/etc/resolv.conf文件中指定了找谁去问。

当然,这先后顺序也是由某个文件决定的。这个文件是/etc/nsswitch.conf.

Windows上面也有

网上邻居>属性>本地连接。

DNS的两种查询方式 对于DNS服务器,他可能知道也可能不知道,

知道的情况有两种:

  1. 本地有这个域,能够解析到
  2. 本地有缓存,其他人已经来问过sina是谁,那么DNS服务器可以将该结果直接返回给客户。

不知道的话就会去找自己的上级域,然后通过等待上级域的反馈,将反馈信息返回给客户端。
这种方式叫做递归查询。

那么还有一种情况就是,DNS去询问上级域,然后上级域将对应的同级DNS服务器反馈回来,由客户端去询问新的DNS服务器来找寻网””址对应的IP地址。这种叫做迭代查询

www.sina.com.
1)找根域.
2)找超级域.com
3)找二级域.sina
4)成功找到www

实战项目1:在企业内部搭建一台域名解析服务器DNS正反解析

1)在rhel6上配置dns域名解析服务,解析test.com域名,要求如下:
NS @
A 172.25.0.11
www A 172.25.0.10
MX 5 mail
mail A 172.25.0.10
ftp A 172.25.0.10
bbs CNAME ftp
~~~
2)配置反向解析172.25.0.10和172.25.0.11;

3)要求rhel6和rhel7这两台服务器的域名解析服务器为172.25.0.11这台服务器。

实验准备阶段
  1. 画出网络拓扑图
  2. 规划不同服务器需要安装的软件(os–soft版本)
  3. 开始安装
  4. 配置服务
  5. 启动服务
  6. 测试排错

详细步骤概览

num step man
1) 安装软件 bind bind-chroot
2) 查看软件架构 rpm -ql
日志 /var/log/named.log
数据 /var/named/
配置 /etc/named.conf
/etc/named.rfc1912.zones
3) 修改配置文件
4) 启动服务
service daemon
named named
4.1) 排除错误 看日志
5) 测试 nslookup
5.1) 排错 看日志

网络拓扑图

这里写图片描述

规划服务器软件

这里写图片描述

开始安装

[root@rhel6 ~]# yum install -y bind bind-chroot
Loaded plugins: product-id, refresh-packagekit, security, subscription-manager
This system is not registered to Red Hat Subscription Management. You can use subscription-manager to register.
server                                                   | 3.9 kB     00:00     
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be installed
---> Package bind-chroot.x86_64 32:9.8.2-0.17.rc1.el6_4.6 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package          Arch        Version                         Repository   Size
================================================================================
Installing:
 bind             x86_64      32:9.8.2-0.17.rc1.el6_4.6       server      4.0 M
 bind-chroot      x86_64      32:9.8.2-0.17.rc1.el6_4.6       server       71 k

Transaction Summary
================================================================================
Install       2 Package(s)

Total download size: 4.0 M
Installed size: 7.3 M
Downloading Packages:
(1/2): bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm            | 4.0 MB     00:00     
(2/2): bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm     |  71 kB     00:00     
--------------------------------------------------------------------------------
Total                                            23 MB/s | 4.0 MB     00:00     
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
  Installing : 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64                        1/2
  Installing : 32:bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64                 2/2
  Verifying  : 32:bind-9.8.2-0.17.rc1.el6_4.6.x86_64                        1/2
  Verifying  : 32:bind-chroot-9.8.2-0.17.rc1.el6_4.6.x86_64                 2/2

Installed:
  bind.x86_64 32:9.8.2-0.17.rc1.el6_4.6                                         
  bind-chroot.x86_64 32:9.8.2-0.17.rc1.el6_4.6                                  

Complete!
[root@rhel6 ~]# rpm -ql bind
/etc/NetworkManager/dispatcher.d/13-named
/etc/logrotate.d/named
/etc/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/portreserve/named
/etc/rc.d/init.d/named
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/usr/lib64/bind
/usr/sbin/arpaname
/usr/sbin/ddns-confgen
/usr/sbin/dnssec-dsfromkey
/usr/sbin/dnssec-keyfromlabel
/usr/sbin/dnssec-keygen
/usr/sbin/dnssec-revoke
/usr/sbin/dnssec-settime
/usr/sbin/dnssec-signzone
/usr/sbin/genrandom
/usr/sbin/isc-hmac-fixup
/usr/sbin/lwresd
/usr/sbin/named
/usr/sbin/named-checkconf
/usr/sbin/named-checkzone
/usr/sbin/named-compilezone
/usr/sbin/named-journalprint
/usr/sbin/nsec3hash
/usr/sbin/rndc
/usr/sbin/rndc-confgen
/usr/share/doc/bind-9.8.2
/usr/share/doc/bind-9.8.2/CHANGES
/usr/share/doc/bind-9.8.2/COPYRIGHT
/usr/share/doc/bind-9.8.2/Copyright
/usr/share/doc/bind-9.8.2/README
/usr/share/doc/bind-9.8.2/arm
/usr/share/doc/bind-9.8.2/arm/Bv9ARM-book.xml
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch01.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch02.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch03.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch04.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch05.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch06.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch07.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch08.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch09.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.ch10.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.html
/usr/share/doc/bind-9.8.2/arm/Bv9ARM.pdf
/usr/share/doc/bind-9.8.2/arm/Makefile
/usr/share/doc/bind-9.8.2/arm/Makefile.in
/usr/share/doc/bind-9.8.2/arm/README-SGML
/usr/share/doc/bind-9.8.2/arm/dnssec.xml
/usr/share/doc/bind-9.8.2/arm/isc-logo.eps
/usr/share/doc/bind-9.8.2/arm/isc-logo.pdf
/usr/share/doc/bind-9.8.2/arm/latex-fixup.pl
/usr/share/doc/bind-9.8.2/arm/libdns.xml
/usr/share/doc/bind-9.8.2/arm/man.arpaname.html
/usr/share/doc/bind-9.8.2/arm/man.ddns-confgen.html
/usr/share/doc/bind-9.8.2/arm/man.dig.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-dsfromkey.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-keyfromlabel.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-keygen.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-revoke.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-settime.html
/usr/share/doc/bind-9.8.2/arm/man.dnssec-signzone.html
/usr/share/doc/bind-9.8.2/arm/man.genrandom.html
/usr/share/doc/bind-9.8.2/arm/man.host.html
/usr/share/doc/bind-9.8.2/arm/man.isc-hmac-fixup.html
/usr/share/doc/bind-9.8.2/arm/man.named-checkconf.html
/usr/share/doc/bind-9.8.2/arm/man.named-checkzone.html
/usr/share/doc/bind-9.8.2/arm/man.named-journalprint.html
/usr/share/doc/bind-9.8.2/arm/man.named.html
/usr/share/doc/bind-9.8.2/arm/man.nsec3hash.html
/usr/share/doc/bind-9.8.2/arm/man.nsupdate.html
/usr/share/doc/bind-9.8.2/arm/man.rndc-confgen.html
/usr/share/doc/bind-
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值