DNS(Domain Name System,域名系统):

用于管理和解析域名与IP地址对应关系的技术。
简单来说,就是能够接受用户输入的域名或IP地址,然后自动查找与之匹配(或者说具有映射关系)的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。
  • DNS共分为下面三种类型的服务器:
主服务器:在特定区域内具有唯一性,负责维护该区域内的域名与IP地址之间的对应关系。
从服务器:从主服务器中获得域名与IP地址的对应关系并进行维护,以防主服务器宕机等情况。
缓存服务器:通过向其他域名解析服务器查询获得域名与IP地址的对应关系,并将经常查询的域名信息保存到服务器本地,以此来提高重复查询时的效
  • DNS域名解析服务采用分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具有递归查询和迭代查询两种方式
递归查询:DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。如果DNS服务器本地没有存储与之对应的信息,则该服务器需要询问其他服务器,并将返回的查询结果提交给用户。
迭代查询:DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。

BIND(Berkeley Internet Name Domain):

现在使用最为广泛的DNS服务器软件是BIND(Berkeley Internet Name Domain),最早有伯克利大学的一名学生编写
DNS服务的名称称之为BIND
BIND服务的名称称之为named
DNS默认使用UDP、TCP协议,使用端口为53(domain),953(mdc,远程控制使用)
  • DNS域名解析过程,例如在访问网站:www.xxx.com 时,其大致查询流程如下图:  

  • 最高级、最权威的根DNS服务器总共有13台,分布在世界各地,其中美国占了10台
名称	管理单位	              地理位置	      IP地址
A INTERNIC.NET          美国-弗吉尼亚州 198.41.0.4
B 美国信息科学研究所          美国-加利弗尼亚州 128.9.0.107
C PSINet公司          美国-弗吉尼亚州     192.33.4.12
D 马里兰大学          美国-马里兰州     128.8.10.90
E 美国航空航天管理局      美国加利弗尼亚州     192.203.230.10
F 因特网软件联盟        美国加利弗尼亚州     192.5.5.241
G 美国国防部网络信息中心      美国弗吉尼亚州 192.112.36.4
H 美国陆军研究所          美国-马里兰州       128.63.2.53
I Autonomica公司          瑞典-斯德哥尔摩 192.36.148.17
J VeriSign公司          美国-弗吉尼亚州 192.58.128.30
K RIPE NCC          英国-伦敦      193.0.14.129
L IANA            美国-弗吉尼亚州     199.7.83.42
M WIDE Project          日本-东京      202.12.27.33

  

安装BIND:

  • 安装:
[root@zhangjh ~]# yum -y install bind-chroot
  • BIND服务程序中的三个重要文件:
主配置文件(/etc/named.conf):用来定义bind服务程序的运行。
区域配置文件(/etc/named.rfc1912.zones):用来保存域名和IP地址对应关系的所在位置。
数据配置文件目录(/var/named):该目录用来保存域名和IP地址真实对应关系的数据配置文件。
  • 修改主配置文件(/etc/named.conf)

把 listen-on port 53 处 和 allow-query处 均修改为any;

listen-on port 53: 表示服务器上的所有IP地址均可提供DNS域名解析服务;

allow-query:允许所有人对本服务器发送DNS查询请求。

