曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

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

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

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

深度解析Linux中的DNS服務(wù)

馬哥Linux運(yùn)維 ? 來(lái)源:CSDN技術(shù)社區(qū) ? 2025-04-09 16:13 ? 次閱讀

DNS服務(wù)(Linux

DNS 介紹

dns,Domain Name Server,它的作用是將域名解析為 IP 地址,或者將IP地址解析為域名。

這需要運(yùn)行在三層和四層,也就是說(shuō)它需要使用 TCP 或UDP 協(xié)議,并且需要綁定端口,53。在使用時(shí)先通過(guò) UDP 去查詢(xún),哪里 UDP 查詢(xún)不到再使用 TCP 查詢(xún)。

bind軟件

安裝

[root@localhost ~]# dnf install bind -y
Updating Subscription Management repositories.
Unable to read consumer identity

This system is not registered with an entitlement server. You can use "rhc" or "subscription-manager" to register.

BaseOS                                            2.7 MB/s | 2.7 kB   00:00  
AppStream                                           2.9 MB/s | 3.2 kB   00:00  
Dependencies resolved.
==============================================================================================================================
Package              Architecture      Version               Repository         Size
==============================================================================================================================
Installing:
bind               x86_64         32:9.16.23-24.el9_5         appStream         509 k
Installing dependencies:
bind-dnssec-doc          noarch         32:9.16.23-24.el9_5         appStream         49 k
bind-libs             x86_64         32:9.16.23-24.el9_5         appStream         1.2 M
bind-license           noarch         32:9.16.23-24.el9_5         appStream         14 k
fstrm               x86_64         0.6.1-3.el9             appStream         30 k
libmaxminddb           x86_64         1.5.2-4.el9             appStream         35 k
libuv               x86_64         1:1.42.0-2.el9_4          appStream         151 k
protobuf-c            x86_64         1.3.3-13.el9            baseOS           37 k
python3-bind           noarch         32:9.16.23-24.el9_5         appStream         72 k
python3-ply            noarch         3.11-14.el9             baseOS          111 k
Installing weak dependencies:
bind-dnssec-utils         x86_64         32:9.16.23-24.el9_5         appStream         122 k
bind-utils            x86_64         32:9.16.23-24.el9_5         appStream         213 k

Transaction Summary
==============================================================================================================================
Install 12 Packages

Total size: 2.6 M
Installed size: 7.2 M
Downloading Packages:
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
 Preparing    :                                                   1/1
 Installing    : bind-license-32:9.16.23-24.el9_5.noarch                               1/12
 Installing    : protobuf-c-1.3.3-13.el9.x86_64                                   2/12
 Installing    : libuv-1:1.42.0-2.el9_4.x86_64                                    3/12
 Installing    : libmaxminddb-1.5.2-4.el9.x86_64                                   4/12
 Installing    : fstrm-0.6.1-3.el9.x86_64                                      5/12
 Installing    : bind-libs-32:9.16.23-24.el9_5.x86_64                                6/12
 Installing    : bind-utils-32:9.16.23-24.el9_5.x86_64                                7/12
 Installing    : bind-dnssec-doc-32:9.16.23-24.el9_5.noarch                             8/12
 Installing    : python3-ply-3.11-14.el9.noarch                                   9/12
 Installing    : python3-bind-32:9.16.23-24.el9_5.noarch                              10/12
 Installing    : bind-dnssec-utils-32:9.16.23-24.el9_5.x86_64                            11/12
 Running scriptlet: bind-32:9.16.23-24.el9_5.x86_64                                  12/12
 Installing    : bind-32:9.16.23-24.el9_5.x86_64                                  12/12
 Running scriptlet: bind-32:9.16.23-24.el9_5.x86_64                                  12/12
 Verifying    : protobuf-c-1.3.3-13.el9.x86_64                                   1/12
 Verifying    : python3-ply-3.11-14.el9.noarch                                   2/12
 Verifying    : bind-32:9.16.23-24.el9_5.x86_64                                   3/12
 Verifying    : bind-dnssec-doc-32:9.16.23-24.el9_5.noarch                             4/12
 Verifying    : bind-dnssec-utils-32:9.16.23-24.el9_5.x86_64                            5/12
 Verifying    : bind-libs-32:9.16.23-24.el9_5.x86_64                                6/12
 Verifying    : bind-license-32:9.16.23-24.el9_5.noarch                               7/12
 Verifying    : bind-utils-32:9.16.23-24.el9_5.x86_64                                8/12
 Verifying    : fstrm-0.6.1-3.el9.x86_64                                      9/12
 Verifying    : libmaxminddb-1.5.2-4.el9.x86_64                                  10/12
 Verifying    : libuv-1:1.42.0-2.el9_4.x86_64                                   11/12
 Verifying    : python3-bind-32:9.16.23-24.el9_5.noarch                              12/12
Installed products updated.

Installed:
 bind-32:9.16.23-24.el9_5.x86_64                bind-dnssec-doc-32:9.16.23-24.el9_5.noarch         
 bind-dnssec-utils-32:9.16.23-24.el9_5.x86_64          bind-libs-32:9.16.23-24.el9_5.x86_64            
 bind-license-32:9.16.23-24.el9_5.noarch            bind-utils-32:9.16.23-24.el9_5.x86_64           
 fstrm-0.6.1-3.el9.x86_64                    libmaxminddb-1.5.2-4.el9.x86_64              
 libuv-1:1.42.0-2.el9_4.x86_64                 protobuf-c-1.3.3-13.el9.x86_64               
 python3-bind-32:9.16.23-24.el9_5.noarch            python3-ply-3.11-14.el9.noarch               

Complete!


DNS 服務(wù)中的 bind
bind(Berkeley Internet Name Domain)是 Linux 系統(tǒng)中廣泛使用的 DNS(Domain Name System)服務(wù)器軟件。
功能:它的主要功能是將域名解析為 IP 地址,或者將 IP 地址反向解析為域名。借助 bind,你可以搭建自己的 DNS 服務(wù)器,對(duì)域名解析進(jìn)行管理和配置。
配置:bind 的配置文件通常位于 /etc/bind 目錄下,主要的配置文件是 named.conf,而區(qū)域文件則用于定義具體的域名解析規(guī)則。
示例配置:

// named.conf.options
options {
  directory "/var/cache/bind";
  forwarders {
    8.8.8.8;
    8.8.4.4;
  };
  dnssec-validation auto;
  auth-nxdomain no;  # conform to RFC1035
  listen-on-v6 { any; };
};

// named.conf.local
zone "example.com" {
  type master;
  file "/etc/bind/db.example.com";
};

// db.example.com
$TTL  604800
@    IN   SOA   ns1.example.com. admin.example.com. (
               2     ; Serial
            604800     ; Refresh
             86400     ; Retry
            2419200     ; Expire
            604800 )    ; Negative Cache TTL
;
@    IN   NS   ns1.example.com.
@    IN   A    192.168.1.100
ns1   IN   A    192.168.1.100
www   IN   A    192.168.1.100



在這些配置文件中,定義了 DNS 服務(wù)器的全局選項(xiàng)、域名區(qū)域以及具體的解析記錄。通過(guò)配置 bind,你可以讓 DNS 服務(wù)器依據(jù)這些規(guī)則進(jìn)行域名解析。










查看

[root@localhost ~]# rpm -ql bind
/etc/named.conf   # 主配置文件
/etc/named.rfc1912.zones  # 區(qū)域數(shù)據(jù)配置文件
......
/var/named   # 區(qū)域數(shù)據(jù)文件存放目錄
/var/named/named.empty # 正向解析模板文件
/var/named/named.localhost
/var/named/named.loopback # 反向解析模板文件
/var/named/slaves    # 輔助區(qū)域配置文件存放目錄
.......
/usr/lib/systemd/system/named.service    # 服務(wù)啟動(dòng)文件






查看正向解析模板文件

[root@localhost ~]# cat /var/named/named.empty
$TTL 3H
@  IN SOA @ rname.invalid. (
          0  ; serial  序號(hào)
          1D ; refresh 刷新時(shí)間
          1H ; retry   重試時(shí)間
          1W ; expire  過(guò)期時(shí)間
          3H )  ; minimum 否定緩存時(shí)間
  NS @
  A  127.0.0.1
  AAAA  ::1

整體結(jié)構(gòu)概述
此區(qū)域文件包含了起始授權(quán)機(jī)構(gòu)(SOA)記錄、名稱(chēng)服務(wù)器(NS)記錄、IPv4 地址記錄(A)和 IPv6 地址記錄(AAAA)。這些記錄為 DNS 解析提供了關(guān)鍵信息。
詳細(xì)解釋
1. $TTL 3H
$TTL 是一個(gè)指令,用來(lái)設(shè)置該區(qū)域文件里所有資源記錄的默認(rèn)生存時(shí)間(Time To Live)。
3H 代表 3 小時(shí),意味著這些記錄在 DNS 緩存中的有效時(shí)長(zhǎng)為 3 小時(shí)。超過(guò)這個(gè)時(shí)間,緩存中的記錄將被視為無(wú)效,需要重新從權(quán)威 DNS 服務(wù)器獲取。
2. @ IN SOA @ rname.invalid. (
@:在區(qū)域文件里,@ 是一個(gè)占位符,代表該區(qū)域的域名。一般而言,它會(huì)被替換為該區(qū)域的實(shí)際域名。
IN:表明這是一個(gè) Internet 類(lèi)的 DNS 記錄,這是最常見(jiàn)的 DNS 記錄類(lèi)型。
SOA:即起始授權(quán)機(jī)構(gòu)(Start of Authority)記錄,它是每個(gè) DNS 區(qū)域文件中必不可少的記錄,為該區(qū)域提供權(quán)威信息。
@:作為主名稱(chēng)服務(wù)器,這里的 @ 同樣代表該區(qū)域的域名。
rname.invalid.:這是負(fù)責(zé)該區(qū)域的管理員的電子郵件地址。由于 DNS 不允許使用 @ 符號(hào),所以用 . 來(lái)替代。比如 rname.invalid. 實(shí)際上代表 rname@invalid。
3. 序列號(hào)及相關(guān)時(shí)間參數(shù)
plaintext
0  ; serial 序號(hào)
1D ; refresh 刷新時(shí)間
1H ; retry  重試時(shí)間
1W ; expire 過(guò)期時(shí)間
3H ; minimum 否定緩存時(shí)間
serial(序列號(hào)):其值為 0,這個(gè)序列號(hào)用于標(biāo)識(shí)區(qū)域文件的版本。當(dāng)區(qū)域文件內(nèi)容有更新時(shí),序列號(hào)需要增加,這樣從屬 DNS 服務(wù)器就能通過(guò)比較序列號(hào)來(lái)判斷是否需要更新本地緩存。
refresh(刷新時(shí)間):1D 代表 1 天,從屬 DNS 服務(wù)器每隔 1 天就會(huì)嘗試從主 DNS 服務(wù)器獲取最新的區(qū)域文件。
retry(重試時(shí)間):1H 代表 1 小時(shí),若從屬 DNS 服務(wù)器在刷新區(qū)域文件時(shí)失敗,會(huì)在 1 小時(shí)后再次嘗試。
expire(過(guò)期時(shí)間):1W 代表 1 周,若從屬 DNS 服務(wù)器在 1 周內(nèi)都無(wú)法從主 DNS 服務(wù)器獲取最新的區(qū)域文件,那么它將認(rèn)為該區(qū)域文件已過(guò)期,不再提供該區(qū)域的解析服務(wù)。
minimum(否定緩存時(shí)間):3H 代表 3 小時(shí),當(dāng) DNS 查詢(xún)得到否定響應(yīng)(如域名不存在)時(shí),該否定響應(yīng)會(huì)在緩存中保留 3 小時(shí)。
4. NS @
NS:即名稱(chēng)服務(wù)器(Name Server)記錄,它指定了負(fù)責(zé)該區(qū)域的 DNS 服務(wù)器。
@:這里代表該區(qū)域的域名,表明該區(qū)域的權(quán)威 DNS 服務(wù)器就是該區(qū)域本身。
5. A 127.0.0.1
A:是 IPv4 地址記錄,它將域名映射到對(duì)應(yīng)的 IPv4 地址。
127.0.0.1:這是本地回環(huán)地址,意味著該區(qū)域的域名解析到本地主機(jī)。
6. AAAA ::1
AAAA:為 IPv6 地址記錄,它把域名映射到對(duì)應(yīng)的 IPv6 地址。
::1:這是 IPv6 的本地回環(huán)地址,表明該區(qū)域的域名在 IPv6 環(huán)境下解析到本地主機(jī)。
總結(jié)
這個(gè) named.empty 文件構(gòu)建了一個(gè)基礎(chǔ)的 DNS 區(qū)域,把域名解析到本地主機(jī),并且設(shè)定了區(qū)域文件的更新和緩存策略。在實(shí)際應(yīng)用中,你需要依據(jù)具體需求對(duì)這些記錄進(jìn)行修改和擴(kuò)展。










查看反向解析模板文件

[root@localhost ~]# cat /var/named/named.loopback
$TTL 1D
@  IN SOA @ rname.invalid. (
          0  ; serial
          1D ; refresh
          1H ; retry
          1W ; expire
          3H )  ; minimum
  NS @
  A  127.0.0.1
  AAAA  ::1
  PTR localhost.

1. PTR 記錄的用途
正常情況下,DNS 的正向解析是把域名解析為 IP 地址,比如通過(guò) www.example.com 解析出對(duì)應(yīng)的 IP 地址(如 192.168.1.100)。而反向解析則是相反的過(guò)程,它依據(jù) IP 地址找出對(duì)應(yīng)的域名。反向解析在很多場(chǎng)景中都很重要,例如郵件服務(wù)器驗(yàn)證、網(wǎng)絡(luò)安全審計(jì)等。

2. PTR localhost. 的具體解釋
PTR:這是記錄類(lèi)型,表明這是一條反向解析記錄。
localhost.:這是與 IP 地址對(duì)應(yīng)的域名。結(jié)合前面的 A 記錄 A 127.0.0.1 和 AAAA 記錄 AAAA ::1,這里的 PTR localhost. 表示將 IPv4 地址 127.0.0.1 和 IPv6 地址 ::1 反向解析為域名 localhost.。










服務(wù)啟動(dòng)文件

[root@localhost ~]# cat /usr/lib/systemd/system/named.service
[Unit]
Description=Berkeley Internet Name Domain (DNS)
Wants=nss-lookup.target
Wants=named-setup-rndc.service
Before=nss-lookup.target
After=named-setup-rndc.service
After=network.target

[Service]
Type=forking
Environment=NAMEDCONF=/etc/named.conf
EnvironmentFile=-/etc/sysconfig/named
Environment=KRB5_KTNAME=/etc/named.keytab
PIDFile=/run/named/named.pid

ExecStartPre=/bin/bash -c 'if [ ! "$DISABLE_ZONE_CHECKING" == "yes" ]; then /usr/sbin/named-checkconf -z "$NAMEDCONF"; else echo "Checking of zone files is disabled"; fi'
ExecStart=/usr/sbin/named -u named -c ${NAMEDCONF} $OPTIONS
ExecReload=/bin/sh -c 'if /usr/sbin/rndc null > /dev/null 2>&1; then /usr/sbin/rndc reload; else /bin/kill -HUP $MAINPID; fi'

ExecStop=/bin/sh -c '/usr/sbin/rndc stop > /dev/null 2>&1 || /bin/kill -TERM $MAINPID'

PrivateTmp=true

[Install]
WantedBy=multi-user.target










查看主配置文件

[root@localhost~]# cat /etc/named.conf
# 配置的核心選項(xiàng)
options {
 # 監(jiān)聽(tīng)哪個(gè)主機(jī)的 53 端口,以IPv4的格式來(lái)監(jiān)聽(tīng),一般寫(xiě)當(dāng)前主機(jī)的IP地址。注意此文件中每一行結(jié)束使用的分號(hào)
 listen-on port53{127.0.0.1; };
 listen-on-v6port53{ ::1; };
 # 指定區(qū)域數(shù)據(jù)文件存放目錄
  directory "/var/named";
 # 指定緩存文件所在路徑
 dump-file "/var/named/data/cache_dump.db";
 # 指定統(tǒng)計(jì)文件所在路徑
  statistics-file"/var/named/data/named_stats.txt";
  memstatistics-file"/var/named/data/named_mem_stats.txt";
 # 指定安全文件所在路徑
  secroots-file "/var/named/data/named.secroots";
  recursing-file "/var/named/data/named.recursing";
 # 是否允許查詢(xún),此配置可以刪除,如果允許所有人查詢(xún),將它的值設(shè)置為 any,如果值為 localhost則表示只能當(dāng)前主機(jī)查詢(xún)
  allow-query   { localhost; };

 # 是否允許遞歸查詢(xún),一般會(huì)設(shè)置為 false
  recursion yes;

  dnssec-validation yes;

  managed-keys-directory"/var/named/dynamic";
  geoip-directory"/usr/share/GeoIP";

 # 進(jìn)程pid文件
  pid-file"/run/named/named.pid";
  session-keyfile"/run/named/session.key";

 # 包含的配置
  include"/etc/crypto-policies/back-ends/bind.config";
};
# 日志配置
logging {
    channel default_debug {
        file"data/named.run";
        severity dynamic;
    };
};
# 根服務(wù)配置
zone"."IN {
  type hint;
  file"named.ca";
};
# 引入的區(qū)域數(shù)據(jù)配置文件
include"/etc/named.rfc1912.zones";
include"/etc/named.root.key";










DNS正向解析配置

需求:將 www.example.com 解析為你們電腦中虛擬機(jī)的IP地址,比如我們 IP是 192.168.153.7

實(shí)現(xiàn)步驟

1、安裝bind軟件

2、修改主配置文件

[root@localhost ~]# vim /etc/named.conf
options {
    listen-on port 53 { 192.168.72.135; };
    directory    "/var/named";
};
zone "example.com" IN {
    type master;
    file "example.zone";
};


詳細(xì)解釋?zhuān)?全局選項(xiàng)部分(options 塊)

options {
    listen-on port 53 { 192.168.72.135; };
    directory     "/var/named";
};

listen-on port 53 { 192.168.72.135; };
listen-on:此指令用于指定 DNS 服務(wù)器監(jiān)聽(tīng)的網(wǎng)絡(luò)接口和端口。
port 53:表明 DNS 服務(wù)器將在 TCP 和 UDP 的 53 號(hào)端口上監(jiān)聽(tīng)請(qǐng)求,因?yàn)?53 號(hào)端口是 DNS 服務(wù)的標(biāo)準(zhǔn)端口。
{ 192.168.72.135; }:這里指定了 DNS 服務(wù)器僅監(jiān)聽(tīng) IP 地址為 192.168.72.135 的網(wǎng)絡(luò)接口。也就是說(shuō),只有發(fā)往該 IP 地址 53 號(hào)端口的 DNS 請(qǐng)求才會(huì)被處理。如果有多塊網(wǎng)卡或多個(gè) IP 地址,你可以添加多個(gè) IP 地址,例如 { 192.168.72.135; 192.168.72.136; }。
directory "/var/named";
directory:該指令定義了 DNS 服務(wù)器查找區(qū)域文件的默認(rèn)目錄。區(qū)域文件包含了域名到 IP 地址的映射等 DNS 記錄。在這個(gè)配置中,所有區(qū)域文件都將從 /var/named 目錄下查找。例如,后續(xù)配置中提到的 example.zone 文件就會(huì)在這個(gè)目錄下尋找。
區(qū)域配置部分(zone 塊)

