Bootstrap

RHCE: 主从DNS服务器配置 (实现正反向解析)

主服务器配置:

准备工作:
#关闭防火墙
[root@192 ~]# systemctl stop firewalld

#关闭selinux
[root@192 ~]# setenforce 0

#查看selinux状态
[root@192 ~]# getenforce
Permissive



#安装bind包
[root@192 ~]# yum install bind -y


#查询软件包下的文件
/etc/named.conf    #主配置文件
/var/named/slaves   #从dns服务器文件

配置DNS正向解析:


#编辑bind主配置文件:

options {
        listen-on port 53 { 192.168.88.133; };  #定义监听端口,指定相应的IP地址
 
        directory       "/var/named";                   #定义数据文件目录
 
        allow-query     { any; };                       #允许所有的主机进行查询
 
        recursion yes;                                  #开启递归查询
 
        };
 
#定义区域:
zone "baidu.com" IN {
        type master;     #定义为master域名服务器
        file "baidu";    #正向解析资源记录文件

}



#编辑正向记录文件
$TTL  1D
@           IN  SOA  @  admin.admin.com.  (
                     2024011700
                      1D
                      1H
                      3H
                      1D )
            IN  NS  dns.baidu.com.
dns         IN  A   192.168.112.128

www         IN  A   192.168.112.111
a           IN  A   192.168.112.222
aaa         IN  CNAME   a

#重启named服务
[root@192 ~]# systemctl restart named






正向解析测试:
#修改主机名
[root@192 ~]# hostname server
[root@192 ~]# bash
[root@server ~]# 

#正向解析方法一:
#使用nslookup工具
[root@server ~]# nslookup
> server 192.168.112.128        #指定我们自己的DNS服务器 
Default server: 192.168.112.128
Address: 192.168.112.128#53
> www.baidu.com                 #发起查询
Server:        192.168.112.128
Address:    192.168.112.128#53
 
Name:    www.baidu.com
Address: 192.168.112.111
 
 
 
#正向解析方法二:
 
#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.112.128
 
#无需指定直接就解析出来了
[root@server ~]# nslookup www.baidu.com
Server:        192.168.112.128
Address:    192.168.112.128#53
 
Name:    www.baidu.com
Address: 192.168.112.111

配置DNS反向解析:

#编辑bind主配置文件:
[root@server ~]# vim /etc/named.conf 
#全面配置:
options {
        listen-on port 53 { 192.168.112.128; };  #定义监听端口,指定相应的IP地址
 
        directory       "/var/named";                   #定义数据文件目录
 
        allow-query     { any; };                       #允许所有的主机进行查询
 
        recursion yes;                                  #开启递归查询
 
        };
 
#定义区域:
#正向解析区域
zone "baidu.com" IN {
        type master;     #定义为master域名服务器
        file "baidu";    #正向解析资源记录文件
};
 
#反向解析区域
zone "112.168.192.in-addr.arpa" IN{
        type master;   #定义为master域名服务器
        file "128";       #反向解析资源记录文件
};
 
#编辑反向记录文件,反向域的ip是一个区段,不写主机位且反着写
[root@server ~]# vim /var/named/128
[root@server ~]# cat /var/named/128
$TTL 1D
@    IN    SOA    @    admin.admin.com.  ( 
                    2024011701
                    1D
                    1H
                    3H
                    1D )
      IN     NS   dns.baidu.com.
128   IN     PTR  dns.baidu.com.
111   IN     PTR  www.baidu.com.
222   IN     PTR  a.baidu.com.
222   IN     PTR  aaa.baidu.com.    
 
#反解需要注意:主机名尽量使用完整的FQDN,即要写上“.”
 
#重启named服务
[root@server ~]# systemctl restart named
 
#反向解析查询方法一:
[root@server named]# nslookup
> server 192.168.112.128
Default server: 192.168.112.128
Address: 192.168.112.128#53
> 192.168.112.111
111.112.168.192.in-addr.arpa	name = www.baidu.com.
 
#反向解析查询方法二:
#编辑当前主机的DNS服务的地址
[root@server ~]# vim /etc/resolv.conf
# Generated by NetworkManager
nameserver 192.168.112.128
 
[root@server named]# nslookup 192.168.112.111
111.112.168.192.in-addr.arpa	name = www.baidu.com.

从服务器配置:

#安装相关的包
[root@csa ~]# yum install bind -y
 
#关闭防火墙
[root@csa ~]# systemctl stop firewalld
[root@csa ~]# setenforce 0
 
#修改配置主文件
[root@csa ~]# vim /etc/named.conf
options {
        listen-on port 53 { 192.168.137.129; };
        directory       "/var/named/slaves";
        allow-query     { any; };
};
zone "baidu.com" IN {
        type slave;
        file "slaves.baidu.zheng";
        masters { 192.168.137.140; };
        allow-notify { 192.168.137.140; };
};
zone "157.168.192.in-addr.arpa" IN {
        type slave;
        file "slaves.baidu.fan";
        masters { 192.168.137.140; };
        allow-notify { 192.168.137.140; };
};
 
