0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

什么是域名?什么是DNS?DNS域名原理你知道嗎?

馬哥Linux運(yùn)維 ? 來(lái)源:博客園 ? 2024-03-11 17:01 ? 次閱讀

1.DNS 介紹

1.1什么是域名?

域名(Domain Name),簡(jiǎn)稱域名、網(wǎng)域,是由一串用點(diǎn)分隔的名字組成的Internet上某一臺(tái)計(jì)算機(jī)或計(jì)算機(jī)組的名稱,用于在數(shù)據(jù)傳輸時(shí)標(biāo)識(shí)計(jì)算機(jī)的電子方位。具有獨(dú)一無(wú)二,不可重復(fù)的特性。

1.2什么是 DNS?

域名系統(tǒng)(Domain Name System,縮寫(xiě):DNS)是互聯(lián)網(wǎng)的一項(xiàng)服務(wù)。域名解析是把域名指向網(wǎng)站空間IP,讓人們通過(guò)注冊(cè)的域名可以方便地訪問(wèn)到網(wǎng)站的一種服務(wù)。IP地址是網(wǎng)絡(luò)上標(biāo)識(shí)站點(diǎn)的數(shù)字地址,為了方便記憶,采用域名來(lái)代替IP地址標(biāo)識(shí)站點(diǎn)地址。域名解析就是域名到IP地址的轉(zhuǎn)換過(guò)程。

域名的解析工作由DNS服務(wù)器完成??梢岳斫鉃镈NS就是翻譯官。

正向解析:域名 --> IP 地址
反向解析:IP 地址 --> 域名

1.3域名的組成和分類

常見(jiàn)格式:www.baidu.com
完整格式:www.baidu.com.

. 根域,可省略不寫(xiě)

com 頂級(jí)域,由ICANN組織指定和管理

國(guó)家地區(qū)域名:cn(中國(guó))、hk(香港)、sg(新加坡)等

通用頂級(jí)域名:com(商業(yè)機(jī)構(gòu))、org(非營(yíng)利組織)、edu(教育機(jī)構(gòu))等

新通用頂級(jí)域名:red(紅色、熱情)、top(頂級(jí)、高端)等

baidu 二級(jí)域(注冊(cè)域),可由個(gè)人或組織申請(qǐng)注冊(cè)

www 三級(jí)域(子域),服務(wù)器網(wǎng)站名代表

主機(jī)名:s1.www.baidu.com.中的s1就是主機(jī)名,一般用來(lái)表示具體某一臺(tái)主機(jī)

拓展:com.cn屬于“二級(jí)域名”,是cn頂級(jí)域的子域

2.域名解析過(guò)程

如客戶機(jī)發(fā)起查詢請(qǐng)求

www.kernel.org

1.客戶機(jī)首先查看查找本地hosts文件,如果有則返回,否則進(jìn)行下一步
2.客戶機(jī)查看本地緩存,是否存在本條目的緩存,如果有則直接返回,否則進(jìn)行下一步。
3.將請(qǐng)求轉(zhuǎn)發(fā)給指向的 DNS 服務(wù)器。
4.查看域名是否本地解析,是則本地解析返回,否則進(jìn)行下一步。
5.本地DNS服務(wù)器首先在緩存中查找,有則返回,無(wú)則進(jìn)行下一步。
6.向全球13個(gè)根域服務(wù)器發(fā)起DNS請(qǐng)求,根域返回org域的地址列表。
7.使用某一個(gè) org 域的 IP 地址,發(fā)起 DNS 請(qǐng)求,org 域返回 kernel 域服務(wù)器地址列表。
8.用某一個(gè)kernel域IP地址,發(fā)起DNS請(qǐng)求,kernel域返回www.kernel.org主機(jī)的IP地址,本地 DNS 服務(wù)收到后,返回給客戶機(jī),并在本地 DNS 服務(wù)器保存一份。

3.DNS 軟件信息

軟件名稱:bind

服務(wù)名稱:named

軟件端口

UDP 53 數(shù)據(jù)通信(域名解析)

TCP 53 數(shù)據(jù)同步(主從同步)

配置文件:

主配置文件:/etc/named.conf(服務(wù)器運(yùn)行參數(shù)

options {
        listen-on port 53 { 127.0.0.1; };
        listen-on-v6 port 53 { ::1; };
        #設(shè)置服務(wù)器監(jiān)聽(tīng)網(wǎng)卡(可以寫(xiě)具體某一個(gè)IP,也可以寫(xiě)成any)
        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";
        #數(shù)據(jù)文件位置
        allow-query     { localhost; };
        #設(shè)置可以訪問(wèn)服務(wù)器的客戶端IP(可用any)

區(qū)域配置文件:/etc/named.rfc1912.zones(服務(wù)器解析的區(qū)域配置,正反向區(qū)域定義信息)

zone "localhost.localdomain" IN {
#正向區(qū)域配置文件標(biāo)簽,修改為要解析的域
        type master;
        #DNS服務(wù)器類型(master/slave)
        file "named.localhost";
        #正向數(shù)據(jù)配置文件名稱(默認(rèn)保存在/var/name/下)
        allow-update { none; };
        #允許數(shù)據(jù)更新的列表(填寫(xiě)IP地址) 
};
zone "1.0.0.127.in-addr.arpa" IN {
# 反向區(qū)域配置文件標(biāo)簽,僅修改IP位置,并且將IP反寫(xiě)例如:0.168.192.in-addr.arpa
        type master;
        file "named.loopback";
        allow-update { none; };
};

數(shù)據(jù)配置文件:/var/named/xx.xx(主機(jī)名和IP地址的對(duì)應(yīng)解析關(guān)系,及主從同步信息)

$TTL 1D#域名有效解析生存周期(一般指緩存時(shí)間)
@       IN SOA  @ rname.invalid. (
                           0       ; serial
           1D      ; refresh
              1H      ; retry
                           1W      ; expire
                           3H )    ; minimum
        NS      @#設(shè)置DNS服務(wù)器的域名
        A       127.0.0.1#IPv4的域名IP解析記錄
        AAAA    ::1#IPv6的 域名IP解析記錄
~ 
# @: 域名有效解析生存周期(一般指緩存時(shí)間)
# SOA:SOA標(biāo)記(起始授權(quán)機(jī)構(gòu)的資源記錄,描述了域名的管理品 電子郵件地址 和一此時(shí)間參數(shù)
#serial  配置文件修改版本(如:20190826)
#refresh 更新頻率(從向主的查詢周期)
# retry  更新失敗的重試時(shí)間周期
# expire 無(wú)法更新時(shí)的失效周期
#minimum 緩存服務(wù)器無(wú)法更新時(shí)的失效時(shí)間

記錄類型:

A: 地址記錄,用來(lái)指定域名的IPv4地址的記錄
CNAME: 將域名指向另一個(gè)域名,再由另一個(gè)域名提供ip地址,就需要添加CNAME記錄
TXT: 可填寫(xiě)任何東西,長(zhǎng)度限制255.絕大多數(shù)的TXT記錄是用來(lái)做SPF的(反垃圾郵件)
NS: 域名服務(wù)器記錄,如果需要把子域名交給其他DNS服務(wù)商解析,就需要添加NS記錄。
AAAA: 地址記錄,用來(lái)指定域名的IPv6地址的記錄
MX: 郵件交換記錄,如果需要設(shè)置郵箱,讓郵箱能收到郵件,就需要添加MX記錄。

DNS 實(shí)驗(yàn)搭建

4.1 DNS服務(wù)搭建

先關(guān)閉服務(wù)器和客戶機(jī)上的防火墻和SELinux

1.軟件安裝

yum install bind -y

2.配置主配置文件(/etc/named.conf)

options {
        listen-on port 53 { any; };  #監(jiān)聽(tīng)網(wǎng)卡改為any
        listen-on-v6 port 53 { any; };
        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; }; #設(shè)置可以訪問(wèn)服務(wù)器的客戶端為any

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

注:先對(duì)區(qū)域文件進(jìn)行備份,刪除多余的模板,只留下一個(gè)正向和一個(gè)反向(反向修改時(shí),網(wǎng)絡(luò)位的反寫(xiě)格式,如192.168.100.20 -> 100.168.192.)

zone "ajaj.com" IN {
        type master;
        file "ajaj.localhost"; #自定義正向解析文件名
        allow-update { none; };
};



zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "ajaj.loopback"; # 自定義反向解析文件名
        allow-update { none; };
};

4.配置數(shù)據(jù)文件/var/named/

A. 先復(fù)制生成正向解析文件和反向解析文件

cp -a named.localhost ajaj.localhost
cp -a named.loopback ajaj.loopback

B. 編輯正向解析文件(注意域名結(jié)尾的“.”)

vim ajaj.localhost
$TTL 1D
@       IN SOA  ajaj.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.ajaj.com.
dns     A       192.168.100.20
www     A       192.168.100.21

C.編輯反向解析文件(注意域名結(jié)尾的".")

vim ajaj.loopback
$TTL 1D
@       IN SOA  ajaj.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.ajaj.com.
20      PTR     dns.ajaj.com.
21      PTR     www.ajaj.com.

5.重啟DNS服務(wù)

systemctl restart named

6.客戶端測(cè)試

在網(wǎng)卡配置文件中添加 DNS 服務(wù)器的地址,然后用 nslookup 測(cè)試。

[root@localhost ~]# nslookup www.ajaj.com
Server:         192.168.100.20
Address:        192.168.100.20#53

Name:   www.ajaj.com
Address: 192.168.100.21

4.2 DNS主從

實(shí)驗(yàn)?zāi)康模?/strong>

