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服務器之間。一般應用在內部網絡。

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