溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

理論 :DNS域名解析服務(wù)-——理論講解

發(fā)布時(shí)間:2020-07-09 14:48:33 來源:網(wǎng)絡(luò) 閱讀:567 作者:wx5d8b05ec4cbc3 欄目:系統(tǒng)運(yùn)維

前言:

  • BIND域名服務(wù)基礎(chǔ)
    • DNS系統(tǒng)的作用及類型
    • BIND的安裝和配置文件
  • 使用BIND構(gòu)建域名服務(wù)器
    • 構(gòu)建緩存域名服務(wù)器
    • 構(gòu)建主、從域名服務(wù)器

重點(diǎn)步驟:找主配置文件,找啟動腳本

一: DNS系統(tǒng)的作用

1.1 正向解析:根據(jù)主機(jī)名稱(域名)查找對應(yīng)的IP地址

1.2 反向解析:根據(jù)IP地址查找對應(yīng)的主機(jī)域名

ip解析域名,多用于測試

1.3 DNS系統(tǒng)的分布式數(shù)據(jù)結(jié)構(gòu)

理論 :DNS域名解析服務(wù)-——理論講解

www.sina.com.cn. 最后一個(gè)點(diǎn)是根,整體就是完全合格域名

www是主機(jī)名稱,sina二級域名,com.cn是頂級域名 .是根

二 : DNS系統(tǒng)類型

2.1 緩存域名服務(wù)器

  • 也稱為高速緩存服務(wù)器
  • 通過向其他域名服務(wù)器查詢獲得域名->IP地址記錄
  • 將域名查詢結(jié)果緩存到本地,提高重復(fù)查詢時(shí)的速度

在服務(wù)安裝完畢時(shí),就是緩存服務(wù)器

2.2 主域名服務(wù)器(master)

  • master主服務(wù)器
  • 特定DNS區(qū)域的官方服務(wù)器,具有唯一性
  • 負(fù)責(zé)維護(hù)該區(qū)域內(nèi)所有域名->IP地址的映射記錄

2.3 從域名服務(wù)器(slave)

  • slave 服務(wù)器
  • 也稱為輔助域名服務(wù)器
  • 其維護(hù)的域名->IP地址記錄,來源于主域名服務(wù)器

三 : BIND 域名服務(wù)

3.1 BIND服務(wù)簡述

  • BIND(Berkeley Internet Name Daemon)
    • 伯克利Internet域名服務(wù)
  • 相關(guān)軟件包
    • bind-9.9.4-37.el7.x86_64.rpm
    • bind-untils-9.9.4-37.el7.x86_64.rpm
    • bind-libs-9.9.4-37.el7.x86_64.rpm
    • bind-chroot-9.9.4-37.el7.x86_64.rpm

3.2 BIND 域名服務(wù)端程序

  • 主要執(zhí)行程序: /usr/sbin/named
  • 默認(rèn)監(jiān)聽端口:53 TCP負(fù)責(zé)連接控制,UDP負(fù)責(zé)快速解析
  • 主配置文件: /etc/bind/named.conf
  • 保存DNS解析記錄的數(shù)據(jù)文件位于 /var/named/

3.3 BIND域名服務(wù)程序主配置文件/etc/bind/named.conf

全局配置部分

  • 設(shè)置DNS服務(wù)器的全局參數(shù)
  • 包括監(jiān)聽地址/端口、數(shù)據(jù)文件的默認(rèn)位置等
  • 使用options { ..... };的配置段
[root@localhost ~]# vim /etc/named.conf