減輕主服務(wù)器的壓力

先關(guān)閉服務(wù)器和客戶機(jī)上的防火墻和SELinux

實(shí)驗(yàn)準(zhǔn)備:

一臺(tái)主服務(wù)器、一臺(tái)從服務(wù)器、一臺(tái)測(cè)試機(jī)

搭建過(guò)程:

1.搭建主服務(wù)器步驟

安裝 bind 軟件

yum install bind -y

主配置文件的修改

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        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; };

區(qū)域配置文件的修改

zone "ajaj.com" IN {
        type master;
        file "ajaj.localhost";
        allow-update { 192.168.100.21; }; 
};



zone "100.168.192.in-addr.arpa" IN {
        type master;
        file "ajaj.loopback";
        allow-update { 192.168.100.21; };
};

主 DNS 的區(qū)域配置文件中 allow-updata 參數(shù)添加從服務(wù)器 IP 地址。

配置數(shù)據(jù)文件

cp -a named.localhost ajaj.localhost
cp -a named.loopback ajaj.loopback

正向數(shù)據(jù)文件

vim ajaj.localhost
$TTL 1D
@       IN SOA  ajaj.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.ajaj.com.
dns     A       192.168.100.20
www     A       192.168.100.23

反向數(shù)據(jù)文件

vim ajaj.loopback
$TTL 1D
@       IN SOA  ajaj.com. rname.invalid. (
                                        0       ; serial
                                        1D      ; refresh
                                        1H      ; retry
                                        1W      ; expire
                                        3H )    ; minimum
        NS      dns.ajaj.com.
20      PTR     dns.ajaj.com.
23      PTR     www.ajaj.com.

啟動(dòng) named 服務(wù)

systemctl start named

4.搭建從服務(wù)器步驟:

安裝 bind 軟件

yum install bind -y

修改主配置文件

vim /etc/named.conf 

options {
        listen-on port 53 { any; };
        listen-on-v6 port 53 { any; };
        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; };

配置區(qū)域文件

注意:從配置文件的類型需要修改為 slave,并且需要填寫(xiě)主服務(wù)器的地址
zone "ajaj.com" IN {
        type slave;
        masters { 192.168.100.20; };
        file "slaves/ajaj.localhost";
};



zone "100.168.192.in-addr.arpa" IN {
        type slave;
        masters { 192.168.100.20; };
        file "slaves/ajaj.loopback";
};
文件保存位置修改為 file“slaves/atguigu.localhost”;

重啟服務(wù)

systemctl start named

在測(cè)試機(jī)上填寫(xiě)從服務(wù)器的IP,并使用nslookup測(cè)試

