DNS and bind

DNS(Domain name server,域名服务器)

是进行域名和与之对应的IP地址转换的服务器。

我们平时上网都是输入主机名来访问网站的,例如:www.baidu.com,这是一个主机名;

俩主机间通信要使用 IP+端口 的方式,因为IP地址不容易被人记忆,所以就使用方便人记忆的主机名,而电脑更容易接受IP地址的方式,所以我们就需要一个‘翻译官’——域名服务器。它可以把IP转换为主机名,也可以将主机名转换为IP地址;

早期,为了提供主机名与IP地址对应的应用,在本地引入了一个hosts文件,里面记录了每个主机名字和IP地址的对应关系;一个主机名还可以有多个别名。

随着互联网内的主机的增多,hosts文件也越来越大,而且还要不断更新,这种方法就不适用了;

这时,DNS服务器应运而生;

DNS协议采用分层的倒置的树状结构机制管理主机名,把大范围分成多个小范围。例如:你要申请一个域名baidu.con,在这个域名范围内添加3个主机:

一个是www,这个域名就是www.baidu.com;

一个主机作为bbs论坛使用,这个域名就是bbs.baidu.com;

一个主机作为blog博客使用,这个域名就是blog.baidu.com;

就是基于这种机制管理主机名的,因此,最顶级的叫根域.(点号)表示,即所有主机名都在根域下;

一级域:按照组织的类型的不同分为:

.com 表示商业机构

.org 表示非盈利性组织

.gov 表示政府机构

.mil 表示军事机构

.net 表示网络服务机构

.edu 表示教育机构

.name 表示个人网站

.info 表示信息提供


DNS查询类型:

递归查询:本地客户端向本地的DNS服务器查询,只发出去一次请求,就给它返回答案;就像你找人问路,那个人虽然不知道你的目的地,但他会问朋友或者别人,直到问到答案人后交给你。

迭代查询:要发出去多次请求,需要自己查询不同的域名,最后才返回答案。再说上面问路的事,这次是你问A,A说B知道,你去问B吧;你问B,B说C知道,你问C去吧,就这样,直到你问出答案。

全球有13台根服务器

域名空间:父域只知道自己直属子域的地址,子域不知道父域的地址,所有DNS都知道13台根域的地址;

DNS服务器角色

主DNS:存放区域文件,管理域资源;

辅DNS:没有自己的区域文件,区域数据是从主DNS复制而来;

缓存服务器:(cache-only):提供高速缓存;

域资源类型

SOA:起始授权机构,定义DNS区域中的权威服务器;

NS:定义DNS区域正在提供DNS服务的主机;

A记录:主机记录(正向区域);

PTR指针:反向记录;

MX:邮件交换记录;

*:泛域名

CNAME:别名

DNS服务器端口

TCP:53(负责主/辅DNS数据复制)

UDP:53(负责DNS解析)

DNS主配置文件

options { #选项

listen-on port 53 { 192.168.100.136; }; #服务监听端口为53

listen-on-v6 port 53 { ::1; }; #服务监听端口为53(ipv6)

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    { localhost; }; #允许连接的客户机

recursion yes; #递归查找

dnssec-enable yes; #DNS加密

dnssec-validation yes; #DNS加密高级算法

dnssec-lookaside auto; #DNS加密的相关东西

/* Path to ISC DLV key */

bindkeys-file "/etc/named.iscdlv.key"; #加密用的key(私钥公钥的加密,很强)

};

logging { #日志

channel default_debug {

file "data/named.run"; #运行状态文件

severity dynamic; #静态服务器地址(根域)

};

};

zone "." IN { #根域解析

type hint;

file "named.ca"; #根域配置文件

};

include "/etc/named.rfc1912.zones"; #扩展配置文件(新开域名)

/etc/named.rfc1912.zones 文件分析

zone "localhost.localdomain" IN { #本地主机全名解析

type master; #类型为主域

file "named.localhost"; #域配置文件(文件存放在/var/named目录中)

allow-update { none; }; #不允许客户端更新

};

zone "localhost" IN { #本地主机名解析

type master;

file "named.localhost";

allow-update { none; };

};

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1. 概述 在网络环境中一般用户只需要在浏览器中输入url如www.sunny.com就可以到对应服务器获取相应的...
    ghbsunny阅读 2,995评论 0 7
  • 1、第八章 Samba服务器2、第八章 NFS服务器3、第十章 Linux下DNS服务器配站点,域名解析概念命令:...
    哈熝少主阅读 3,783评论 0 10
  • 14.1 引言 域名系统(DNS)是一种用于TCP/IP应用程序的分布式数据库,它提供主机名字和IP地址之间的转换...
    张芳涛阅读 1,938评论 0 8
  • 什么是DNS及功能: DNS(Domain name server),是将IP地址转换为域名地址。当在互联网访问外...
    魏镇坪阅读 7,699评论 0 8
  • 对于每一个艺术生,心中都有一段关于艺考的美好回忆,现在来分享我的经历吧! 怀揣着梦想,七月份我来到一家培训机构,在...
    狮子座的逸轩阅读 291评论 1 1