zone "example.com" IN {
    type master;
    file "example.zone";
};

zone "example.com" IN
zone:這是定義一個(gè) DNS 區(qū)域的關(guān)鍵字。
"example.com":指定了要配置的域名區(qū)域,即 example.com。這個(gè)區(qū)域包含了與 example.com 相關(guān)的所有 DNS 記錄。
IN:表示這是一個(gè) Internet 類(lèi)的 DNS 區(qū)域,這是最常見(jiàn)的區(qū)域類(lèi)型。
type master;
type:用于指定該區(qū)域的類(lèi)型,這里的 master 表明這臺(tái) DNS 服務(wù)器是 example.com 區(qū)域的主服務(wù)器。主服務(wù)器擁有該區(qū)域的權(quán)威數(shù)據(jù),它可以對(duì)區(qū)域文件進(jìn)行修改,并將更新同步給從屬服務(wù)器。
file "example.zone";
file:指定了存儲(chǔ)該區(qū)域 DNS 記錄的文件名稱(chēng)。在這個(gè)配置中,example.com 區(qū)域的所有 DNS 記錄都存儲(chǔ)在 /var/named/example.zone 文件中。該文件應(yīng)包含如 SOA(起始授權(quán)機(jī)構(gòu))、NS(名稱(chēng)服務(wù)器)、A(IPv4 地址記錄)等各種 DNS 記錄。
總結(jié)
這個(gè)配置文件的主要作用是讓 DNS 服務(wù)器監(jiān)聽(tīng)特定 IP 地址的 53 號(hào)端口,將 /var/named 作為區(qū)域文件的存儲(chǔ)目錄,并將 example.com 區(qū)域的管理職責(zé)賦予這臺(tái)服務(wù)器,相關(guān)的 DNS 記錄存儲(chǔ)在 example.zone 文件中。










3、檢測(cè)主配置文件是否有語(yǔ)法錯(cuò)誤

[root@localhost ~]# named-checkconf

[root@tomcat1 /]# named-checkconf
/etc/named.conf '{' expected near '53'
有提示說(shuō)明有錯(cuò)誤,沒(méi)有提示說(shuō)明正確,以上錯(cuò)誤可能是你沒(méi)寫(xiě)port








執(zhí)行這條命令后,如果沒(méi)有輸出任何信息表示主配置文件沒(méi)有錯(cuò)誤。

4、編寫(xiě)區(qū)域數(shù)據(jù)配置文件

[root@localhost ~]# vim /var/named/example.zone
$TTL  1D
@    IN   SOA   ns.example.com. admin.example.com. (
                            0
                            1H
                            1W
                            2M
                            1D
                            )
    IN   NS   ns
    IN   MX 5  mail
ns   IN   A    192.168.72.135   # NS 記錄要批向當(dāng)前DNS服務(wù)器的IP地址
www   IN   A    10.10.10.11
mail  IN   A    92.68.22.14
web   IN   CNAME  www         # CNAME記錄是別名記錄

你提供的 example.zone 文件是一個(gè) DNS 區(qū)域文件,用于定義 example.com 域名的 DNS 記錄。下面為你詳細(xì)解釋文件中各部分的含義:
1. $TTL 1D
$TTL 是一個(gè)指令,用于設(shè)置該區(qū)域文件中所有資源記錄的默認(rèn)生存時(shí)間(Time To Live)。
1D 表示 1 天,意味著這些記錄在 DNS 緩存中的有效時(shí)間為 1 天。超過(guò)這個(gè)時(shí)間,緩存中的記錄將被視為無(wú)效,需要重新從權(quán)威 DNS 服務(wù)器獲取。
2. @ IN SOA ns.example.com. admin.example.com. (...)
@:在區(qū)域文件中,@ 是一個(gè)占位符,代表該區(qū)域的域名,即 example.com。
IN:表示這是一個(gè) Internet 類(lèi)的 DNS 記錄,這是最常見(jiàn)的 DNS 記錄類(lèi)型。
SOA:即起始授權(quán)機(jī)構(gòu)(Start of Authority)記錄,是每個(gè) DNS 區(qū)域文件中必須存在的記錄,為該區(qū)域提供權(quán)威信息。
ns.example.com.:主名稱(chēng)服務(wù)器的域名,負(fù)責(zé)該區(qū)域的 DNS 解析。
admin.example.com.:負(fù)責(zé)該區(qū)域的管理員的電子郵件地址。由于 DNS 不允許使用 @ 符號(hào),所以用 . 來(lái)替代。例如 admin.example.com. 實(shí)際上代表 admin@example.com。
序列號(hào)及相關(guān)時(shí)間參數(shù)
plaintext
0    ; serial 序列號(hào)
1H   ; refresh 刷新時(shí)間
1W   ; retry  重試時(shí)間
2M   ; expire 過(guò)期時(shí)間
1D   ; minimum 否定緩存時(shí)間
serial(序列號(hào)):值為 0,這個(gè)序列號(hào)用于標(biāo)識(shí)區(qū)域文件的版本。當(dāng)區(qū)域文件內(nèi)容有更新時(shí),序列號(hào)需要增加,以便從屬 DNS 服務(wù)器通過(guò)比較序列號(hào)來(lái)判斷是否需要更新本地緩存。
refresh(刷新時(shí)間):1H 表示 1 小時(shí),從屬 DNS 服務(wù)器每隔 1 小時(shí)會(huì)嘗試從主 DNS 服務(wù)器獲取最新的區(qū)域文件。
retry(重試時(shí)間):1W 表示 1 周,如果從屬 DNS 服務(wù)器在刷新區(qū)域文件時(shí)失敗,會(huì)在 1 周后再次嘗試。
expire(過(guò)期時(shí)間):2M 表示 2 個(gè)月,如果從屬 DNS 服務(wù)器在 2 個(gè)月內(nèi)都無(wú)法從主 DNS 服務(wù)器獲取最新的區(qū)域文件,那么它將認(rèn)為該區(qū)域文件已過(guò)期,不再提供該區(qū)域的解析服務(wù)。
minimum(否定緩存時(shí)間):1D 表示 1 天,當(dāng) DNS 查詢(xún)得到否定響應(yīng)(如域名不存在)時(shí),該否定響應(yīng)會(huì)在緩存中保留 1 天。
3. IN NS ns
NS:即名稱(chēng)服務(wù)器(Name Server)記錄,指定了負(fù)責(zé)該區(qū)域的 DNS 服務(wù)器。
ns:這里的 ns 實(shí)際上是 ns.example.com 的簡(jiǎn)寫(xiě),表示該區(qū)域的權(quán)威 DNS 服務(wù)器是 ns.example.com。
4. IN MX 5 mail
MX:即郵件交換器(Mail Exchanger)記錄,用于指定接收該域名電子郵件的郵件服務(wù)器。
5:是優(yōu)先級(jí),數(shù)值越小,優(yōu)先級(jí)越高。
mail:實(shí)際上是 mail.example.com 的簡(jiǎn)寫(xiě),表示 mail.example.com 是接收 example.com 域名電子郵件的郵件服務(wù)器。
5. ns IN A 192.168.72.135
A:是 IPv4 地址記錄,將域名映射到對(duì)應(yīng)的 IPv4 地址。
ns:即 ns.example.com,表示 ns.example.com 的 IPv4 地址是 192.168.72.135。
6. www IN A 10.10.10.11
A:IPv4 地址記錄。
www:即 www.example.com,表示 www.example.com 的 IPv4 地址是 10.10.10.11。
7. mail IN A 92.68.22.14
A:IPv4 地址記錄。
mail:即 mail.example.com,表示 mail.example.com 的 IPv4 地址是 92.68.22.14。
8. web IN CNAME www
CNAME:即規(guī)范名稱(chēng)(Canonical Name)記錄,也稱(chēng)為別名記錄。
web:即 web.example.com,表示 web.example.com 是 www.example.com 的別名,訪(fǎng)問(wèn) web.example.com 實(shí)際上會(huì)被解析為 www.example.com 的 IP 地址。
總結(jié)
這個(gè) example.zone 文件定義了 example.com 域名的 DNS 記錄,包括主名稱(chēng)服務(wù)器、郵件服務(wù)器、Web 服務(wù)器等的相關(guān)信息,以及它們對(duì)應(yīng)的 IP 地址和別名。這些記錄為 DNS 解析提供了必要的信息,使得用戶(hù)可以通過(guò)域名訪(fǎng)問(wèn)相應(yīng)的服務(wù)。










5、檢測(cè)區(qū)域數(shù)據(jù)匹配文件的語(yǔ)法

# 格式:named-checkzone 要解析的域名  這個(gè)域名解析對(duì)應(yīng)區(qū)域數(shù)據(jù)文件的路徑
[root@localhost ~]# named-checkzone example.com /var/named/example.zone
zone example.com/IN: loaded serial 0
OK






6、啟動(dòng)服務(wù)

`[root@localhost ~]# systemctl start named`



7、檢測(cè)解析是否成功

# 1. 解析NS記錄
# 使用格式:dig -t 要解析的記錄類(lèi)型 域名   @DNS服務(wù)器的IP地址
[root@localhost ~]# dig -t NS example.com @192.168.72.135

; <<>> DiG 9.16.23-RH <<>> -t NS example.com @192.168.72.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12332
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 2

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 4d561b462550d8b20100000067e9400ac355adc305b548e5 (good)
;; QUESTION SECTION:
;example.com. ? ? ? ? ? IN ?NS

;; ANSWER SECTION:
example.com. ? ? ? ?86400 ? IN ?NS ?ns.example.com.

;; ADDITIONAL SECTION:
ns.example.com. ? ? 86400 ? IN ?A ? 192.168.72.135

;; Query time: 0 msec
;; SERVER: 192.168.72.135#53(192.168.72.135)
;; WHEN: Sun Mar 30 2050 CST 2025
;; MSG SIZE ?rcvd: 101