nslookup www.ajaj.com
Server:         192.168.100.21
Address:        192.168.100.21#53

Name:   www.ajaj.com
Address: 192.168.100.23

4.3DNS緩存服務(wù)器

先關(guān)閉服務(wù)器和客戶機(jī)上的防火墻和SELinux

實(shí)驗(yàn)作用:

加快解析速度,提高工作效率

實(shí)驗(yàn)軟件:

dnsmasq

配置文件:

/etc/dnsmasq.conf
domain=域名
#需要解析的域名
server=ip
#主 DNS 服務(wù)器 IP
cache-size=15000
#聲明緩存條數(shù)

重啟服務(wù):

systemctl restart dnsmasq

測(cè)試效果:

在測(cè)試機(jī)上填寫(xiě)DNS 緩存服務(wù)器服務(wù)器的 ip 地址



審核編輯:劉清

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • 計(jì)算機(jī)
    +關(guān)注

    關(guān)注

    19

    文章

    7360

    瀏覽量

    87632
  • TCP
    TCP
    +關(guān)注

    關(guān)注

    8

    文章

    1347

    瀏覽量

    78933
  • DNS
    DNS
    +關(guān)注

    關(guān)注

    0

    文章

    215

    瀏覽量

    19771
  • UDP
    UDP
    +關(guān)注

    關(guān)注

    0

    文章

    322

    瀏覽量

    33849

原文標(biāo)題:DNS域名原理你知道嗎?

