-
DNS
-
DNS是什么
-
为什么要用DNS
-
域名
-
BIND
DNS是什么
DNS:Domain Name System,域名系统
DNS作为域名和IP地址相互映射的一个分布式数据库,能够让用户更方便的访问互联网。它的正向映射是吧一个主机和IP地址关联起来,它的反向映射则是IP地址到主机名。
DNS协议运行在UDP协议上,使用53端口。
为什么要用DNS
-
连接到互联网上的主机不计其数。当我想要访问
www.magedu.com
这台主机的时候,是如何查找到它的呢?
假如,我的电脑想要访问www.magedu.com
这个网站。由于底层网络是只能理解IP地址,而我的电脑不知道www.magedu.com
这台主机的IP地址。所以我的电脑会向最近的远端DNS服务器发送请求查询www.magedu.com
的IP地址。DNS服务器收到查询请求之后,把查询到的结果(IP:101.200.188.230)再返还给我的电脑。然后我的电脑再通过IP地址进行访问。
如图所示: -
我的电脑向DNS服务器发送查询请求
-
DNS服务器将查询的结果返还给我的电脑
-
我的电脑通过IP地址访问
www.magedu.com
域名
-
DNS名字空间
DNS名字空间被组织成一个“树”形结构。每个完整的域名(例如,www.magedu.com)是这棵树的分支上的一个结点。
完整限定域名(FQDN,Fully Qualified Domain Name)是到一个DNS对象的完整路径,包括最后的一个点。例如,magedu.com
域里的一台为www
的主机,其FQDN就是www.baidu.com
。
以上述的域名为例说明,magedu
网址是由两部分组成,标号magedu
是这个域名的主体,而最后的标号com
则是该域名的后缀,代表的这是一个com国际域名,是顶级域名。而前面的www
是网络名,为www的域名。
DNS规定,域名中的标号由英文字母和数字组成,每个组成部分(标号)不能超过63个字符,整个FQDN(完整域名)全长不超过256个字符。FQDN不区分大小写,但是它们通常都采用小写。RFC2181对域名放开了限制。 -
域名级别
域名分为:
国际顶级域名:.com,.net,.org,.edu等
国家地区顶级域名:.cn,.de,.jp,.hk,.uk,.us等
除了顶级域名外,还有二级域名,就是靠近顶级域名的左侧的字段。如:www.magedu.com
中,.magedu
就是二级域名。接下来还有三级域名,即靠近二级域名的左侧的字段,以此类推还有四级域名等等。 -
DNS查询类型
递归查询:客户机向根服务器发送请求,根服务器并不返回真实的答案,而是推荐它下级的服务器,以此类推,直到查询IP地址返回给客户机。
迭代查询:客户机向DNS服务器发送请求,DNS服务器直接回复答案给客户机。 -
域名解析
正向解析:FQDN到IP地址的解析。
反向解析:IP地址到FQDN的解析。 -
域名服务器的分类
服务器的类型 说明 主服务器 维护所负责解析的域内解析库的服务器 从服务器 从主DNS服务器或其它从DNS服务器“复制”(区域传送)一份解析库 缓存服务器 缓存以前的查询,通常没有本地的区 转发服务器 负责非本地域名的本地查询 -
一次完整的查询过程
以上述域名www.magedu.com
为例。客户机向最近的远端DNS服务器发送查询请求,DNS服务器首先查看缓存中是否有www.magedu.com
这条记录。如果没有就向根服务器发送查询请求,根服务器会告诉你要去请求.com
顶级服务器。之后DNS服务器再向顶级域名服务器发送查询请求,得到的回复是向.magedu
这个二级域名服务器发送查询请求。最终,DNS服务器向二级域名发送请求并得到正确答案返回给客户机。同时将此次查询的结果写入缓存之中,以便下次的查询。 -
资源记录
DNS层次结构中的每一个区(zone),都有与之相关的一组资源记录。资源记录的基本格式是:name [TTL] IN rr_type value
记录的类型类型 名称 功能 SOA Start Of Authority 定义一个DNS区 NS Name Server 标识服务器,授权子域 A IPv4 Address 名字到地址的转换 AAAA IPv6 Address 名字到IPv6地址的转换 PTR Pointer 地址到名字的转换 MX Mail Exchanger 控制邮件的路由 CNAME Canonical Name 主机的昵称或别名 -
记录类型解释
SOA
一个SOA记录标记出一个区,即位于DNS域名空间中相同位置的一组资源记录的开始位置。一个DNS域的数据通常至少包括两个区:一个区用来把主机名转换成IP地址,称为正向区,其他一些区把IP地址反向映射到主机名,称为反向区。
例如: magedu.com. 86400 IN SOA ns.magedu.com. admin.magedu.com. ( 2016040201 ; 序列号 2H ;刷新时间 10M ;重试时间 1W ;过期时间 1D ;否定答案的TTL值 )
NS
NS(域名服务器)记录标识一个区的权威服务器(主服务器和从服务器),并把子域授权给其他机构。NS记录通常直接放在这个区的SOA记录后面
注意:一个区域可以有多条NS记录
例如: magedu.com. IN NS ns1.magedu.com. magedu.com. IN NS ns2.magedu.com. 注意: 相邻的两个资源记录的name相同时,后续的可以省略。 对NS记录而言,任何一个NS记录后面的服务器名字,都应该在后续有一个A记录。
MX
电子邮件系统使用MX记录来更有效地路由邮件。MX记录优先于邮件发送方所指定的目的地址,在大多数情况下,它将邮件指向接收方网点的邮件主机。
一个区域内,MX记录可有多个,但是每个记录的value之前应该有一个数字(0-99)。表示此服务器的优先级,数字越小优先级越高。 例如: magedu.com. IN MX 10 mx1.magedu.com. IN MX 20 mx2.magedu.com. 注意: 对MX记录而言,任何一个MX记录后面的服务器名字,都应该在后续有一个A记录。
A
A记录是DNS数据库的核心。它们提供了主机名到IP地址的映射,而这以前实在/etc/hosts
文件中指定的。一个主机通常给它的每个网络接口都有一条A记录。
例如: ns1 IN A 101.200.188.230
AAAA
AAAA记录提供主机名到IPv6地址的映射。
PTR
PTR记录提供IP地址到主机名的反向映射。反向映射记录存在于in-addr.arpa
这个域,并且以IP地址各字节逆序的形式命名。
例如: 101 IN PTR www.magedu.com.
CNAME
CNAME记录为之际多分配几个名字。通常,这些别名要么用来将某项功能与主机关联起来,要么用来缩短一个长主机名。
例如: web.magedu.com. IN CNAME www.magedu.com.
BIND
BIND指Berkeley Internet Name Domain(伯克利因特网域名)系统,它是ISC提供的一种开源软件包,为Linux、UNIX、Mac OS和Windows系统实现了DNS协议。
BIND安装
BIND需要两个包:bind
和bind-utils
,通过yum来进行安装:
~]# yum install bind bind-utils -y
主DNS的配置
一、修改/etc/named.conf
[root@ns1 ~]# vim /etc/named.conf // // named.conf // // Provided by Red Hat bind package to configure the ISC BIND named(8) DNS // server as a caching only nameserver (as a localhost DNS resolver only). // // See /usr/share/doc/bind*/sample/ for example named configuration files. // options { listen-on port 53 { any; }; // listen-on-v6 port 53 { ::1; }; 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 { any; }; recursion yes; // dnssec-enable yes; // dnssec-validation yes; // dnssec-lookaside auto; /* Path to ISC DLV key */ // bindkeys-file "/etc/named.iscdlv.key"; // managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
二、编辑/etc/named.rfc1912.zones文件,在最后添加如下两项
[root@ns1 ~]# vim /etc/named.rfc1912.zones ......省略...... zone "iamyanglei.com" IN { #正向解析 type master; #类型为主DNS file "iamyanglei.com.zone"; #正向解析文件位置 }; zone "1.168.192.in-addr.arpa" IN { #反向解析 type master; #类型为主DNS file "192.168.1.zone"; #反向解析文件位置 };
三、在/var/named/目录中添加正向解析文件iamyanglei.com.zone
[root@ns1 named]# vim iamyanglei.com.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( #SOA字段 2016051101 #版本号,同步一次+1 1H #更新时间 2M #更新失败,重试更新时间 3D #更新失败多长时间后此DNS失效时间 1D #解析不到请求不予回复的时间 ) IN NS ns1.iamyanglei.com. #域名服务器 IN MX 10 mx1.iamyanglei.com. #定义邮件服务器,10指优先级 ns1 IN A 192.168.1.104 #ns1域名服务器的IP地址 mx1 IN A 192.168.1.111 #mx1邮件服务器的IP地址 www IN A 192.168.1.121 #www.iamyanglei.com的IP地址 cname IN CNAME www #别名
检查语法错误
[root@ns1 named]# named-checkconf [root@ns1 named]# named-checkzone "iamyanglei.com.zone" /var/named/iamyanglei.com.zone zone iamyanglei.com.zone/IN: loaded serial 2016051101 OK
四、在/var/named/目录中添加反向文件192.168.1.zone
[root@ns1 named]# vim 192.168.1.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051101 1H 2M 2D 1D ) IN NS ns1.iamyanglei.com. 104 IN PTR ns1.iamyanglei.com. 111 IN PTR mx1.iamyanglei.com. 121 IN PTR www.iamyanglei.com.
检查语法错误
[root@ns1 named]# named-checkconf [root@ns1 named]# named-checkzone "192.168.1.zone" /var/named/192.168.1.zone zone 192.168.1.zone/IN: loaded serial 2016051101 OK
五、更改两个自定义区域文件的权限为640和属组为named
[root@ns1 named]# chmod 640 iamyanglei.com.zone 192.168.1.zone [root@ns1 named]# chown :named iamyanglei.com.zone [root@ns1 named]# chown :named 192.168.1.zone
六、重启DNS,然后进行正向方向解析测试
[root@ns1 named]# service named restart [root@ns1 named]# dig -t A www.iamyanglei.com @192.168.1.104 #正向解析 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t A www.iamyanglei.com @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12805 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.iamyanglei.com. IN A ;; ANSWER SECTION: www.iamyanglei.com. 86440 IN A 192.168.1.121 ;; AUTHORITY SECTION: iamyanglei.com. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ;; Query time: 0 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 04:48:38 2016 ;; MSG SIZE rcvd: 86 [root@ns1 named]# dig -x 192.168.1.104 @192.168.1.104 #反向解析 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -x 192.168.1.104 @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37907 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;104.1.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 104.1.168.192.in-addr.arpa. 86440 IN PTR ns1.iamyanglei.com. ;; AUTHORITY SECTION: 1.168.192.in-addr.arpa. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ;; Query time: 0 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 04:51:18 2016 ;; MSG SIZE rcvd: 106
从DNS的配置
一、从服务器的/etc/named.conf
文件配置和主DNS一样。
二、编辑区域文件/etc/named.rfc1912.zones
,在后面添加正反解析
zone "iamyanglei.com" IN { #正向解析 type slave; #类型从DNS master { 192.168.1.104; }; #主DNS的IP地址 file "slaves/iamyanglei.com.zone"; #iamyanglei.com.zone拷贝到slaves目录下 }; zone "1.168.192.in-addr.arpa" IN { #反向解析 type slave; #类型从DNS master { 192.168.1.104; }; #主DNS的IP地址 file "slaves/192.168.1.zone"; #192.168.1.in-addr.arpa拷贝到slaves目录下 };
三、重启DNS,查看/var/named/slaves目录,会出现192.168.1.zon
和iamyanglei.com.zone
两个文件
[root@ns2 ~]# service named restart Stopping named: [ OK ] Starting named: [ OK ] [root@ns2 ~]# ls /var/named/slaves/ 192.168.1.zone iamyanglei.com.zone
四、测试正向解析
[root@ns2 ~]# dig -t NS iamyanglei.com @192.168.1.104 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.7 <<>> -t NS iamyanglei.com @192.168.1.104 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 46687 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 2 ;; QUESTION SECTION: ;iamyanglei.com. IN NS ;; ANSWER SECTION: iamyanglei.com. 86440 IN NS ns2.iamyanglei.com. iamyanglei.com. 86440 IN NS ns1.iamyanglei.com. ;; ADDITIONAL SECTION: ns1.iamyanglei.com. 86440 IN A 192.168.1.104 ns2.iamyanglei.com. 86440 IN A 192.168.1.106 ;; Query time: 1 msec ;; SERVER: 192.168.1.104#53(192.168.1.104) ;; WHEN: Thu May 12 05:08:38 2016 ;; MSG SIZE rcvd: 100
主从同步
在主DNS的/var/named/iamyanglei.com.zone中添加一条A记录
[root@ns1 named]# cat iamyanglei.com.zone $TTL 86440 @ IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051102 #版本号+1 1H 2M 3D 1D ) IN NS ns1.iamyanglei.com. IN NS ns2.iamyanglei.com. IN MX 10 mx1.iamyanglei.com. ns1 IN A 192.168.1.104 ns2 IN A 192.168.1.106 mx1 IN A 192.168.1.111 www IN A 192.168.1.121 cname IN CNAME www img IN A 192.168.1.104 #添加的A记录
主DNS重读配置文件
[root@ns1 named]# service named reload Reloading named: [ OK ]
到从DNS上查看是否同步复制过来
[root@ns2 ~]# cat /var/named/slaves/iamyanglei.com.zone $ORIGIN . $TTL 86440 ; 1 day 40 seconds iamyanglei.com IN SOA ns1.iamyanglei.com. admin.iamyanglei.com. ( 2016051102 ; serial #版本号跟随主DNS 3600 ; refresh (1 hour) 120 ; retry (2 minutes) 259200 ; expire (3 days) 86400 ; minimum (1 day) ) NS ns1.iamyanglei.com. NS ns2.iamyanglei.com. MX 10 mx1.iamyanglei.com. $ORIGIN iamyanglei.com. cname CNAME www img A 192.168.1.104 #新的A记录 mx1 A 192.168.1.111 ns1 A 192.168.1.104 ns2 A 192.168.1.106 www A 192.168.1.121
原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/16152
评论列表(6条)
已置顶
写的不错
@wangquan8628:Infidelity sttitsaics?Can someone provide a link to a REPUTABLE website showing the infidelity statistics of men vs. that of women. I’m writing a college paper and need a reputable survey. I need to know what percentage of men cheat in their marriage compared to how many women do the same.Reputable website + the right statistics WILL get best answer.Thanks
对实验很有帮助,再加上原理就更好了
0801+简单明了,通俗易懂,解释很详细!对我帮助很大!不错!不错
@sky138170:回复在原始博客下是无效评论哦,要评论在《马哥教育首届IT技术博客大赛–复审阶段》帖子下才有效哦!