options {
listen-on port 53 { any; };      #默认是127.0.0.1
listen-on-v6 port 53 { ::1; };
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 { any; };      #默认是localhost
  • /etc/named.rfc1912.zones  定义了域名与IP地址解析规则保存的文件位置以及服务类型
  • 服务类型有三种,分别为hint(根区域)、master(主区域)、slave(辅助区域),其中常用的master和slave指的就是主服务器和从服务器。
正向解析:将域名解析为IP地址
反向解析:将IP地址解析为域名
  • 正向解析参数解释:
zone "localhost.localdomain" IN {
type master;          #服务类型
file "named.localhost";    #域名与IP地址解析规则保存文件的位置
allow-update { none; };     #允许哪些客户端动态更新解析信息
};
  • 反向解析参数解释:
zone "1.0.0.127.in-addr.arpa" IN {      #表示为127.0.0.1的反向解析区域
type master;
file "named.loopback";
allow-update { none; };
};

  

  

正向解析实验:

  1. 编辑区域配置文件。
[root@zhangjh ~]# vim /etc/named.rfc1912.zones
zone "jianghua.com" IN {    
  type master;          #服务类型
  file "jianghua.com.zone";    #域名和IP地址解析规则文保存的位置
  allow-update { none; };       #允许哪些客户端动态更新解析信息
};

  2. 编辑数据配置文件。【可以从/var/named目录中复制一份正向解析的模板文件(named.localhost)】

[root@zhangjh named]# pwd
/var/named       #这里需要注意,不是/etc/named目录,而是/var/named
[root@zhangjh named]# vim jianghua.com.zone
$TTL 1D #生存周期为一天
@ IN SOA     jianghua.com.   root.jianghua.com. (
#授权信息开始: #DNS区域的地址 #域名管理员的邮箱(不要用@符号)
                         0 ; serial #更新序列号
1D ; refresh #更新时间
1H ; retry #重试延时
1W ; expire #失效时间
3H ) ; minimum #无效解析记录的缓存时间
NS ns.jianghua.com.    #域名服务器记录
ns    IN A  192.168.38.251     #NAMESERVER地址记录
www IN A 192.168.38.251     #地址记录(可以存在多个:www.jianghua.com. bbs.jianghua.com.)
bbs   IN A   192.168.38.151

  3. 重启named服务,nslookup命令检验解析结果,注意先把网卡的DNS地址参数设置为本机IP地址。

[root@zhangjh ~]# systemctl restart named
[root@zhangjh ~]# nslookup
> www.jianghua.com
Server: 192.168.38.251
Address: 192.168.38.251#53 Name: www.jianghua.com
Address: 192.168.38.251 > bbs.jianghua.com
Server: 192.168.38.251
Address: 192.168.38.251#53 Name: bbs.jianghua.com
Address: 192.168.38.151

  

  

  

反向解析实验:

 在DNS域名解析服务中,反向解析的作用是将用户提交的IP地址解析为对应的域名信息,它一般用于对某个IP地址上绑定的所有域名进行整体屏蔽,屏蔽由某些域名发送的垃圾邮件。它也可以针对某个IP地址进行反向解析,大致判断出有多少个网站运行在上面。

  1. 编辑区域配置文件。
[root@zhangjh ~]# vim /etc/named.rfc1912.zones
zone "jianghua.com" IN {          #正向解析
type master;
file "jianghua.com.zone";
allow-update { none; };
};
zone "38.168.192.in-addr.arpa" IN {  #反向解析
type master;
file "192.168.38.arpa";
};

  2.编辑数据配置文件。【可以从/var/named目录中复制一份反向解析的模板文件(named.loopback)】

[root@zhangjh ~]# vim /var/named/192.168.38.arpa
$TTL 1D
@ IN SOA jianghua.com. root.jianghua.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.jianghua.com.
ns A 192.168.38.251
251 PTR www.jianghua.com. #注意此处写的是主机位!!
251 PTR bbs.jianghua.com.

  3.检验解析结果

[root@zhangjh ~]# systemctl restart named
[root@zhangjh ~]# nslookup
> 192.168.38.251
Server: 192.168.38.251
Address: 192.168.38.251#53 251.38.168.192.in-addr.arpa name = bbs.jianghua.com.
251.38.168.192.in-addr.arpa name = www.jianghua.com.

  

  

DNS域名解析服务(bind)的更多相关文章

  1. 《linux就该这么学》第十四节课:第13章,部署DNS域名解析服务(bind服务)

    (借鉴请改动)  第十二章收尾  12.2.nfs网络文件系统 RHEL7默认安装了nfs,配置文件在  /etc/export  写入格式:共享目录    允许的客户端(参数)  ro        ...

  2. DNS域名解析服务以及Bind服务程序

    一般来讲域名比IP地址更加的有含义.也更容易记住,所以通常用户更习惯输入域名来访问网络中的资源,但是计算机主机在互联网中只能通过IP识别对方主机,那么就需要DNS域名解析服务了. DNS域名解析服务( ...

  3. 使用unbound提供DNS域名解析服务

    使用unbound提供DNS域名解析服务 # 作者:Eric # 微信:loveoracle11g # 先配yum仓库 [root@server1 ~]# cd /etc/yum.repos.d/ [ ...

  4. DNS域名解析四种配置实验 ---Linux DNS域名解析服务

    DNS域名解析服务一.BIND域名服务基础1) DNS的定义2)域名结构3)DNS系统的作用① 正向解析:根据域名查找对应的IP地址② 反向解析:根据IP地址查找对应的域名③ DNS系统的分布式数据结 ...

  5. DNS域名解析服务

    一.DNS的体系结构: DNS:域名解析系统 DNS由根域.顶级域和子域构成.根域主要负责管理顶级域,顶级域主要负责管理其下面子域. .代表DNS的根域. .com..edu等代表顶级域. shou. ...

  6. DNS域名解析服务(重点)

    一 .DNS  系统的作用 1.DNS 服务器概述 DNS 系统在网络中的作用就是维护着一个地址数据库,其中记录了各种主机域名:与 IP地址的对应关系,以便为客户程序提供正向或反向的地址查询服务,即正 ...

  7. Linux网络服务第七章DNS域名解析服务

    端口:53 一.DNS服务器 正向解析:根据域名查IP地址,即将指定的域名解析为相对应的IP地址.域名的正向解析是DNS服务器最基本的功能,也是最常用的功能. 反向解析:根据IP地址查域名,即将指定的 ...

  8. 配置DNS域名解析服务

    概:   DNS技术作为互联网基础设施中的重要一环,为用户提供不间断.稳定且快速的域名查询服务,保证互联网正常运转.在互联网中,用户基本上都是基于DNS服务,使用域名访问网络上的计算机,DNS服务是我 ...

  9. DNS域名解析服务及其配置

    一.背景 到 20 世纪 70 年代末,ARPAnet 是一个拥有几百台主机的很小很友好的网络.仅需要一个名为 HOSTS.TXT 的文件就能容纳所有需要了解的主机信息:它包含了所有连接到 ARPAn ...

