DNS学习笔记

FQDN就是访问网址----找到IP

www.tzh.com

www 主机名、别名
tzh.com domain 域名

DNS服务

分散式:/etc/hosts

集中式:/NIS

分布式:DNS

DNS:Domain Name Service 应用层协议

BIND:Bekerley Internal Name Demain

本地名称解析配置文件:/etc/hosts

一、DNS域名

image-20200806000343937

访问流程(正向解析)

image-20200806002642994

二、DNS服务器类型

主名称服务器(primary name server):从域管理员构造的本地磁盘文件中加载域信息,该文件(区域文件)包含着该服务器具有管理权的一部分域结构的最精确信息。主服务器是一种权威性服务器,因为它以绝对的权威去回答对其管辖域的任何查询。

从名称服务器(secondary name server):它可从主服务器中复制一整套域信息。区域文件是从主服务器中复制出来的,并作为本地磁盘文件存储在辅助服务器中。这种复制称为”区域文件复制”。在辅助域名服务器中有一个所有域信息的完整拷贝,可以有权威地回答对该域的查询。因此,辅助域名服务器称作权威性服务器。配置辅助域名服务器不需要生成本地区文件,因为可以从主服务器中下载该区文件。

唯高速缓存名称服务器(caching-only server):可运行域名服务器软件,但是没有域名数据库软件。它从某个远程服务器取得域名服务器查询的结果,一旦取得一个,就将它放在高速缓存中,以后查询相同的信息时就用它予以回答。高速缓存服务器不是权威性服务器,因为它提供的所有信息都是间接信息。

当BIND被配置为缓存服务器的时候,它只会回应已缓存的请求,并将所有其他的请求转发到上游的 DNS 服务器。缓存名称服务器只需要.这个zone file文件即可。

三、安装DNS服务器

[root@t2 ~]# yum install bind  bind-utils bind-chroot -y
[root@t2 ~]# systemctl start named

四、DNS配置的主要文件组

/etc/hosts  主机的一个文件列表   添加记录如:111.13.100.92   www.baidu.com
对于简单的主机名解析(点分表示法),默认在请求DNS或NIS网络域名服务器前,/etc/named.conf 通常会告诉程序先查看此文件。

/etc/resolv.conf  转换程序配置文件
在配置程序请求BIND域名查询服务查询主机名时,必须告诉程序使用哪个域名服务器和IP地址来完成这个任务

/etc/named.conf  BIND主文件
设置一般的name参数,指向该服务器使用的域数据库的信息源

/var/named/named.ca  根域名配置服务器指向文件
指向根域名配置服务器,用于告诉缓存服务器初始化

/var/named/localhost.zone    localhost区正向域名解析文件
用于将本地IP地址(127.0.0.1)转换为本地回送IP地址(127.0.0.1)

/var/named/name.local  localhost区反向域名解析文件
用于将localhost名字转换为本地回送IP地址(127.0.0.1)

/etc/named.rfc1912.zones  区块设置文件
#把自己的zones放这个配置文件named.rfc1912.zones

五、正向解析配置

资源记录

image-20200806094955580 image-20200806100131975
#记得把/etc/named.conf的 2跟10 改成any
[root@t2 named]# vim /etc/named.conf    
listen-on port 53 { any; };
allow-query     { any; };
-------------------------------
[root@t2 ~]# vim /etc/named.rfc1912.zones
#新增一个zone
zone "tzh.com" IN {
        type master;
        file "tzh.com.zone";
        allow-update { none; };
};
[root@t2 ~]# cd /var/named/
[root@t2 named]# cp -a named.localhost tzh.com.zone
#如果没加-a 得改组的权限
[root@t2 named]# chgrp named tzh.com.zone
[root@t2 named]# vim tzh.com.zone
$TTL 1D
#			   主域名(后面得加.)邮箱地址@用.代替
@       IN SOA  hs.tzh.com.   admin.tzh.com. (
									#版本号修改一次得改这个 0 改1 2 3 
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      hs
hs      A       192.168.47.189

#改完重新加载
[root@t2 named]# systemctl reload named
#检查主配置文件是否有语法错误
[root@t2 ~]# named-checkconf 
#检查解析库配置文件是否有错误
[root@t2 ~]# named-checkzone "tzh.com" /var/named/tzh.com.zone 
zone tzh.com/IN: loaded serial 0
OK

六、测试

#在189上测试
[root@t2 named]# dig www.tzh.com @127.0.0.1
[root@t2 named]# host www.tzh.com 127.0.0.1
Using domain server:
Name: 127.0.0.1
Address: 127.0.0.1#53
Aliases: 

www.tzh.com has address 192.168.47.190

#在190上测试
[root@t3 ~]# host www.tzh.com 192.168.47.189
Using domain server:
Name: 192.168.47.189
Address: 192.168.47.189#53
Aliases: 

www.tzh.com has address 192.168.47.190

七、实验

#1、现在190上加DNS指向192.168.47.189

#2、在189安装httpd
[root@t2 ~]# yum -y install httpd
[root@t2 ~]# echo '123456' > /var/www/html/index.html
[root@t2 ~]# systemctl restart httpd

#在192.168.47.190
[root@t3 ~]# dig www.tzh.com
[root@t3 ~]# curl -i www.tzh.com

A、DNS反向解析

[root@t2 ~]# vim  /etc/named.rfc1912.zones
#加上
zone "47.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.47.189.zone";
        allow-update { none; };
};
##添加zone
[root@t2 ~]# cd /var/named/
[root@t2 named]# cp -a named.loopback 192.168.47.189.zone
[root@t2 named]# vim 192.168.47.189.zone 
$TTL 1D
@       IN SOA  hs.tzh.com admin.tzh.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      hs.tzh.com.
189     PTR     hs.tzh.com.
189     PTR     mail.tzh.com.
#检查语法
[root@t2 named]# named-checkzone "192.168.47.189.zone" /var/named/192.168.47.189.zone 
zone 192.168.47.189.zone/IN: loaded serial 0
OK

#重启
[root@t2 named]# systemctl reload named

#测试
[root@t2 named]# dig -x 192.168.47.189 @127.0.0.1

; <<>> DiG 9.11.4-P2-RedHat-9.11.4-16.P2.el7_8.6 <<>> -x 192.168.47.189 @127.0.0.1
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34385
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 1, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;189.47.168.192.in-addr.arpa.   IN      PTR

;; ANSWER SECTION:
189.47.168.192.in-addr.arpa. 86400 IN   PTR     mail.tzh.com.
189.47.168.192.in-addr.arpa. 86400 IN   PTR     hs.tzh.com.

;; AUTHORITY SECTION:
47.168.192.in-addr.arpa. 86400  IN      NS      hs.tzh.com.

;; ADDITIONAL SECTION:
hs.tzh.com.             86400   IN      A       192.168.47.189

;; Query time: 0 msec
;; SERVER: 127.0.0.1#53(127.0.0.1)
;; WHEN: Thu Aug 06 11:11:17 CST 2020
;; MSG SIZE  rcvd: 129

B、配置从DNS(从机190)

第1步:在主服务器的区域配置文件中允许该从服务器的更新请求,即修改allow-update {允许更新区域信息的主机地址;};参数,然后重启主服务器的DNS服务程序。
[root@t2 named]# vim /etc/named.rfc1912.zones
zone "tzh.com" IN {
        type master;
        file "tzh.com.zone";
        allow-update { 192.168.47.190; };
};

zone "47.168.192.in-addr.arpa" IN {
        type master;
        file "192.168.47.189.zone";
        allow-update { 192.168.47.190; };
};
#重启
[root@t2 named]# systemctl restart named     

#从服务器安装bind
[root@t3 ~]# yum install bind  bind-utils -y
[root@t3 ~]# systemctl start named && systemctl enable named

第2步:在从服务器中填写主服务器的IP地址与要抓取的区域信息,然后重启服务。注意此时的服务类型应该是slave(从),而不再是master(主)。masters参数后面应该为主服务器的IP地址,而且file参数后面定义的是同步数据配置文件后要保存到的位置,稍后可以在该目录内看到同步的文件。
#修改配置文件
[root@t3 ~]# vim /etc/named.conf
        listen-on port 53 { any; };
        allow-query     { any; };
[root@t3 named]# vim /etc/named.rfc1912.zones           
#加上
zone "tzh.com" IN {
        type slave;
        file "/slaves/tzh.com.zone";
        masters { 192.168.47.189; };
};

zone "47.168192.in-addr.arpa" IN {
        type slave;
        file "slaves/192.168.47.189.rev";
        masters { 192.168.47.189; };
};
#检查语法错误
[root@t3 named]# named-checkconf /etc/named.conf
#重启
[root@t3 slaves]# systemctl restart named
[root@t3 slaves]# cd /var/named/slaves
[root@t3 slaves]# ll
total 4
-rw-r--r-- 1 named named 280 Aug  6 11:41 192.168.47.189.rev

#测试在从机上
[root@t3 slaves]# nslookup
> www.tzh.com
Server:         192.168.47.189
Address:        192.168.47.189#53

Name:   www.tzh.com
Address: 192.168.47.190
> 192.168.47.189
189.47.168.192.in-addr.arpa     name = hs.tzh.com.
189.47.168.192.in-addr.arpa     name = mail.tzh.com.
posted @ 2020-08-06 11:48  taotaozh  阅读(258)  评论(0编辑  收藏  举报