# 2. 解析A記錄
[root@localhost ~]# dig -t A www.example.com @192.168.72.135

; <<>> DiG 9.16.23-RH <<>> -t A www.example.com @192.168.72.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 53940
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: b6d24840a685a6930100000067e940958baf9d4b8a53e81f (good)
;; QUESTION SECTION:
;www.example.com. ? ? ? IN ?A

;; ANSWER SECTION:
www.example.com. ? ?86400 ? IN ?A ? 10.10.10.11

;; Query time: 0 msec
;; SERVER: 192.168.72.135#53(192.168.72.135)
;; WHEN: Sun Mar 30 2109 CST 2025
;; MSG SIZE ?rcvd: 88










以上代碼具體作用:

命令一:dig -t NS example.com @192.168.72.135
命令解析
dig:這是一個(gè)在 Linux、Unix 以及 macOS 系統(tǒng)里常用的 DNS 查詢(xún)工具,其功能是向 DNS 服務(wù)器發(fā)送查詢(xún)請(qǐng)求,并且顯示響應(yīng)結(jié)果。
-t NS:-t 是 dig 命令里用于指定查詢(xún)記錄類(lèi)型的選項(xiàng),NS 代表名稱(chēng)服務(wù)器(Name Server)記錄。該記錄的作用是指定負(fù)責(zé)某個(gè)域名的權(quán)威 DNS 服務(wù)器。
example.com:此為要查詢(xún)的域名。
@192.168.72.135:@ 后面跟的是 DNS 服務(wù)器的 IP 地址,意味著要向 192.168.72.135 這個(gè) DNS 服務(wù)器發(fā)起查詢(xún)請(qǐng)求。
命令作用
這條命令的用途是向 IP 地址為 192.168.72.135 的 DNS 服務(wù)器查詢(xún) example.com 域名的 NS 記錄,也就是獲取負(fù)責(zé) example.com 域名的權(quán)威 DNS 服務(wù)器列表。
命令二:dig -t A www.example.com @192.168.72.135
命令解析
dig:同樣是 DNS 查詢(xún)工具。
-t A:A 代表 IPv4 地址記錄,該記錄的作用是將域名映射到對(duì)應(yīng)的 IPv4 地址。
www.example.com:要查詢(xún)的具體域名。
@192.168.72.135:指定向 192.168.72.135 這個(gè) DNS 服務(wù)器發(fā)起查詢(xún)請(qǐng)求。
命令作用
這條命令的用途是向 IP 地址為 192.168.72.135 的 DNS 服務(wù)器查詢(xún) www.example.com 域名的 A 記錄,也就是獲取 www.example.com 對(duì)應(yīng)的 IPv4 地址。
總結(jié)
這兩條 dig 命令能夠幫助你驗(yàn)證 DNS 服務(wù)器的配置是否正確,以及域名解析是否能夠正常工作。通過(guò)查詢(xún)不同類(lèi)型的 DNS 記錄,你可以了解域名的權(quán)威 DNS 服務(wù)器信息和具體的 IP 地址映射情況。