随机推荐

  1. Python列表边遍历边修改问题解决方案:alist[:]

    最近在看python,遇到个简单的问题:删除列表中指定的重复元素,发现一些实用并且有趣的东西. 1.错误示范 alist = [1,1,2,2,3,3,2,2,1,1] for i in alist: ...

  2. iDempiere 使用指南 采购开票付款流程

    Created by 蓝色布鲁斯,QQ32876341,blog http://www.cnblogs.com/zzyan/ iDempiere官方中文wiki主页 http://wiki.idemp ...

  3. ArcGIS数据存储的方式

    工作空间文件夹和地理数据库为存储和管理ArcGIS地理信息提供了主要容器.工作空间文件夹只是磁盘上的普通文件夹,它可保存大量的文件地理数据库.个人地理数据库.基于文件的数据集以及一系列ArcGIS文档 ...

  4. IDEA 打包jar

    1.ctrl+shift+alt+s 弹出项目设置窗口,点击Artifacts页签,点+号,选择jar Empty.修改jar name,将右侧需要打包进去的资源拖到左侧,记住Output direc ...

  5. 【2017-06-20】Linux应用开发工程师C/C++面试问题记录之一:Linux多线程程序的同步问题

    参考之一:Linux 线程同步的三种方法 链接地址:http://www.cnblogs.com/eleclsc/p/5838790.html 简要回答: Linux下线程同步最常用的三种方法就是互斥 ...

  6. C4C和Outlook的集成

    从C4C系统下载Outlook的Addin, 安装之后,会在Outlook里看见一个新的面板: 点击Log On登录: 如果需要的话,在Settings里设置proxy. 登录之后,即可立即在outl ...

  7. php5.5.15注释问题PHP Deprecated: Comments starting with '#' are deprecated in *.ini 警告解决办法

    PHP Deprecated:  Comments starting with '#' are deprecated in D:\mvam\php5\php.ini on line 1944 in U ...

  8. 木棒,POJ(1011)

    题目链接:http://poj.org/problem?id=1011 解题报告: #include <cstdio> #include <cstring> #include ...

  9. HttpServletRequest request 获取form参数的两种方式

    @RequestMapping(value="/pay",method = RequestMethod.POST) public String buildRequest(HttpS ...

  10. Linux内存管理 —— 内核态和用户态的内存分配方式

    1. 使用buddy系统管理ZONE我的这两篇文章buddy系统和slab分配器已经分析过buddy和slab的原理和源码,因此一些细节不再赘述.所有zone都是通过buddy系统管理的,buddy ...