Linux之DNS详解
2015-12-03 01:06
537 查看
标签:DNS
转载自:http://lanlian.blog.51cto.com/6790106/1274830
一、DNS的原理
DNS(DomainName Server)是域名解析服务器,提供域名和IP地址之间一种转换机制,IP地址是平面结构不容易记住,DNS是层次化的结构,便于记忆
下面是DNS原理的通俗易懂图便于理解下面的讲解
DNS的层次化
1)根域:根域位于层次结构的最顶部并用“.”来表示,全球有十三个根服务器,一个主根服务器,十二个辅助根服务器。
2)顶级域:顶级域是按照组织或地理位置来划分的
.gov:表示政府组织
.com:表示商业组织
.net:网络中心
.org:非营利性组织
.edu:教育部门
.cn .uk .us:国家国别的代码,cn表示中国,uk表示英国,us表示美国
3)二级域:由国际域名组织为互联网中的个人或部门指定和登记的二级域,如51cto.com,baidu.com
DNS服务器配置大致分为三种:
(1)主DNS服务器(Master DNS) :数据库更新由管理员手动完成
(2)辅助DNS服务器 (SlaveDNS):数据库更新从主服务器或其他辅助DNS服务器那里完成
(3)缓存DNS服务器:没有自己的区域数据文件,只是帮助客户端向外部DNS请求查询,然后将查询的结果保存到它的缓存中。
一个域可以有拥有多个从服务器,但只能有一台主服务器
一台从服务器也可以从另一台从服务器那里获取数据
客户端检索本地数据文件的相关记录,客户端将无法自行解释的需求,通过53端口送给指定的DNS服务器
DNS解析类型:
FQDN(Fully Qualified Domain Name)完全合格域名,由主机名+域名组成,如www.51cto.com
正向解析:FQDN-->IP,把完全合格域名解析为IP地址
反向解析:IP-->FQDN,把IP解析为完全合格域名。
二、关于软件BIND
BIND:BerkeleyInternet Name Daemon,BIND是在Internet上应用最为广泛的DNS服务器,提供稳定与可信赖的下层结构以提供域名与IP地址的转换
Bind的相关软件包
bind-9.8.2-0.17.rc1.el6.x86_64提供域名服务的主程序和相关文件
bind-libs-9.8.2-0.17.rc1.el6.x86_64提供域名域名服务器所依赖的库文件
bind-utils-9.8.2-0.17.rc1.el6.x86_64提供了对DNS 服务的测试工具程序
注:bind-chroot:安装上这个包之后让named进程有限的活动在/var/named/chroot/中防止黑客攻击导致服务器的崩溃。这里就不安装了,因为安装之后除了路径改变之后其他均不变。所以为了更好的熟悉过程就暂时不装了
安装bind软件:
首先确保yum源创建好,然后安装bind软件
三、配置缓存服务器
把客户端发送的请求转发给能解析到的服务器
在主配置文件里面/etc/named.conf里面修改
开启服务service named start (/etc/rc.d/init.d start)
第一次需要开启服务,之后只需要加载配置文件即可
servicenamed reload (rndc reload)
named-checkconf
DNS的测试工具
命令的使用
dig[option] 资源记录类型名称 @servier-ip
option:
-t指定类型
-x指定IP
@servier-ip说明解析是指定服务器的IP
不写IP,默认是/etc/resolve.conf里面指定的IP
资源记录有类型:
A:正向记录,用来记录当前域名所对应的IP地址
NS:(nameserver)指明当前域内有哪些服务器
MX:用来指明一个域的邮件服务器
CNAME:进行正式名称和别名的对应
SOA:标明当前域的起始授权记录,指明当前域内的主DNS服务器
PTR:代表“IP地址”与“主机名”的对应关系,作用刚好与A记录相
nslookup dig host三个命令的使用范例
[root@stu2 named]# dig -t A www.baidu.com @172.16.0.1
[root@stu2 named]# host -t A www.baidu.com 172.16.0.1
四、主从DNS服务器的搭建
首先在主配置文件/etc/named.conf中需要注释掉几行
然后在区域配置文件/etc/named.rfc1912.zones中创建区域
正向解析文件创建目录为/var/named/magedu.com.zone
区域创建好之后需要修改权限和属组
#chmod 640 magedu.com.zone
#chown :named magedu.com.zone
反向区域解析文件 /var/named/172.16.10.zone
配置完之后,检查语法是否错误,然后加载配置文件后即可进行正反向的区域解析。
#named-checkconf
#rndc reload
从slave的配置
在主配置文件/etc/named.conf中需要注释掉几行
在区域配置文件/etc/named.rfc1912.zones中创建区域
#rndcreload
#cd/var/named/slaves
#ls即可以查看内容
五、DNS的子域授权
思路:在父域的区域解析库文件里面创建子域的NS记录和子域的A记录,在子域服务器上面有子域的区域解析库文件
在/etc/named.conf注释掉一下四行
在/etc/named.rfc1912.zones添加内容并创建子域区域解析库文件dns.dep1.magedu.com
实现子域授权
父域是可以直接解析子域的,子域默认是不能解析父域的,但可以进行转发进行访问父域
六、DNS的转发
当客户端找自己的DNS服务器解析自己的主机时,该DNS服务器查看不是自己管理范围,就直接转发出去通过能解析的
DNS服务器进行解析,将返回结果返回给客户端自己的DNS服务器,由该服务器将结果返回给客户端
总结:深刻理解DNS服务器的工作原理和操作过程对以后的学习有很大的帮助,希望大家互相学习,共同进步,不足之处我会尽量完善!
本文出自 “时光的印记” 博客,http://lanlian.blog.51cto.com/6790106/1274830
转载自:http://lanlian.blog.51cto.com/6790106/1274830
一、DNS的原理
DNS(DomainName Server)是域名解析服务器,提供域名和IP地址之间一种转换机制,IP地址是平面结构不容易记住,DNS是层次化的结构,便于记忆
下面是DNS原理的通俗易懂图便于理解下面的讲解
DNS的层次化
1)根域:根域位于层次结构的最顶部并用“.”来表示,全球有十三个根服务器,一个主根服务器,十二个辅助根服务器。
2)顶级域:顶级域是按照组织或地理位置来划分的
.gov:表示政府组织
.com:表示商业组织
.net:网络中心
.org:非营利性组织
.edu:教育部门
.cn .uk .us:国家国别的代码,cn表示中国,uk表示英国,us表示美国
3)二级域:由国际域名组织为互联网中的个人或部门指定和登记的二级域,如51cto.com,baidu.com
DNS服务器配置大致分为三种:
(1)主DNS服务器(Master DNS) :数据库更新由管理员手动完成
(2)辅助DNS服务器 (SlaveDNS):数据库更新从主服务器或其他辅助DNS服务器那里完成
(3)缓存DNS服务器:没有自己的区域数据文件,只是帮助客户端向外部DNS请求查询,然后将查询的结果保存到它的缓存中。
一个域可以有拥有多个从服务器,但只能有一台主服务器
一台从服务器也可以从另一台从服务器那里获取数据
客户端检索本地数据文件的相关记录,客户端将无法自行解释的需求,通过53端口送给指定的DNS服务器
DNS解析类型:
FQDN(Fully Qualified Domain Name)完全合格域名,由主机名+域名组成,如www.51cto.com
正向解析:FQDN-->IP,把完全合格域名解析为IP地址
反向解析:IP-->FQDN,把IP解析为完全合格域名。
二、关于软件BIND
BIND:BerkeleyInternet Name Daemon,BIND是在Internet上应用最为广泛的DNS服务器,提供稳定与可信赖的下层结构以提供域名与IP地址的转换
Bind的相关软件包
bind-9.8.2-0.17.rc1.el6.x86_64提供域名服务的主程序和相关文件
bind-libs-9.8.2-0.17.rc1.el6.x86_64提供域名域名服务器所依赖的库文件
bind-utils-9.8.2-0.17.rc1.el6.x86_64提供了对DNS 服务的测试工具程序
注:bind-chroot:安装上这个包之后让named进程有限的活动在/var/named/chroot/中防止黑客攻击导致服务器的崩溃。这里就不安装了,因为安装之后除了路径改变之后其他均不变。所以为了更好的熟悉过程就暂时不装了
安装bind软件:
首先确保yum源创建好,然后安装bind软件
把客户端发送的请求转发给能解析到的服务器
在主配置文件里面/etc/named.conf里面修改
开启服务service named start (/etc/rc.d/init.d start)
第一次需要开启服务,之后只需要加载配置文件即可
servicenamed reload (rndc reload)
named-checkconf
DNS的测试工具
dig[option] 资源记录类型名称 @servier-ip
option:
-t指定类型
-x指定IP
@servier-ip说明解析是指定服务器的IP
不写IP,默认是/etc/resolve.conf里面指定的IP
资源记录有类型:
A:正向记录,用来记录当前域名所对应的IP地址
NS:(nameserver)指明当前域内有哪些服务器
MX:用来指明一个域的邮件服务器
CNAME:进行正式名称和别名的对应
SOA:标明当前域的起始授权记录,指明当前域内的主DNS服务器
PTR:代表“IP地址”与“主机名”的对应关系,作用刚好与A记录相
nslookup dig host三个命令的使用范例
[root@stu2 named]# host -t A www.baidu.com 172.16.0.1
四、主从DNS服务器的搭建
首先在主配置文件/etc/named.conf中需要注释掉几行
然后在区域配置文件/etc/named.rfc1912.zones中创建区域
区域创建好之后需要修改权限和属组
#chmod 640 magedu.com.zone
#chown :named magedu.com.zone
反向区域解析文件 /var/named/172.16.10.zone
配置完之后,检查语法是否错误,然后加载配置文件后即可进行正反向的区域解析。
#named-checkconf
#rndc reload
从slave的配置
在主配置文件/etc/named.conf中需要注释掉几行
在区域配置文件/etc/named.rfc1912.zones中创建区域
#rndcreload
#cd/var/named/slaves
#ls即可以查看内容
五、DNS的子域授权
思路:在父域的区域解析库文件里面创建子域的NS记录和子域的A记录,在子域服务器上面有子域的区域解析库文件
在/etc/named.conf注释掉一下四行
父域是可以直接解析子域的,子域默认是不能解析父域的,但可以进行转发进行访问父域
当客户端找自己的DNS服务器解析自己的主机时,该DNS服务器查看不是自己管理范围,就直接转发出去通过能解析的
DNS服务器进行解析,将返回结果返回给客户端自己的DNS服务器,由该服务器将结果返回给客户端
本文出自 “时光的印记” 博客,http://lanlian.blog.51cto.com/6790106/1274830
相关文章推荐
- Linux socket 初步
- 小心服务器内存居高不下的元凶--WebAPI服务
- linux lsof详解
- linux 文件权限
- Linux 执行数学运算
- 10 篇对初学者和专家都有用的 Linux 命令教程
- Linux 与 Windows 对UNICODE 的处理方式
- Ubuntu12.04下QQ完美走起啊!走起啊!有木有啊!
- 解決Linux下Android开发真机调试设备不被识别问题
- 运维入门
- 运维提升
- Linux 自检和 SystemTap
- Ubuntu Linux使用体验
- c语言实现hashmap(转载)
- Linux 信号signal处理机制
- linux下mysql添加用户
- Scientific Linux 5.5 图形安装教程
- Seafile Server本地权限提升漏洞(CVE-2014-5443)