options {       '選項(xiàng)'
        listen-on port 53 { any; }; '監(jiān)聽地址所有'
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";   '目錄在/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     { 192.168.10.0/24; };       '允許此網(wǎng)段前來解析'

區(qū)域配置部分 /etc/named.rfc1912.zones

  • 設(shè)置本服務(wù)器提供域名解析的特定DNS區(qū)域
  • 包括域名、服務(wù)器角色、數(shù)據(jù)文件名等
  • 使用zone “區(qū)域名” IN { ...... }; 的配置段
#正向解析
zone "localhost" IN {       '主機(jī)名,例kgc.com'
        type master;    'master類型,主服務(wù)器'
        file "named.localhost";     '區(qū)域數(shù)據(jù)文件名,A記錄,可以解析主機(jī)頭,'
        allow-update { none; };     '允許更新'
        allow-transfer { 173.16.16.2 }  '從服務(wù)器的IP地址'
};  

#反向解析
zone "16.16.173.in-addr.arpa" IN {      'ip地址反寫'
        type master;            '主服務(wù)器'
        file "named.loopback";      '區(qū)域配置文件名'
        allow-update { none; };     '允許更新'
};

16.16.173.in-addr.arpa 是ip地址的反寫 正寫是'173.16.16.?',?作為一個(gè)選項(xiàng)

3.4 區(qū)域數(shù)據(jù)配置文件(A記錄) 在區(qū)域配置選項(xiàng)中file “*”

3.4.1 全局TTL配置項(xiàng)及SOA記錄 /var/named/目錄下

  • $TTL (Time To Live, 生存時(shí)間)記錄
  • SOA (Start Of Authority,授權(quán)信息開始)記錄
  • 分號“;”開始的部分表示注釋信息
$TTL 1D     '有效解析記錄的生命周期'
@       IN SOA  @ rname.invalid. (      'SOA標(biāo)記、@域名、管理者郵箱'
                                        0       ; serial    
                                        '更新序列號,可以是10位以內(nèi)的整數(shù),當(dāng)前0'
                                        1D      ; refresh   
                                        '刷新時(shí)間,重新下載地址數(shù)據(jù)的間隔,1天'
                                        1H      ; retry 
                                        '重試延時(shí),下載失敗后的重試間隔,1小時(shí)'
                                        1W      ; expire    
                                        '失效時(shí)間,超過改時(shí)間仍無法下載則放棄,1周'
                                        3H )    ; minimum   
                                        '無效解析記錄的生存周期 3小時(shí)'
        NS      @   '@指自己'
        A       127.0.0.1   '回環(huán)地址,此行的首位沒寫,默認(rèn)是自己的主機(jī)名,即輸入自己的主機(jī)名就是在ping自己'
        AAAA    ::1
~                       

若是找不到主服務(wù)器,就會每1小時(shí)找一次,持續(xù)1w即一周

3.4.2 域名解析記錄

  • NS域名服務(wù)器(Name Server)記錄
  • MX郵件交換(Mail Exchange)記錄
  • A地址(address)記錄,只用在正向解析區(qū)域中
  • CNAME 別名 (Canonical Name)記錄
$TTL 1D     '有效解析記錄的生命周期'
@       IN SOA  @ rname.invalid. (      'SOA標(biāo)記、@域名、管理者郵箱'
                                        0       ; serial    
                                        '更新序列號,可以是10位以內(nèi)的整數(shù),當(dāng)前0'
                                        1D      ; refresh   
                                        '刷新時(shí)間,重新下載地址數(shù)據(jù)的間隔,1天'
                                        1H      ; retry 
                                        '重試延時(shí),下載失敗后的重試間隔,1小時(shí)'
                                        1W      ; expire    
                                        '失效時(shí)間,超過改時(shí)間仍無法下載則放棄,1周'
                                        3H )    ; minimum   
                                        '無效解析記錄的生存周期 3小時(shí)'
        NS      @       
        A       127.0.0.1
        AAAA    ::1
@   IN  NS  ns1.bdqn.com.   '自己的域名叫做ns1.bdqn.com.'
    IN  MX 10   mail.bdqn.com.  '自己的郵件交換系統(tǒng)優(yōu)先級別10的叫做mail.bdqn.com.'
ns1 IN  A   58.119.74.203   '主機(jī)名即主機(jī)頭為ns1時(shí),對應(yīng)的ip地址58.119.74.203'
www IN  A   173.16.16.1     '主機(jī)名為www時(shí),對應(yīng)的ip地址為為173.16.16.1'
mail    IN  A   173.16.16.4 
ftp IN  CNAME   www 'cname,別名,即輸入ftp相當(dāng)于輸入www'
~                   

3.5 實(shí)驗(yàn) :正向解析搭建

[root@dns named]# rpm -qc bind      '查看已安裝bind軟件的配置文件'
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
[root@dns named]# 
[root@dns named]# vim /etc/named.conf   '配置主配置文件'
options {
        listen-on port 53 { any; }; '監(jiān)聽地址修改為所有'
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";   '默認(rèn)文件存放位置,不用動'
        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; };   '允許所有主機(jī)前來解析'

        /* 
[root@dns named]# vim /etc/named.conf   '配置主配置文件'
zone "." IN {   '根域,不要去動它'
        type hint;
        file "named.ca";
};

include "/etc/named.rfc1912.zones";     '區(qū)域配置文件,接下來要配置它'
include "/etc/named.root.key";
[root@dns named]# cd /var/named '去看一眼默認(rèn)文件存放路徑'
[root@dns named]# ls
chroot      data     dyndb-ldap     kgc.com.zone  named.empty      named.loopback
chroot_sdb  dynamic  kgc.com.local  named.ca      named.localhost  slaves
[root@dns named]# vim /etc/named.rfc1912.zones  '配置區(qū)域配置文件'

以ipv6反向解析zone為界限,上面的是正向解析zone,下面是反向解析zone

zone "kgc.com" IN {         '創(chuàng)建一個(gè)kgc.com正向解析區(qū)域'
        type master;
        file "kgc.com.zone";    
        '存放文件在默認(rèn)目錄/var/named下,名為kgc.com.zone文件,若是沒有需要自己創(chuàng)建'
        allow-update { none; };
}; 

zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.0.10.in-addr.arpa" IN {
        type master;
        file "kgc.com.local";
        allow-update { none; };
};
[root@dns named]# cp -p named.localhost kgc.com.zone    
                '保留權(quán)限復(fù)制模板,重命名為kgc.com.zone'
[root@dns named]# vim kgc.com.zone  ''修改區(qū)域數(shù)據(jù),

$TTL 1D
@       IN SOA  @ 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       10.10.10.10
www IN A        9.9.9.9
ftp IN CNAME    www
* IN A  8.8.8.8

@ 代表變量,在這里指域名

此時(shí)DNS的正向解析已經(jīng)配置完畢

[root@dns named]# systemctl start named     '啟動服務(wù)'
[root@dns named]# netstat -natp |grep named     '查看端口狀態(tài)-n 數(shù)字 -a 所有 -t tcp -p protocol 協(xié)議'
tcp        0      0 192.168.139.132:53      0.0.0.0:*               LISTEN      40771/named         
tcp        0      0 127.0.0.1:53            0.0.0.0:*               LISTEN      40771/named         
tcp        0      0 127.0.0.1:953           0.0.0.0:*               LISTEN      40771/named         
tcp6       0      0 ::1:53                  :::*                    LISTEN      40771/named         
tcp6       0      0 ::1:953                 :::*                    LISTEN      40771/named         
[root@dns named]# netstat -naup |grep named     '-u udp'
udp        0      0 192.168.139.132:53      0.0.0.0:*                           40771/named         
udp        0      0 127.0.0.1:53            0.0.0.0:*                           40771/named         
udp        0      0 192.168.122.1:53        0.0.0.0:*                           40771/named         
udp6       0      0 ::1:53                  :::*                                40771/named  
[root@dns named]# systemctl stop firewalld      '關(guān)閉防火墻'
[root@dns named]# setenforce 0      '關(guān)閉安全增強(qiáng)服務(wù)'

驗(yàn)證一下

新建一臺虛擬機(jī),網(wǎng)卡模式也設(shè)置為nat模式,然后指定dns

理論 :DNS域名解析服務(wù)-——理論講解

C:\Users\GSY>nslookup mail.kgc.com
服務(wù)器:  UnKnown
Address:  192.168.139.132

名稱:    mail.kgc.com
Address:  10.10.10.10

C:\Users\GSY>nslookup qqq.kgc.com
服務(wù)器:  UnKnown
Address:  192.168.139.132

DNS request timed out.
    timeout was 2 seconds.
名稱:    qqq.kgc.com
Address:  123.123.123.123
'也可以在本機(jī)的/etc/resolv.conf內(nèi)輸入dns服務(wù)器名,告訴主機(jī)dns的位置,進(jìn)行本地驗(yàn)證 '
[root@dns named]# echo "nameserver 192.168.139.132" > /etc/resolv.conf
[root@dns named]# nslookup www.kgc.com
Server:     192.168.139.132
Address:    192.168.139.132#53

Name:   www.kgc.com
Address: 10.0.0.10

3.6 反向域名解析記錄 PTR

3.6.1 域名解析記錄

  • PTR指針(Point)記錄,只用在反向解析區(qū)域中
  • 記錄的第一列指定IP地址中的主機(jī)地址部分即可
14 IN   PTR     www.kgc.com.
13 IN PTR       ftp.kgc.com.

反向解析的區(qū)域數(shù)據(jù)文件配置

[root@dns named]# cp -p named.loopback kgc.com.local    
'創(chuàng)建的文件名與區(qū)域反向解析配置的文件名一致'
[root@dns named]# vim kgc.com.local
$TTL 1D
@       IN SOA  kgc.com. admin.kgc.com. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      kgc.com.
        A       14.0.0.14
14 IN   PTR     www.kgc.com.
13 IN PTR       ftp.kgc.com.
2 IN PTR        WWW.GSYDSG.com.

~                             

測試 nslookup 或者h(yuǎn)ost都可以

[root@dns named]# systemctl restart named
[root@dns named]# nslookup 14.0.0.2     '因?yàn)樵谂渲梦募惺谴髮懙腤WW,所以不是域名='
2.0.0.14.in-addr.arpa   name = WWW.GSYDSG.com.
[root@dns named]# host 14.0.0.14
14.0.0.14.in-addr.arpa domain name pointer www.kgc.com.
[root@dns named]# host 14.0.0.13
13.0.0.14.in-addr.arpa domain name pointer ftp.kgc.com.
[root@dns named]# 

3.7 區(qū)域數(shù)據(jù)配置文件的特殊應(yīng)用——泛域名解析

3.7.1 基于域名解析的負(fù)載均衡

  • 同一域名對應(yīng)到多個(gè)IP地址

3.7.2 泛域名解析

  • 找不到精確對應(yīng)的A記錄時(shí),使用“*”進(jìn)行匹配
www IN A        9.9.9.9
www     IN      A       7.7.7.7
www     IN      A       6.6.6.6
* IN A  8.8.8.8

驗(yàn)證同一域名對應(yīng)到多個(gè)IP地址

C:\Users\GSY>nslookup www.kgc.com
服務(wù)器:  UnKnown
Address:  192.168.139.132

DNS request timed out.
    timeout was 2 seconds.
名稱:    www.kgc.com
Addresses:  6.6.6.6
          7.7.7.7
          9.9.9.9

3.8 對配置文件進(jìn)行語法檢查 named-checkconf

3.8.1 named-checkconf 工具

[root@dns named]# named-checkconf /etc/named.conf
[root@dns named]# named-checkconf /etc/named.rfc1912.zones 

沒啥反應(yīng),因?yàn)槭钦_\(yùn)轉(zhuǎn)的,我把里面的數(shù)據(jù)改錯(cuò)驗(yàn)證一下

zoe "kgc.com" IN {      '去掉個(gè)字母'
        type master;
        file "kgc.com.zone";
        allow-update { none; };
};
[root@dns named]# named-checkconf /etc/named.rfc1912.zones 
/etc/named.rfc1912.zones:13: unknown option 'zoe'

錯(cuò)誤改回來

[root@dns named]# named-checkconf -z  /etc/named.rfc1912.zones 
zone kgc.com/IN: loaded serial 0
zone localhost/IN: loaded serial 0
zone 1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa/IN: loaded serial 0
zone 0.0.14.in-addr.arpa/IN: loaded serial 0
zone 0.in-addr.arpa/IN: loaded serial 0

-z 選項(xiàng),還會查看其中的zone項(xiàng)是否有誤

不帶-z選項(xiàng),只查看整體的語法

3.8.2 named-checkzone 工具

[root@dns named]# named-checkzone kgc.com /var/named/kgc.com.zone 
zone kgc.com/IN: loaded serial 0
OK

3.9 實(shí)驗(yàn) :構(gòu)建緩存域名服務(wù)器

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

3.10 構(gòu)建主、從域名服務(wù)器

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

理論 :DNS域名解析服務(wù)-——理論講解

slave 從服務(wù)器

總結(jié)

使用dns域名解析服務(wù)

先管關(guān)掉防火墻再說

1.需要安裝bind*軟件

主配置文件/etc/bind/named.conf

數(shù)據(jù)文件 /var/named

程序 /usr/sbin/named

2.全局配置文件配置 /etc/named.conf

options {       '眾多選項(xiàng)'
        listen-on port 53 { 127.0.0.1; };   '監(jiān)聽此地址'
        listen-on-v6 port 53 { ::1; };
        directory       "/var/named";   '默認(rèn)目錄在/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     { localhost; };     '允許此主機(jī)名前來解析'

3.區(qū)域配置文件 /etc/named.rfc1912.zones

#正向解析
zone "localhost" IN {       “主機(jī)名”
        type master;    'master類型,主服務(wù)器'
        file "named.localhost";     '區(qū)域數(shù)據(jù)文件名,A記錄,可以解析主機(jī)頭'
        allow-update { none; };     '允許更新'
        allow-transfer { 173.16.16.2 }; '從服務(wù)器的IP地址'
};  

zone "localhost" IN {       “主機(jī)名”
        type slave; 'slave類型,從服務(wù)器'
        file “slaves/bdqn.com.zone”;
        allow-update { none; };     '允許更新'
        masters { 192.168.10.10; }; '主服務(wù)器的IP地址'
};
#反向解析
zone "16.16.173.in-addr.arpa" IN {      'ip地址反寫'
        type master;            '主服務(wù)器'
        file "named.loopback";      '區(qū)域配置文件名'
        allow-update { none; };     '允許更新'
};

3.區(qū)域數(shù)據(jù)文件 /var/named/目錄下

以其中的named.localhost為模板帶權(quán)限復(fù)制,名字改為區(qū)域配置文件中file參數(shù)的名字

$TTL 1D     '有效解析記錄的生命周期'
@       IN SOA  @ rname.invalid. (      'SOA標(biāo)記、@域名、管理者郵箱'
                                        0       ; serial    
                                        '更新序列號,可以是10位以內(nèi)的整數(shù),當(dāng)前0'
                                        1D      ; refresh   
                                        '刷新時(shí)間,重新下載地址數(shù)據(jù)的間隔,1天'
                                        1H      ; retry 
                                        '重試延時(shí),下載失敗后的重試間隔,1小時(shí)'
                                        1W      ; expire    
                                        '失效時(shí)間,超過改時(shí)間仍無法下載則放棄,1周'
                                        3H )    ; minimum   
                                        '無效解析記錄的生存周期 3小時(shí)'
        NS      @       
        A       127.0.0.1
        AAAA    ::1
@   IN  NS  ns1.bdqn.com.
    IN  MX 10   mail.bdqn.com.
mail    IN  A   173.16.16.4
ns1 IN  A   58.119.74.203
ftp IN  CNAME   www
www IN  A   173.16.16.1

nslookup可以去檢驗(yàn)

可以在/etc/hosts 和/etc/resolv.conf文件中輸入dns服務(wù)器主機(jī)名

并確認(rèn),用以快速訪問dns地址

理論 :DNS域名解析服務(wù)-——理論講解

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI