DNS域名解析服务(Domain Name System)是用于解析域名与IP地址对应关系的服务,功能上可以实现正向解析反向解析

正向解析:根据主机名(域名)查找对应的IP地址。

反向解析:根据IP地址查找对应的主机名(域名)

 

正向解析实验:

1、第一步,安装bind 

yum -y install bind bind-utils

2、第二步:修改主配置文件

vim /etc/named.conf:
//将下行中的127.0.0.1修改为any,代表允许监听任何IP地址。
listen-on port 53 { 127.0.0.1; };
//将下行中的localhost修改为any,代表允许任何主机查询。
allow-query { localhost; };

3、修改DNS 地址为本机IP  

    修改配置文件 etc/sysconfig/network-scripts/ ifcfg-eth0   DNS 为本机IP

  注意这一步,需要重启网卡,systemctl restart network  (centos7)

4、第四步,修改区域配置文件 /etc/named.rfc1912.zones

 

vi /etc/named.rfc1912.zones  参照里面的格式去写,增加以下内容
zone "magedu.org" {     #magedu.org 这是域名 前面不要画蛇添足的加www ,加了www,代表 是台机器了
       type master;     #类型,master 代表主
       file "magedu.org.zone";  #文件 这个文件是相对路径,会自动被存放在/var/named 里面,这个从named.conf 配置文件的 directory 那看到};

修改晚区域数据文件后,最好用命令检查以下语法

named-checkconf
named-checkzone magedu.org /var/named/magedu.org.zone
systemctl start named          #第一次启动服务
rndc reload                    #不是第一次启动服务

 

5、第五步:cd /var/named/ 进入这个文件夹下,创建 magedu.org.zone 这个文件,因为这个文件对权限 格式有要求,我们建议用cp 命令复制自带的

cp named.localhost magedu.org.zone -p   #-p 是保留属性的意思

也可以命令格式

touch /var/named/magedu.org.zone 
chmod 640 /var/named/magedu.org.zone 
chgrp named /var/named/magedu.org.zone

6、第六步,修改配置文件  magedu.org.zone

资源定义的格式

name   [TTL]   IN   rr_type   value

里面格式:

Java 反向dns解析 dns的反向解析_Java 反向dns解析

 

 解释:

1、name 代表当前服务器的域名,可以用@ 代替,这个值也是第二步中的 zone "magedu.org"  中的 magedu.org

2、 TTL可从全局继承  所有的都可以引用所以写最上面了

3、IN 固定写法

4、rr_type   记录类型:A, AAAA, PTR, SOA, NS, CNAME, MX

  SOA:Start Of Authority,起始授权记录;一个区域解析库有且仅能有一个SOA记录,必须位于解

  析库的第一条记录

  A:internet Address,作用,FQDN --> IP

  AAAA:FQDN --> IPv6

  PTR:PoinTeR,IP --> FQDN

  NS:Name Server,专用于标明当前区域的DNS服务器

  CNAME : Canonical Name,别名记录

  MX:Mail eXchanger,邮件交换器

  TXT:对域名进行标识和说明的一种方式,一般做验证记录时会使用此项,如:SPF(反垃圾邮

  件)记录,https验证等,

5、value这个比较复杂  @ rname.invalid.

    @ 代表的还是当前服务器域名 可以写成自己的域名  比如 master.magedu.org.  注意最后这个. 一定要加上,否则解析的时候会变成magedu.org.magedu.org

           还需要注意如果加了这个master.magedu.org,那么需要配合,需要在NS @ 那一行下面加一行  master  A  10.0.0.160

         

Java 反向dns解析 dns的反向解析_DNS_02

 

 

           rname.invalid. 代表的是邮箱地址,实际应该是 rname@invalid. 但是@ 有特殊意思,本机域名,所以用 . 代替了 ,当然这个不起作用,没有影响

          还需要注意,这个master.magedu.org.  还可以改成 master 后面的之间不加,默认,

           

Java 反向dns解析 dns的反向解析_Java 反向dns解析_03

 

      还要注意一点,就是每一行 参数如果和上面的一行 参数是一样的,可以不写

     比如第3行 NS  @   正常格式 是  @ IN NS @ values  这里省略了 @ IN values的值 这些,也就是()里面的内容

  () 里面的内容解释

     0    ; serial  代表是数据库,且0代表版本号 这个0 是数字,每改一次需要+1

       1D  ; refresh  刷新间隔

    1H   ;retry   refresh 失败的时候,1小时在拉送数据一次

    1W ; expire 过期时间,主从数据长期同步失败后,一周后,从服务数据被认为是过期

         3H  ; minimum  最小时间,缓存的有效期

 

最后

Java 反向dns解析 dns的反向解析_Java 反向dns解析_04

 

 

重启named 服务,用自带的命令  :rndc reload   

 测试

root@centos7 /]# host www.magedu.org
www.magedu.org has address 10.0.0.100
[root@centos7 /]# host master.magedu.org
master.magedu.org has address 10.0.0.160
[root@centos7 /]# host db.magedu.org
db.magedu.org has address 10.0.0.85
[root@centos7 /]# host 123.magedu.org
123.magedu.org has address 10.0.0.100

 

反向解析实验

1、第一步,配置区域数据文件

vim /etc/named.rfc1912.zones 添加
zone "0.0.10.in-addr.arpa" IN {
        type master;
        file "10.0.0.zone";
};

2、第二步:cd /var/named/ 进入这个文件夹下,创建 10.0.0.150.zone 这个文件,因为这个文件对权限 格式有要求,我们建议用cp 命令复制自带的

cp named.loopback 10.0.0.zone -p   #-p 是保留属性的意思

也可以命令格式

touch /var/named/10.0.0.zone
chmod 640 /var/named/10.0.0.zone
chgrp named /var/named/10.0.0.zone

3、修改配置文件 10.0.0.zone

$TTL 1D
@       IN SOA  ns1  admin.magedu.org. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      ns1.magedu.org.
100     PTR     www.magedu.org.
200     PTR     app.magedu.org.

 

4、重启named 服务  rndc reload

 停止的话:rndc stop

5、测试

[root@centos7 /]# dig -t ptr 100.0.0.10.in-addr.arpa
[root@centos7 /]# dig -t ptr 200.0.0.10.in-addr.arpa

 

 

CentOS 启用DNS客户端缓存,默认是不开启的,为了方式DNS 访问太慢,所以,启用缓存

[root@centos7 ~]#yum -y install nscd
[root@centos7 ~]#systemctl enable --now nscd
#查看缓存统计信息
[root@centos7 ~]#nscd -g
 
#清除DNS客户端缓存
[root@centos7 ~]#nscd -i hosts