文章出處:【微信號(hào):magedu-Linux,微信公眾號(hào):馬哥Linux運(yùn)維】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    什么是域名DNS

    什么是域名DNS為什么要注冊(cè)DNS呢,申請(qǐng)了DNS后,客戶可以自己為域名作解析,或增設(shè)子域名.客
    發(fā)表于 07-19 00:13

    什么是域名DNS

       為什么要注冊(cè)DNS呢,申請(qǐng)了DNS后,客戶可以自己為域名作解析,或增設(shè)子域名.客戶申請(qǐng)DNS時(shí),建議客戶
    發(fā)表于 11-22 00:39

    第27章 DNS域名系統(tǒng)基礎(chǔ)知識(shí)

    轉(zhuǎn)最新網(wǎng)絡(luò)教程本章節(jié)為大家講解DNS(Domain Name System,域名系統(tǒng)),通過(guò)前面章節(jié)對(duì)TCP和UDP的學(xué)習(xí),需要大家對(duì)DNS也有個(gè)基礎(chǔ)的認(rèn)識(shí)。(本章的知識(shí)點(diǎn)主要整理自網(wǎng)絡(luò))27.1
    發(fā)表于 11-23 15:50

    如何解決DNS解析錯(cuò)誤故障

    DNS解析出現(xiàn)錯(cuò)誤,就是把一個(gè)域名解析成一個(gè)錯(cuò)誤的IP地址,或者根本不知道某個(gè)域名對(duì)應(yīng)的IP地址是什么時(shí),我們就無(wú)法通過(guò)域名訪問(wèn)相應(yīng)的站點(diǎn)了
    發(fā)表于 09-29 15:14

    使用JavaScript代碼在Rapid板子上實(shí)現(xiàn)DNS解析域名得到IP地址操作分享!

    DNS(Domain Name System,域名系統(tǒng)),因特網(wǎng)上作為域名和IP地址相互映射的一個(gè)分布式數(shù)據(jù)庫(kù),能夠使用戶更方便的訪問(wèn)互聯(lián)網(wǎng),而不用去記住能夠被機(jī)器直接讀取的IP數(shù)串。通過(guò)主機(jī)名
    發(fā)表于 08-15 04:17

    域名服務(wù)器(DNS

    域名服務(wù)器(DNS) whois命令在UNIX計(jì)算機(jī)上,您可以使用whois命令來(lái)查找有關(guān)域
    發(fā)表于 08-05 09:04 ?1515次閱讀

    什么是DNS

    什么是DNS  英文縮寫(xiě): DNS 中文譯名: 域名系統(tǒng) 分  類: IP與多媒體 解  釋: 遍布于因特網(wǎng)的數(shù)據(jù)庫(kù)。它
    發(fā)表于 02-22 17:25 ?1081次閱讀

    基于DNS的???b class='flag-5'>域名檢測(cè)方法

    域名系統(tǒng)是互聯(lián)網(wǎng)的重要基礎(chǔ)設(shè)施之一,人們通過(guò)域名快速訪問(wèn)網(wǎng)絡(luò)中的各種資源。近些年,隨著域名注冊(cè)成本的逐步低廉,域名注冊(cè)量快速增長(zhǎng),但注冊(cè)的域名
    發(fā)表于 12-08 15:40 ?0次下載
    基于<b class='flag-5'>DNS</b>的???b class='flag-5'>域名</b>檢測(cè)方法

    dns地址如何查詢

    DNS(Domain Name Server,域名服務(wù)器)是進(jìn)行域名(domain name)和與之相對(duì)應(yīng)的IP地址 (IP address)轉(zhuǎn)換的服務(wù)器。DNS中保存了一張
    發(fā)表于 01-15 16:09 ?1281次閱讀

    了解DNS的工作原理,了解根域名的管理機(jī)制

    而每一個(gè)根DNSDNS報(bào)文中都要占用一定的字節(jié)數(shù),比如根的名稱、TTL、IP地址等。這樣,13個(gè)根域名服務(wù)器基本上就把空間占差不多了,剩余的字節(jié)還要用于包裝DNS報(bào)頭以及其它協(xié)議參數(shù)
    的頭像 發(fā)表于 09-03 10:43 ?4891次閱讀

    域名系統(tǒng)DNS的概念和設(shè)施詳細(xì)說(shuō)明

    本RFC是對(duì)域名系統(tǒng)(DNS)的介紹,它省略了許多可以在RFC中找到的細(xì)節(jié),“域名-實(shí)現(xiàn)和規(guī)范”〔RFC-1035〕。RFC假設(shè)讀者熟悉本備忘錄中討論的概念。DNS函數(shù)和數(shù)據(jù)類型的子集
    發(fā)表于 11-23 08:00 ?0次下載
    <b class='flag-5'>域名</b>系統(tǒng)<b class='flag-5'>DNS</b>的概念和設(shè)施詳細(xì)說(shuō)明

    DNS服務(wù)器和DNS服務(wù)器地址是什么

    域名系統(tǒng),屬于一種組織成域?qū)哟谓Y(jié)構(gòu)的計(jì)算機(jī)和網(wǎng)絡(luò)服務(wù)器命名系統(tǒng)。域名系統(tǒng)主要用于分配域名地址、IP地址給互聯(lián)網(wǎng)中的主機(jī),系統(tǒng)再將用戶提供的域名地址自動(dòng)轉(zhuǎn)為IP地址。
    的頭像 發(fā)表于 03-30 15:57 ?8657次閱讀

    DNS污染是是什么,DNS污染怎么解決

    DNS污染是指有意或無(wú)意進(jìn)行的域名服務(wù)器分組,將域名指向錯(cuò)誤的IP地址。 什么是DNS污染? DNS污染有哪些處理方法 一般而言,網(wǎng)站通常在
    發(fā)表于 04-19 09:43 ?1.1w次閱讀

    DNS的結(jié)構(gòu)和工作原理

    DNS 代表域名系統(tǒng)或域名服務(wù)器。DNS 將IP 地址解析為主機(jī)名,反之亦然。
    的頭像 發(fā)表于 08-05 15:23 ?351次閱讀
    <b class='flag-5'>DNS</b>的結(jié)構(gòu)和工作原理

    華納云:Ubuntu18.04系統(tǒng)如何查詢域名的具體dns信息

    在Ubuntu18.04系統(tǒng)中查詢域名DNS信息是一項(xiàng)常見(jiàn)且重要的操作。本文將介紹幾種實(shí)用的方法,幫助用戶快速獲取所需的DNS信息。 使用dig命令 dig命令是一個(gè)強(qiáng)大的DNS查詢
    的頭像 發(fā)表于 08-08 15:50 ?355次閱讀