DNS(域名解析服务)服务及解析实操过程(正向解析--邮件交换解析、别名解析、泛域名解析,反向解析,主从服务同步)

DNS服务

1、配置文件

【1】配置文件:/etc/resolve.conf
【2】映射关系配置文件:/etc/hosts
【3】主配置文件:/etc/named.conf
【4】区域配置文件:/etc/named.rfc1912.zones
【5】区域数据配置文件:/var/named/kgc.com.zone

2、DNS作用(域名解析)

【1】正向解析:主机名解析成IP地址

配置步骤:

(1)修改主配置文件
[root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };(53端口监听所有用户)
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };(允许所有此网段的用户)
(2)修改区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "kgc.com" IN {(指定区域名)
        type master;
        file "kgc.com.zone";(指向区域数据文件,必须和区域数据文件同名)
        allow-update { none; };
};
(3)创建区域数据配置文件
[root@localhost ~]# cp -p /var/named/named.localhost /var/named/kgc.com.zone(使用本地dns模板)
$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (             (从区域配置文件指向数据配置文件)
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
              NS         @
              A      127.0.0.1
www    IN     A      192.168.60.77(声明主机名为www的IP地址)
bbs    IN     A      172.168.80.99(生命主机名为bbs的IP地址)
(4)关闭安全防护和防火墙
[root@localhost ~]# setenforce 0
setenforce: SELinux is disabled
[root@localhost ~]# systemctl stop firewalld
(5)修改dns服务器IP地址
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10
(6)开启dns服务
[root@localhost ~]# systemctl start named
(7)验证
1)本地服务验证
[root@localhost ~]# dig bbs.kgc.com
;; QUESTION SECTION:
;bbs.kgc.com.			IN	A
;; ANSWER SECTION:
bbs.kgc.com.		86400	IN	A	172.168.80.99
;; AUTHORITY SECTION:
kgc.com.		86400	IN	NS	kgc.com.
;; ADDITIONAL SECTION:
kgc.com.		86400	IN	A	127.0.0.1
;; Query time: 0 msec
;; SERVER: 192.168.60.10#53(192.168.60.10)
;; WHEN: 一 7月 06 23:10:20 CST 2020
;; MSG SIZE  rcvd: 86
2)客户机验证

在这里插入图片描述
首先打开固定DNS服务器IP地址,在使用nslookup解析
在这里插入图片描述

3)apache网页验证
[root@localhost~]#yum install -y httpd
[root@localhost~]#vim /var/www/html/index.html
     <h1>my name is zhangqing</h1>
[root@localhost~]#systemctl start httpd
[root@localhost~]#ip add

在这里插入图片描述

【2】正向解析之(邮件交换、别名、泛域名)

操作步骤:
(1)按照正向解析的步骤,打开主配置文件进行修改
root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };(监听53端口所有用户)
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };(允许所有网段用户使用)
(2)打开区域配置文件进行添加
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "kgc.com" IN {(定义区域域名)
        type master;
        file "kgc.com.zone";(映射区域数据文件)
        allow-update { none; };
};
(3)创建区域数据配置文件
[root@localhost ~]# cd /var/named/
[root@localhost named]# ls
chroot  chroot_sdb  data  dynamic  dyndb-ldap   named.ca  named.empty  named.localhost  named.loopback  slaves
[root@localhost named]# cp -p named.localhost kgc.com.zone(使用local.host文件的模板创建)
[root@localhost named]# vim kgc.com.zone 
$TTL 1D
@       IN SOA  kgc.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
           NS      kgc.com.
           A       127.0.0.1
IN   MX    5       mail.kgc.com(设置邮件交换优先级,声明域名)
mail IN    A       192.168.99.99(映射邮件交换域名对应的IP地址)
smtp IN    CNAME   mail(别名解析,smtp是mail的别名)
*    IN    A       6.6.6.6(泛域名解析,没有找到就解析地址为6.6.6.6)
(4)配置本地解析,开启域名解析服务
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10(本地主机IP地址)
[root@localhost ~]# systemctl start named
(5)本地解析
[root@localhost ~]# host mail.kgc.com(邮件交换解析)
mail.kgc.com has address 192.168.99.99
[root@localhost ~]# host smtp.kgc.com(别名解析)
smtp.kgc.com is an alias for mail.kgc.com.
mail.kgc.com has address 192.168.99.99
[root@localhost ~]# host dudu.kgc.com(泛域名解析)
dudu.kgc.com has address 6.6.6.6

【3】反向解析:IP地址解析成主机名

解析步骤:
(1)修改主配置文件(和正向解析一样)

root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };(监听53端口所有用户)
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };(允许所有网段用户使用)

(2)区域配置文件添加(以ipv6为界限,下面是反向解析配置)

