Chinaunix首页 | 论坛 | 博客
  • 博客访问: 57251
  • 博文数量: 48
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 260
  • 用 户 组: 普通用户
  • 注册时间: 2015-08-16 11:04
文章分类

全部博文(48)

文章存档

2015年(48)

分类: LINUX

2015-08-16 11:26:08

DNS,全称Domain Name System,即域名解析系统。DNS帮助用户在互联网上寻找路径。在互联网上的每一个计算机都拥有一个唯一的地址,称作“IP地址”(即互联网协议地址)。由于IP地址(为一串数字)不方便记忆,DNS允许用户使用一串常见的字母(即“域名”)取代。

DNS的作用:简单的说就是将名称如(、等)解析到对应的合法的ip地址上。

Hosts文件

1. /etc/hosts  【linux】

2. C:\WINDOWS\system32\drivers\etc\hosts  【window】

也能将域名-----》ip的解析,,不过只适用于小型网络。

所以大型的网络要用DNS来解析。

1.DNS层次结构

在DNS中采用分层结构,包括根域、顶级域、二级域及主机名称。域名空间的层次结构类似一个倒置的树,其中根作为最高级别,大树枝处于下一级别,树叶处于最低级别。。如下图:

根域13服务器11在美国,1台在日本 ,1台在欧洲。。

FQDN (Fully Qualified Domain Name ,完全合格的域名。)有主机名和(DNS后缀)共同组成。。。主机名是FQDN最左端的部分。

2. DNS查询过程

①  Pc 发出请求 【名称】

② Pc先看自己的缓存,如果有就用,

③ Pc缓存上没有,就把请求发给DNS服务器,服务器看自己的缓存,有就发给客户机

以上三步为递归查询。如下图的(1、5)

迭代查询时在DNS服务器之间

迭代就是你的当前DNS服务器替你去查询,然后把查询的结果返回给你的主机。如下图的(2、3、4)过程。         


所以DNS的查询过程是递归+迭代的方式



3. DNS服务器分类

①  主dns服务器    原始记录

②  辅助dns服务器  记录副本 【不能删除 改变】

③  caching-only服务器  只做缓存

④  存根服务器 

4. DNS资源记录类型(RR)

① SOA :起始授权记录  包括【主dns服务器  管理员邮箱  刷新策略】的设置

② NS :  名称服务器  记录该区域的授权服务器

③ A  : 地址记录  把GQDN映射到ip地址

④ MX: 邮件交换    指上一个邮件服务器

⑤ CNAME  别名 

⑥ PTR  反向地址  把ip映射到GQDN地址

还有SRV、TXT、KEY、NXT 、SIG等

5.  DNS服务器的实现

window            dns服务 (在添加和删除windows组件中安装)

linux              bind  powerdns  mydns  动态域名  mydns-ng

Bind (Berkeley Internet Name Domain)市场占有率为70%左右,所以我们就安装bind服务来实现DNS服务

6.BIND的安装

安装包有:

 1.bind  主程序即服务器端软件

 2.bind-chroot  安全 【产生额外目录】

 3.caching-nameserver  产生dns的主配置文档的样例文件,实现缓存服务器

rm  -ivh  安装包

yum  -y install  包名


DNS 运行在53端口上 其中 tcp 53 用来区域文件同步  udp 53 用来监听请求查询

主要安装目录

1.dns服务器目录        /var/named/chroot/

2.主配置文档目录        /var/named/chroot/etc

3.区域文件目录          /var/named/chroot/var/named


在/var/named/chroot/etc/下有一个名为named.caching-nameserver.conf的样例文件,首先使用命令复制为named.conf   

cp -p named.caching-nameserver.conf named.conf      一定要加-p参数


关于named.conf详解

----------------略

 14 options {

 15        listen-on port 53 { 127.0.0.1; };  监听DNS查询请求的本机ip地址及端口

 16        listen-on-v6 port 53 { ::1; };      和15行功能一样只适用ipv6

 17        directory      "/var/named";    指定区域文件路径(相对)

 18        dump-file      "/var/named/data/cache_dump.db"; 当执行rndc dumpdb命令时,DNS服务器存放数据库文件路径

 19        statistics-file "/var/named/data/named_stats.txt"; 当执行rndc stats命令时,服务器会将统计信息追加到的文件路径名

 20        memstatistics-file "/var/named/data/named_mem_stats.txt"; DNS服务器输出的内存使用统计文件路径名

 21

 22        // Those options should be used carefully because they disable port

 23        // randomization

 24        // query-source    port 53;  指定客户端在提交DNS查询时必须使用的源端口 

 25        // query-source-v6 port 53;  ipv6适用

 26

 27        allow-query    { localhost; }; 指定接受DNS查询请求的客户端

 28        allow-query-cache { localhost; };

 29 };

 30 logging {

 31        channel default_debug {

 32                file "data/named.run";

 33                severity dynamic;

 34        };

 35 };

 36 view localhost_resolver {

 37        match-clients      { localhost; };  指定提交DNS客户端的源ip地址范围

 38        match-destinations { localhost; };    指定提交DNS客户端的目标ip地址范围

 39        recursion yes;                    允许递归查询

 40        include "/etc/named.rfc1912.zones";    指定主配置文件(相对)

 41 };

还用一个重要的选项 forwarders  指定转发服务器

在主配置文件中可以有多个view

7.测试命令及检测工具

 nslookup 

 dig  【linux】

 host  【linux】

 语法检测工具

 检测主配置文档  named-checkconf  主配置文档的路径以及名字

 区域文件的检测工具  named-checkzone  域名    区域文件路径名字

 日志  /var/log/message

8实例

a.主要区域配置

b.辅助区域配置过程(降低DNS服务器的工作负载,提供一般时间的冗余)

c.委派、授权、转发区域的配置


阅读(400) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~