#重启服务
[root@slave ~]# systemctl restart named

主DNS服务器配置(修改资源文件进行主从同步)

#在二配置的基础上,如资源记录文件有变(&号标记处,更新版本号),需编辑正反向解析资源记录文件
#1、正向解析
[root@192 ~]# vim /var/named/master.baidu
$TTL 1D
@       IN SOA  @ admin.baidu.com. (
                                        1   &此处版本号+1
                                        1M
                                        1M
                                        3M
                                        1M )
        NS      dns.baidu.com.
        NS      slave.baidu.com.
dns     A       192.168.112.128
www     A       192.168.112.111
ftp     A       192.168.112.103
slave   A       192.168.112.143
aaa     A       192.168.112.101  #此处新增一条正向解析
w       CNAME   www
 
#2、反向解析
[root@192 ~]# vim /var/named/112
$TTL 1D
@       IN SOA  @ admin.baidu.com. (
                                        1   &此处版本号+1
                                        1M
                                        1M
                                        3M
                                        1M )
        NS      dns.baidu.com.
        NS      slave.baidu.com.
128     PTR     dns.baidu.com.
111     PTR     www.baidu.com.
102     PTR     w.baidu.com.
103     PTR     ftp.baidu.com.
143     PTR     slave.baidu.com.
101     PTR     aaa.baidu.com.  #此处新增一条反向解析
 
#重启服务
[root@192 ~]# systemctl restart named

host (选项) (参数)
选项:

-a : 显示详细的DNS信息
-c<类型> : 指定查询类型,默认值为“IN”
-C : 查询指定主机的完整的SOA记录
-r : 在查询域名时,不使用递归的查询方式
-t<类型> : 指定查询的域名信息类型
-v : 显示指令执行的详细信息
-w : 如果域名系统服务器没有给出应答信息,则总是等待,直到域名服务器给出应答
-W<时间> : 指定域名查询最长时间,如果在指定时间内域名服务器没有给出应答信息,则退出指令
-4 : 使用IPv4
-6 : 使用IPv6
 

dig 命令:
1,作用查询DNS包括NS记录,A记录,MX记录等相关信息的工具。

2,选项:

@<服务器地址>:指定进行域名解析的域名服务器;
-b<ip地址>:当主机具有多个IP地址,指定使用本机的哪个IP地址向域名服务器发送域名查询请求;
-f<文件名称>:指定dig以批处理的方式运行,指定的文件中保存着需要批处理查询的DNS任务信息;
-P:指定域名服务器所使用端口号;
-t<类型>:指定要查询的DNS数据类型;
-x<IP地址>:执行逆向域名查询;
-4:使用IPv4;
-6:使用IPv6;
-h:显示指令帮助信息。

主机:指定要查询域名主机;
查询类型:指定DNS查询的类型;
查询类:指定查询DNS的class;
查询选项:指定查询选项。

dig  -t  A  www.baidu.com   
dig -t A www.baidu.com +trace 

正向解析文件资源记录(Resource Record,RR),常见的正解文件RR相关信息:

domainINRR typeRR data
主机名.INAIPv4的IP地址
主机名.INAAAAIPv6的IP地址
域名.INNS管理这个域名的服务器主机名字,即由哪一台主机去解析当 前所定义的域主机
域名.INSOA起始授 权记录管理这个域名的七个重要参数
域名.INMX顺序数字,接收邮件的服务器主机名字
主机别 名.INCNAME实际代表这个主机别名的主机名字

SOA主要是与区域有关,所以domain要写域名。而SOA后面会接七个参数,这七个参数的意义如下:

  • Master DNS服务器主机名:这个区域主要是哪台DNS作为Master的意思。

  • 管理员的Email,发生问题可以联系这个管理员。由于@在数据库文件中有特殊含义,所以将用“.”代替@

  • 序号(Serial),这个序号代表的是这个数数据库文件的新旧,序号越大代表越新。所以当你更改了数据库内容时,需要将这个数值放大。

  • 更新频率(Refresh)定义slave多久向Master要求数据更新。

  • 失败重新尝试时间(Retry),如果Slave无法对Master实现连接,那么在多长时间内,Slave会尝试重新连接到Master。

  • 失效时间(Expire),如果一直尝试失败,持续连接到达这个设置值时限,那么Slave将不再继续尝试连接,并且尝试删除这份下载的zone file信息。

  • 缓存时间(Minumum TTL),如果这个数据库zone file中,每条记录都没有写到TTL缓存时间的话,那么就以这个SOA的设置值为主。ttl的意思是当这笔记录被其他DNS服务器查询到后,这个记录会在对方DNS服务器的缓存中,保持多久时间。如果写了$TTL,则以该值为准。

时间单位:M(分钟),H(小时),D(天),W(周),默认是秒

;