DNS反向解析配置

需求:將 192.168.72.135 解析為 www.exampe.com。

實(shí)現(xiàn):

1、修改主配置文件

[root@localhost ~]# vim /etc/named.conf
options {
    listen-on port 53 { 192.168.72.135; };
    directory    "/var/named";
};
zone "72.168.192.in-addr.arpa" IN {
    type master;
    file "fanxiang.zone";
};
2、檢測(cè)主配置文件的語(yǔ)法

[root@localhost ~]# named-checkconf
3、編寫(xiě)區(qū)域數(shù)據(jù)反向解析文件

[root@localhost ~]# vim /var/named/fanxiang.zone
$TTL  1D
@    IN   SOA   ns.example.com. amdin.example.com. (
                    7
                    1D
                    1W
                    2M
                    1D )
    IN   NS   ns
ns   IN   A    192.168.72.135
135   IN   PTR   www.example.com.
4、檢測(cè)區(qū)域文件的語(yǔ)法

[root@localhost ~]# named-checkzone 72.168.192.in-addr.arpa /var/named/fanxiang.zone
zone 72.168.192.in-addr.arpa/IN: loaded serial 7
OK
5、啟動(dòng)服務(wù)

[root@localhost ~]# systemctl restart named
6、功能測(cè)試

[root@localhost ~]# dig -x 192.168.72.135 @192.168.72.135

