马哥教育网络21期+第十一周练习博客(下)

马哥教育网络21期+第十一周练习博客(下)

3、描述DNS查询过程以及DNS服务器类别。
DNS:Domain Name Service 通俗的称为地址解析,使用TCP和UDP的53端口,是属于应用层的协议;
DNS查询有2种方式:
    递归查询:至发送一次请求,就能找到最终的结果的查询;
    迭代查询:需要多次请求查询;
DNS中有一种顶级域又称根服务器:13组服务器,异地多活模式存在
名称服务器:域内负责解析本域内的名称主机:
例如:com域只解析com域中负责的域名,如果是org的如果查找的DNS服务器支持迭代查询,那么将请求发送给根域,由根域告知org的域指向那台服务器,并将IP地址发送给查询主机,指引此服务器到此域内查询;
DNS解析有2中类别:
    Name-->IP
    IP-->Name
这里注意正向反向解析是2个不同的名称空间,是两颗不同的解析树;
DNS服务器的类型:
    主DNS服务器
    辅助DNS服务器
    缓存DNS服务器
    转发器
    主DNS服务器:维护负责解析的域内解析库服务器,解析库由管理员维护;
    从DNS服务器:从主DNS服务器或其他的从服务器复制一份解析库:
        解析库中包含:
            序列号:解析库的版本号,如果主服务器解析库内容发生变化,其序列号递增;
            刷新时间间隔:从服务器从主服务器请求同步解析库的时间间隔;
            重试时长间隔:从服务器从主服务器请求同步解析库失败时,再次尝试的时间间隔;
            过期时长间隔:从服务器始终联系不到主服务器时,多久后放弃从服务器角度,定制提供服务;
            这里解释一下什么叫区域传送:
            全量传送:传送整个解析库
            增量传送:传递解析库所变化的内容;
    综上所诉一次完整DNS解析的过程:
        client发送请求-->hosts文件(强行定向某个文件到某个域名的结果)-->先查找本地缓存(如果没有缓存)-->DNSserver(recursion递归查询主从DNS服务器)-->server Cache(DNS缓存)-->迭代查询-->如没有直接查找根服务器,根服务器告知负责的顶级域-->查找顶级域告知区域负责的域-->进行解析将结果返回给客户端
4、搭建一套DNS服务器,负责解析magedu.com域名(自行设定主机名及IP)
实验环境:IP地址问172.16.0.124的IP地址做为maedu.com的主DNS服务器
在/etc/named/目录下新建一个区域解析库文件:
[root@localhost named]# cat /var/named/magedu.com.zone 
$TTL 86400
$ORIGIN magedu.com.
@       IN      SOA     ns1.magedu.com. admin.magedu.com(
                        2016092301
                        1H
                        5M
                        7D
                        1D)
        IN      NS      ns1
        IN      NS      ns2
        IN      MX 10   mx1
        IN      MX 20   mx2
ns1     IN      A       172.16.0.124
ns2     IN      A       172.16.0.2
mx1     IN      A       172.16.0.3
mx2     IN      A       172.16.0.4
www     IN      A       172.16.0.124

在/etc/name.rfc1912.zone定义新的zone
zone "magedu.com"  IN  {
type master;
file "magedu.com.zone";
};
使用[root@localhost named]# named-checkzone "magedu.com" /var/named/magedu.com.zone 
zone magedu.com/IN: loaded serial 2016090401
OK
检查语法错误
然后修改配置文件属性:
    [root@localhost named]# chmod 640 magedu.com.zone 
    [root@localhost named]# chown :named magedu.com.zone 
使用dig 命令进行本地主机解析
[root@localhost named]# dig -t A www.magedu.com @172.16.0.2

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.magedu.com @172.16.0.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 35474
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;www.magedu.com.            IN  A

;; ANSWER SECTION:
www.magedu.com.     86400   IN  A   172.16.0.2

;; AUTHORITY SECTION:
magedu.com.     86400   IN  NS  ns2.magedu.com.
magedu.com.     86400   IN  NS  ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.     86400   IN  A   172.16.0.2
ns2.magedu.com.     86400   IN  A   172.16.0.124

;; Query time: 1 msec
;; SERVER: 172.16.0.2#53(172.16.0.2)
;; WHEN: Tue Sep 20 02:49:37 2016
;; MSG SIZE  rcvd: 116


(1)、能够对一些主机名进行正向解析和逆向解析;
反向解析:
在/etc/named.rfc1912文件配置域:

