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.委派、授权、转发区域的配置