; <<>> DiG 9.16.23-RH <<>> -x 192.168.72.135 @192.168.72.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 54279
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: be29844f0e1189e30100000067e9456f6d407ccdce24d52e (good)
;; QUESTION SECTION:
;135.72.168.192.in-addr.arpa. ? IN ?PTR

;; ANSWER SECTION:
135.72.168.192.in-addr.arpa. 86400 IN ? PTR www.example.com.72.168.192.in-addr.arpa.

;; Query time: 0 msec
;; SERVER: 192.168.72.135#53(192.168.72.135)
;; WHEN: Sun Mar 30 2151 CST 2025
;; MSG SIZE ?rcvd: 137











[root@localhost ~]# dig -x 192.168.72.135 @192.168.72.135詳解

dig -x 192.168.72.135 @192.168.72.135 這條命令使用了 dig 工具來(lái)進(jìn)行 DNS 查詢(xún),下面為你詳細(xì)解釋該命令的各個(gè)部分及其作用:
命令解析
dig
dig(Domain Information Groper)是一個(gè)在 Linux、Unix 以及 macOS 系統(tǒng)中常用的 DNS 診斷工具,它的主要功能是向 DNS 服務(wù)器發(fā)送查詢(xún)請(qǐng)求,并顯示詳細(xì)的響應(yīng)結(jié)果,常用于測(cè)試 DNS 服務(wù)器配置、排查域名解析問(wèn)題等。
-x
-x 是 dig 命令的一個(gè)選項(xiàng),它是進(jìn)行反向 DNS 查找(Reverse DNS Lookup)的快捷方式。反向 DNS 查找與正向 DNS 查找相反,正向查找是將域名解析為對(duì)應(yīng)的 IP 地址,而反向查找則是根據(jù)給定的 IP 地址查找對(duì)應(yīng)的域名。當(dāng)使用 -x 選項(xiàng)時(shí),dig 會(huì)自動(dòng)將 IP 地址轉(zhuǎn)換為相應(yīng)的反向查找區(qū)域(如 in-addr.arpa 用于 IPv4 地址)并進(jìn)行查詢(xún)。
192.168.72.135
這是要進(jìn)行反向 DNS 查找的目標(biāo) IP 地址。也就是說(shuō),你希望通過(guò) DNS 服務(wù)器查詢(xún)這個(gè) IP 地址對(duì)應(yīng)的域名是什么。
@192.168.72.135
@ 符號(hào)用于指定要查詢(xún)的 DNS 服務(wù)器的 IP 地址。在這個(gè)命令中,你指定向 IP 地址為 192.168.72.135 的 DNS 服務(wù)器發(fā)起反向查詢(xún)請(qǐng)求。
命令作用
這條命令的主要作用是向 IP 地址為 192.168.72.135 的 DNS 服務(wù)器發(fā)送一個(gè)反向 DNS 查詢(xún)請(qǐng)求,以獲取 IP 地址 192.168.72.135 對(duì)應(yīng)的域名。如果該 DNS 服務(wù)器配置了相應(yīng)的反向解析區(qū)域文件,并且其中包含了 192.168.72.135 的反向解析記錄,那么它將返回對(duì)應(yīng)的域名;如果沒(méi)有配置或者沒(méi)有找到對(duì)應(yīng)的記錄,可能會(huì)返回一個(gè)表示未找到的結(jié)果。
示例輸出及含義
假設(shè)命令執(zhí)行后有如下簡(jiǎn)化輸出:
plaintext
; <<>> DiG 9.16.23-RH <<>> -x 192.168.72.135 @192.168.72.135
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 52345
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; QUESTION SECTION:
;135.72.168.192.in-addr.arpa. ?IN ? ? ?PTR

;; ANSWER SECTION:
135.72.168.192.in-addr.arpa. 86400 IN ?PTR ? ? myserver.example.com.

;; Query time: 2 msec
;; SERVER: 192.168.72.135#53(192.168.72.135)
;; WHEN: Mon Apr 07 1500 CST 2025
;; MSG SIZE ?rcvd: 103




QUESTION SECTION:顯示了查詢(xún)的具體內(nèi)容,這里是對(duì) 135.72.168.192.in-addr.arpa 進(jìn)行 PTR(Pointer,指針記錄,用于反向解析)類(lèi)型的查詢(xún)。
ANSWER SECTION:顯示了查詢(xún)的結(jié)果,這里表明 IP 地址 192.168.72.135 對(duì)應(yīng)的域名是 myserver.example.com。
通過(guò)這樣的反向查詢(xún),你可以驗(yàn)證 IP 地址和域名之間的映射關(guān)系是否正確配置,在網(wǎng)絡(luò)管理、安全審計(jì)等場(chǎng)景中具有重要作用。

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

    關(guān)注

    87

    文章

    11432

    瀏覽量

    212458
  • 軟件
    +關(guān)注

    關(guān)注

    69

    文章

    5097

    瀏覽量

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

    關(guān)注

    0

    文章

    222

    瀏覽量

    20218
  • 端口
    +關(guān)注

    關(guān)注

    4

    文章

    1011

    瀏覽量

    32663

原文標(biāo)題:全面解析Linux中的DNS服務(wù):搭建與優(yōu)化指南

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