zone "0.16.172.in-addr.arpa." IN {
    type master;
    file "172.16.0.zone";
};
定义反向解析库文件:
[root@localhost named]# cat /var/named/172.16.0.zone 
$TTL 86400
@   IN  SOA ns1.magedu.com. admin.magedu.com. (
            2016092301
            1H
            5M
            7D
            1D  )
    IN  NS  ns1.magedu.com.
    IN  NS  ns2.magedu.com.
2.0.16.172.in-addr.arpa.    IN  PTR ns1.magedu.com.
124.0.16.172.in-addr.arpa.  IN  PTR ns2.magdeu.com.
2.0.16.172.in-addr.arpa.        IN      PTR     www.magedu.com.
使用host命令和dig命令查看:
[root@localhost named]# !h
host -t PTR 172.16.0.2 172.16.0.2
Using domain server:
Name: 172.16.0.2
Address: 172.16.0.2#53
Aliases: 
[root@localhost named]# !d
dig -x 172.16.0.2 @172.16.0.2

; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 172.16.0.2 @172.16.0.2
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18911
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 2, ADDITIONAL: 2

;; QUESTION SECTION:
;2.0.16.172.in-addr.arpa.   IN  PTR

;; ANSWER SECTION:
2.0.16.172.in-addr.arpa. 86400  IN  PTR ns1.magedu.com.
2.0.16.172.in-addr.arpa. 86400  IN  PTR www.magedu.com.

;; AUTHORITY SECTION:
0.16.172.in-addr.arpa.  86400   IN  NS  ns2.magedu.com.
0.16.172.in-addr.arpa.  86400   IN  NS  ns1.magedu.com.

;; ADDITIONAL SECTION:
ns1.magedu.com.     86400   IN  A   172.16.0.2
ns2.magedu.com.     86400   IN  A   172.16.0.124

;; Query time: 1 msec
;; SERVER: 172.16.0.2#53(172.16.0.2)
;; WHEN: Tue Sep 20 05:15:36 2016
;; MSG SIZE  rcvd: 151

    2.0.16.172.in-addr.arpa domain name pointer www.magedu.com.
    2.0.16.172.in-addr.arpa domain name pointer ns1.magedu.com.



(2)、对子域cdn.magedu.com进行子域授权,子域负责解析对应子域中的主机名;
在父域服务器中定义子域授权:
[root@localhost slaves]# cat /var/named/wanghongkai.com.zone 
$TTL 86400
$ORIGIN wanghongkai.com.
@   IN  SOA ns1.wanghongkai.com. admin.wanghongkai.com (
            2016092401
            1H  
            5M  
            7D  
            1D )
    IN  NS  ns1
    IN  NS  ns2
    IN  MX 10   mx1
    IN  MX 20   mx2
ns1 IN  A   172.16.0.2
ns2 IN  A   172.16.0.124
mx1 IN  A   172.16.0.2
mx2 IN  A   172.16.0.124
www IN  A   172.16.0.2
*   IN  A   172.16.0.2
ops IN  NS  ns1.ops
ops IN  NS  ns2.ops
ns1.cdn IN  A   172.16.0.124
ns2.cdn IN  A   172.16.0.125

定义自域服务器:
[root@localhost slaves]# cat /var/named/cdn.wanghongkai.com.zone 
$TTL 86400
$ORIGIN cdn.wanghongkai.com.
@   IN  SOA ns1.ops.wanghongkai.com.    admin.wanghongkai.com. (
            2016092401
            1H
            5M
            7D
            1D )
    IN  NS  ns1
    IN  NS  ns2
ns1 IN  A   172.16.0.124
ns2 IN  A   172.16.0.125
www     IN  A   172.16.0.126
*   IN  A   172.16.0.126
在子域服务器中定义转发机制,这里我定义了区域解析:如果需要全部转发需要在主配置文件中转发:
zone "wanghongkai.com" IN {
type forward;
forward only;
forwarders { 172.16.0.2; };
};
这里需要注意子域服务器定义和主从服务器定义会出现错误,这里实验证明如果定义了从服务器,就无法定义子域授权中的转发机制,只能定义全局全量转发!


(3)、为了保证DNS服务系统的高可用性,请设计一套方案,并写出详细的实施过程:
这里我使用4泰服务器进行配置
1,将A主机配置为域名解析的主DNS服务器
2,将B主机定义成反域名解析主DNS服务器
3,将C主机定义成为A的子域服务器负责解析A主机上的ops的主机
4,将D主机配置为A与B主机的从DNS服务器
前提将4台主机定义为缓存服务器进行使用。

原创文章,作者:wostop,如若转载,请注明出处:http://www.178linux.com/48888

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-24 22:46

    DNS 从名词解释到按需要构建服务,及对服务进行测试,很好!!!