Internet发展至今,在网的服务器和我的主机数量庞大,每一个用户经过记忆IP地址访问网络资源并不现实了。数据库
目前你们访问互联网进行上网浏览信息时,正常是经过域名进行访问(例如:www.baidu.com),而实际上网络中的计算机之间只能基于IP地址来相互访问识别对方的身份,并且要想在互联网中传输数据,也必须基于外网的IP地址来完成。这里就出现了DNS域名系统技术来帮咱们简化此过程,以此来下降用户访问网络资源的门槛。为何呢?由于它相对于IP地址,域名更容易被理解并记忆,这样你们即可以经过域名来访问互联网中各项服务了。vim
简单来讲,就是可以接受用户输入的域名或IP地址,而后自动查找与之匹配的IP地址或域名,即将域名解析为IP地址(正向解析),或将IP地址解析为域名(反向解析)。这样咱们只须要在浏览器中输入域名就能打开想要访问的网站了。目前,DNS域名解析技术的正向解析也是咱们最常使用的一种工做模式。浏览器
鉴于互联网中的域名和IP地址对应关系数据库太过于庞大,DNS域名解服务器采用了相似目录树的层次结构来记录域名与IP地址之间的对应关系,从而造成了一个分布式的数据库系统,以下图。
缓存
域名后缀通常分为国际域名和国内域名,常见的域名后缀有.com(商业组织)、.org(非盈利组织)、.gov(政府部门)、.net(网络服务商)、.edu(教研机构)、.pub(公共大众)、.cn(中国国家顶级域名)等。服务器
DNS域名系统技术做为互联网基础设施中的重要一环,为了提供不间断、稳定且快速的域名查询服务,保证互联网的正常运转,提供了如下三种类型的服务器:网络
主服务器: 在特定区域内具备惟一性,负责维护该区域内的域名与IP地址之间的对应关系;数据结构
从服务器: 从主服务器中得到域名与IP地址的对应关系并进行维护,以防主服务器宕机等状况;负载均衡
- 缓存服务器: 经过向其余域名解析服务器查询得到域名与IP地址的对应关系,并常常查询的域名信息保存到服务器本地,以此来提升重复查询的效率。
主服务器是用于管理域名和IP地址对应关系的真正服务器,从服务器帮助主服务器“打下手”,分散部署在各个国家、省市或地区,以便让用户就近查询呢域名,从而减轻主服务器的负载压力。缓存服务器不太经常使用,通常部署在企业内网的网关位置,用于加速用户的域名查询请求。分布式
DNS域名解析服务采用了分布式的数据结构来存放海量的“区域数据”信息,在执行用户发起的域名查询请求时,具备递归查询迭代查询两种方式。所谓的递归查询,是指DNS服务器在收到用户发起的请求时,必须向用户返回一个准确的查询结果。若是DNS服务器本地没有存储与之对应的信息,则该服务器须要询问其余服务器,并将返回的查询结构提交给用户。而迭代查询则是指,DNS服务器在收到用户发起的请求时,并不直接回复查询结果,而是告诉另外一台DNS服务器的地址,用户再向这台DNS服务器提交请求,这样依次反复,直到返回查询结果。ide
rpm -ivh /mnt/cdrom/Packages/bind-9.8.2-0.17.rc1.el6_4.6.x86_64.rpm
2.bind服务程序的主要配置文件
在bind服务程序中有三个重要的配置文件:
- 主配置文件(/etc/named.conf):主要用来定义bind服务程序的运行;
- 区域配置文件(/etc/named.rfc1912.zone):用来保存域名和IP地址对应关系的所在位置;
- 数据配置文件目录(/var/named):用来保存域名和IP地址真实的对应关系的数据配置文件。
在DNS域名解析服务中,正向解析是指根据域名(主机名)查找到对应的IP地址。
vim /etc/named.conf
vim /etc/named.rfc1912.zones
zone "test.com" IN {
type master;
file "test.com.zone";
allow-update { none; };
};
[root@localhost named]# cd /var/named [root@localhost named]# ls data dynamic named.ca named.empty named.localhost named.loopback slaves [root@localhost named]# cp -p named.localhost test.com.zone
vim test.com.zone
$TTL 1D //生存周期为1天
@ IN SOA test.com. admin.test.com. (
0 ; serial //更新序列号
1D ; refresh //更新时间
1H ; retry //重试延时
1W ; expire //失效时间
3H ) ; minimum //无效解析记录的缓存时间
NS test.com. // 域名服务器记录
A 192.168.100.5 // 地址记录
AAAA ::1
IN MX 5 test.com. //邮箱交换记录
www IN A 192.168.100.2 //地址记录(www.test.com.)
mail IN A 192.168.100.3 //地址记录(mail.test.com.)
- IN A 8.8.8.8 //以上都没有解析成功就使用泛域名地址
chkconfig named on service named restart
在DNS域名解析服务中,反向解析的做用是将用户提交的IP地址解析为对应的域名信息,它通常用于对某个IP地址上绑定的全部域名进行总体屏蔽,屏蔽由某些域名发送的垃圾邮件。也能够判断某虚拟主机上运行了多少个网站。
vim /etc/named.rfc1912.zones
zone "100.168.192.in-addr.arpa" IN {
type master;
file "test.com.arpa";
allow-update { none; };
};
[root@localhost ~]# cd /var/named [root@localhost named]# ls data named.ca named.localhost slaves test.com.zone dynamic named.empty named.loopback test.com.arpa [root@localhost named]# cp -a named.localhost test.com.arpa
$TTL 1D
@ IN SOA test.com. admin.test.com. (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS ns.test.com.
A 192.168.100.5
AAAA ::1
ns A PTR ns.test.com.
3 PTR mail.test.com.
2 PTR www.test.com.
service named restart
在DNS域名解析服务中,从服务器能够从主服务器中获取指定的区域数据文件,从而起到备份解析记录与负载均衡的做用,所以经过部署从服务器能够减轻主服务器的负载压力,还能够提高用户的查询效率。
vim /etc/named.conf
vim /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//zone "test.com" IN {
type master; //类型为主服务器
file "test.com.zone";
allow-transfer { 192.168.100.6; }; //容许从服务器更新区域信息的请求,此处IP为从服务器地址
};zone "100.168.192.in-addr.arpa" IN {
type master; //类型为主服务器
file "test.com.arpa";
allow-transfer { 192.168.100.6; }; //容许从服务器更新区域信息的请求,此处IP为从服务器地址
};
service named restart
vim /etc/named.conf
vim /etc/named.rfc1912.zones
// named.rfc1912.zones:
//
// Provided by Red Hat caching-nameserver package
//
// ISC BIND named zone configuration for zones recommended by
// RFC 1912 section 4.1 : localhost TLDs and address zones
// and http://www.ietf.org/internet-drafts/draft-ietf-dnsop-default-local-zones-02.txt
// (c)2007 R W Franks
//
// See /usr/share/doc/bind*/sample/ for example named configuration files.
//zone "test.com" IN {
type slave; //类型为从服务器
masters {192.168.100.5;}; //主服务器地址
file "slaves/test.com.zone"; //同步数据配置文件后保存到slaves目录下
};zone "100.168.192.in-addr.arpa" IN {
type slave; //类型为从服务器
masters {192.168.100.5;}; //主服务器地址
file "slaves/test.com.arpa"; //同步数据配置文件后保存到slaves目录下
};
service named restart