收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在Linux配置DNS服務(wù)

    本文詳細(xì)介紹了如何在Linux配置DNS服務(wù)器,包括DNS工作原理、本地緩存、DNS查詢(xún)過(guò)程,
    的頭像 發(fā)表于 05-09 13:38 ?364次閱讀
    如何在<b class='flag-5'>Linux</b><b class='flag-5'>中</b>配置<b class='flag-5'>DNS</b><b class='flag-5'>服務(wù)</b>器

    【Raspberry Pi 3試用體驗(yàn)】+ 搭建本地DNS服務(wù)

    時(shí)好時(shí)壞。管理下局域網(wǎng)的DNS(雙十一的時(shí)候,把某寶網(wǎng)站直接給解析到本地ip,打不開(kāi)網(wǎng)頁(yè),O(∩_∩)O哈哈~)這里我用的是dnsmasq安裝比較簡(jiǎn)單:sudo apt-get install -y
    發(fā)表于 04-24 21:39

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

    以解決域名無(wú)法訪(fǎng)問(wèn)的情況。小技巧:點(diǎn)擊開(kāi)始->設(shè)置->網(wǎng)絡(luò)連接->本地連接->屬性->TCP/IP協(xié)議->使用下面的DNS服務(wù)器地址,在框輸入“8.8.8.8
    發(fā)表于 09-29 15:14

    LinuxDNS服務(wù)器配置分析

    很多平臺(tái)平臺(tái)提供云解析功能,所謂的云解析就是一個(gè)DNS服務(wù)器,一般情況下,在域名的提供商購(gòu)買(mǎi)一個(gè)域名之后,會(huì)指定一個(gè)NS記錄,例如,在域名的提供商購(gòu)買(mǎi)一下域名miner-k.com.需
    發(fā)表于 07-17 08:14

    DNS攻擊防范科普系列1》—你的DNS服務(wù)器真的安全么?

    DNS服務(wù)器,即域名服務(wù)器,它作為域名和IP地址之間的橋梁,在互聯(lián)網(wǎng)訪(fǎng)問(wèn),起到至關(guān)重要的作用。每一個(gè)互聯(lián)網(wǎng)上的域名,背后都至少有一個(gè)對(duì)應(yīng)的DNS
    發(fā)表于 10-16 15:21

    Win 2000DNS服務(wù)器的設(shè)置

    Win 2000DNS服務(wù)器的設(shè)置  DNS Domain Name Service是域名解析服務(wù)
    發(fā)表于 02-01 11:51 ?916次閱讀

    Linux如何配置DNS

    ----DNS的功用是把計(jì)算機(jī)的名稱(chēng)轉(zhuǎn)換為 IP地址。DNS的使用簡(jiǎn)化了系統(tǒng)管理員及客戶(hù)對(duì)主機(jī)文件的操作和維護(hù)。 Intranet服務(wù)器的系統(tǒng)配置 ----硬件配置:Pentium 133 CPU
    發(fā)表于 11-07 10:44 ?3次下載

    Linux DNS 服務(wù)器安裝、配置和維護(hù)的詳細(xì)解析

    DNS 協(xié)議所要完成的功能。 今天我們將討論DNS服務(wù)器,特別是Linux DNS服務(wù)
    的頭像 發(fā)表于 12-18 15:08 ?7501次閱讀

    linux無(wú)法解析域名怎么辦

    由于linux沒(méi)有DNS導(dǎo)致無(wú)法解析域名。
    發(fā)表于 05-21 09:23 ?2431次閱讀
    <b class='flag-5'>linux</b>無(wú)法<b class='flag-5'>解析</b>域名怎么辦

    虛擬機(jī):Linux查看DNS服務(wù)器IP地址的方法

    虛擬機(jī):Linux查看DNS服務(wù)器IP地址的方法
    的頭像 發(fā)表于 06-22 15:12 ?1.4w次閱讀
    虛擬機(jī):<b class='flag-5'>Linux</b>查看<b class='flag-5'>DNS</b><b class='flag-5'>服務(wù)</b>器IP地址的方法

    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)再將用戶(hù)提供的域名地址自動(dòng)轉(zhuǎn)為IP地址。域名服務(wù)就是一種用于域名系統(tǒng)的互聯(lián)網(wǎng)工具,
    的頭像 發(fā)表于 03-30 15:57 ?9314次閱讀

    探討DNS服務(wù)解析

    本地 DNS 服務(wù)器收到來(lái)自客戶(hù)端的 DNS 請(qǐng)求,它會(huì)在其緩存查找 google.com 的 IP 地址。如果它可以找到對(duì)應(yīng)的條目,它將直接將 IP 地址返回給客戶(hù)端。否則,本地
    的頭像 發(fā)表于 05-05 15:42 ?1703次閱讀

    如何在 Linux 上查看本地 DNS 緩存

    的 IP 地址。此域 IP 地址對(duì)保存在 DNS 緩存供以后使用,因此您不必每次都向 DNS 服務(wù)器發(fā)送請(qǐng)求以建立連接。 但有時(shí),本地 DNS
    的頭像 發(fā)表于 06-26 10:52 ?3651次閱讀
    如何在 <b class='flag-5'>Linux</b> 上查看本地 <b class='flag-5'>DNS</b> 緩存

    DNS服務(wù)器是什么?有哪些類(lèi)型?

    ,小編我給大家分析一下DNS服務(wù)器是什么?有哪些類(lèi)型? 一、DNS服務(wù)器是什么? DNS服務(wù)器是
    的頭像 發(fā)表于 08-14 17:40 ?2567次閱讀

    【教程】DNS域名解析服務(wù)systemd-resolved使用指南

    1.關(guān)于DNS解析服務(wù)DNS(DomainNameSystem),即域名系統(tǒng)。一句話(huà)總結(jié)DNS解析
    的頭像 發(fā)表于 01-09 19:34 ?729次閱讀
    【教程】<b class='flag-5'>DNS</b>域名<b class='flag-5'>解析</b><b class='flag-5'>服務(wù)</b>systemd-resolved使用指南