[root@localhost ~]# vim /etc/named.rfc1912.zones 
####注意:网络号倒着写,0省略,这里正常的网络号是192.168.77.0######
zone "77.168.192.in-addr.arpa" IN {
        type master;
        file "kgc.com.zone";(指向区域数据配置文件)
        allow-update { none; };
};

(3)创建区域数据配置文件

[root@localhost ~]# vim /var/named/kgc.com.zone 
$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (####(区域名,管理员域名)#####
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
          NS      kgc.com.
          A       127.0.0.1
66   IN   PTR     bbs.kgc.com.
#####这里只写解析IP地址的主机号####对应全称域名#####

(4)重启dhs服务,IP地址解析

[root@localhost ~]# systemctl restart named
[root@localhost ~]# host 192.168.77.66
66.77.168.192.in-addr.arpa domain name pointer bbs.kgc.com.

3、53端口功能

【1】53端口使用tcp协议,安全可靠性高,用于建立连接
【2】53端口使用udp协议,传输效率高,用于解析

4、DNS服务的分类

【1】主服务器:对特定的域进行解析,比如一个公司内部dns服务器
【2】从服务器(辅助):为主服务器分担负载,是主服务器的备用服务器,所有的映射关系均来自主服务器。
【3】缓存服务器:用于外网与内网之间,把查找的映射关系缓存到本地,可以实现快速查找。
【4】转发服务器:无法提供解析功能,但可以向外网其他dns服务器转发映射请求来实现解析。

主从服务搭建

(1)配置主服务器主配置文件
root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };(监听53端口所有用户)
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };(允许所有网段用户使用)
(2)配置主服务器区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "kgc.com" IN {
        type master;
        file "kgc.com.zone";
        allow-transfer { 192.168.60.20; };
};
(3)配置主服务器区域数据配置文件
[root@localhost ~]# vim /var/named/kgc.com.zone 
$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
           NS      kgc.com.
           A       127.0.0.1
IN   MX    5       mail.kgc.com
mail IN    A       192.168.99.99
smtp IN    CNAME   mail
*    IN    A       6.6.6.6
(4)验证主服务器是否本地解析
[root@localhost ~]# vim /etc/resolv.conf
nameserver 192.168.60.10
[root@localhost ~]# systemctl restart named
[root@localhost ~]# host mail.kgc.com
mail.kgc.com has address 192.168.99.99
(5)配置从服务器主配置文件
root@localhost ~]# vim /etc/named.conf
options {
        listen-on port 53 { any; };(监听53端口所有用户)
        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";
        recursing-file  "/var/named/data/named.recursing";
        secroots-file   "/var/named/data/named.secroots";
        allow-query     { any; };(允许所有网段用户使用)
(6)配置从服务器区域配置文件
[root@localhost ~]# vim /etc/named.rfc1912.zones 
zone "kgc.com" IN {
        type slave;
        file "slaves/kgc.com.zone";
        masters { 192.168.60.10; };
};
(7)配置网卡信息测试连通性
[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33 
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=1b20f609-a6f5-43b2-9038-60014a4673cd
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.60.20
NETMASK=255.255.255.0
GATEWAY=192.168.60.2
[root@localhost ~]# ping 192.168.60.10
PING 192.168.60.10 (192.168.60.10) 56(84) bytes of data.
64 bytes from 192.168.60.10: icmp_seq=1 ttl=64 time=0.548 ms
64 bytes from 192.168.60.10: icmp_seq=2 ttl=64 time=0.767 ms
64 bytes from 192.168.60.10: icmp_seq=3 ttl=64 time=0.305 ms
64 bytes from 192.168.60.10: icmp_seq=4 ttl=64 time=0.341 ms
(8)查看区域数据配置文件是否存在
[root@localhost ~]# systemctl restart named
[root@localhost ~]# cd /var/named/slaves/
[root@localhost slaves]# ls
kgc.com.zone
(9)在从服务器上解析
[root@localhost ~]# host mail.kgc.com
mail.kgc.com has address 192.168.99.99

5、DNS查找方式

【1】迭代查询

客户端向根dns1服务器发出解析请求,根dns1不知道要解析的主机名,让客户端找一级域名服务器dns2,客户端再向dns2发出请求,而dns2也不知道,让它去找二级域名服务器dns3,这样来回往复知道解析完成的过程。一般应用与外网访问。

【2】递归查询

默认情况下,DNS服务器使用递归方式来解析名字。递归的含义就是DNS服务器作为DNS客户端向其他DNS服务器查询此解析请求,直到获得解析结果,把获得的结果发送给客户机的过程。在此过程中,原DNS客户端则等待DNS服务器的回复。简单而言就是客户端把要查询的域名或IP地址交给服务器,让服务器代替自己去查找,客户端只收结果,所以递归查询一般用于客户端与dns服务器之间。一般应用在内部网络。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章