在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

深度解析Linux中的DNS服務

馬哥Linux運維 ? 來源:CSDN技術社區 ? 2025-04-09 16:13 ? 次閱讀

DNS服務(Linux

DNS 介紹

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

這需要運行在三層和四層,也就是說它需要使用 TCP 或UDP 協議,并且需要綁定端口,53。在使用時先通過 UDP 去查詢,哪里 UDP 查詢不到再使用 TCP 查詢。

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

// 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 服務器的全局選項、域名區域以及具體的解析記錄。通過配置 bind,你可以讓 DNS 服務器依據這些規則進行域名解析。










查看

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






查看正向解析模板文件

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

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










查看反向解析模板文件

[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 地址,比如通過 www.example.com 解析出對應的 IP 地址(如 192.168.1.100)。而反向解析則是相反的過程,它依據 IP 地址找出對應的域名。反向解析在很多場景中都很重要,例如郵件服務器驗證、網絡安全審計等。

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










服務啟動文件

[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
# 配置的核心選項
options {
 # 監聽哪個主機的 53 端口,以IPv4的格式來監聽,一般寫當前主機的IP地址。注意此文件中每一行結束使用的分號
 listen-on port53{127.0.0.1; };
 listen-on-v6port53{ ::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";
 # 指定安全文件所在路徑
  secroots-file "/var/named/data/named.secroots";
  recursing-file "/var/named/data/named.recursing";
 # 是否允許查詢,此配置可以刪除,如果允許所有人查詢,將它的值設置為 any,如果值為 localhost則表示只能當前主機查詢
  allow-query   { localhost; };

 # 是否允許遞歸查詢,一般會設置為 false
  recursion yes;

  dnssec-validation yes;

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

 # 進程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;
    };
};
# 根服務配置
zone"."IN {
  type hint;
  file"named.ca";
};
# 引入的區域數據配置文件
include"/etc/named.rfc1912.zones";
include"/etc/named.root.key";










DNS正向解析配置

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

實現步驟

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";
};


詳細解釋:
全局選項部分(options 塊)

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

listen-on port 53 { 192.168.72.135; };
listen-on:此指令用于指定 DNS 服務器監聽的網絡接口和端口。
port 53:表明 DNS 服務器將在 TCP 和 UDP 的 53 號端口上監聽請求,因為 53 號端口是 DNS 服務的標準端口。
{ 192.168.72.135; }:這里指定了 DNS 服務器僅監聽 IP 地址為 192.168.72.135 的網絡接口。也就是說,只有發往該 IP 地址 53 號端口的 DNS 請求才會被處理。如果有多塊網卡或多個 IP 地址,你可以添加多個 IP 地址,例如 { 192.168.72.135; 192.168.72.136; }。
directory "/var/named";
directory:該指令定義了 DNS 服務器查找區域文件的默認目錄。區域文件包含了域名到 IP 地址的映射等 DNS 記錄。在這個配置中,所有區域文件都將從 /var/named 目錄下查找。例如,后續配置中提到的 example.zone 文件就會在這個目錄下尋找。
區域配置部分(zone 塊)

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

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










3、檢測主配置文件是否有語法錯誤

[root@localhost ~]# named-checkconf

[root@tomcat1 /]# named-checkconf
/etc/named.conf '{' expected near '53'
有提示說明有錯誤,沒有提示說明正確,以上錯誤可能是你沒寫port








執行這條命令后,如果沒有輸出任何信息表示主配置文件沒有錯誤。

4、編寫區域數據配置文件

[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 記錄要批向當前DNS服務器的IP地址
www   IN   A    10.10.10.11
mail  IN   A    92.68.22.14
web   IN   CNAME  www         # CNAME記錄是別名記錄

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










5、檢測區域數據匹配文件的語法

# 格式:named-checkzone 要解析的域名  這個域名解析對應區域數據文件的路徑
[root@localhost ~]# named-checkzone example.com /var/named/example.zone
zone example.com/IN: loaded serial 0
OK






6、啟動服務

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



7、檢測解析是否成功

# 1. 解析NS記錄
# 使用格式:dig -t 要解析的記錄類型 域名   @DNS服務器的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:這是一個在 Linux、Unix 以及 macOS 系統里常用的 DNS 查詢工具,其功能是向 DNS 服務器發送查詢請求,并且顯示響應結果。
-t NS:-t 是 dig 命令里用于指定查詢記錄類型的選項,NS 代表名稱服務器(Name Server)記錄。該記錄的作用是指定負責某個域名的權威 DNS 服務器。
example.com:此為要查詢的域名。
@192.168.72.135:@ 后面跟的是 DNS 服務器的 IP 地址,意味著要向 192.168.72.135 這個 DNS 服務器發起查詢請求。
命令作用
這條命令的用途是向 IP 地址為 192.168.72.135 的 DNS 服務器查詢 example.com 域名的 NS 記錄,也就是獲取負責 example.com 域名的權威 DNS 服務器列表。
命令二:dig -t A www.example.com @192.168.72.135
命令解析
dig:同樣是 DNS 查詢工具。
-t A:A 代表 IPv4 地址記錄,該記錄的作用是將域名映射到對應的 IPv4 地址。
www.example.com:要查詢的具體域名。
@192.168.72.135:指定向 192.168.72.135 這個 DNS 服務器發起查詢請求。
命令作用
這條命令的用途是向 IP 地址為 192.168.72.135 的 DNS 服務器查詢 www.example.com 域名的 A 記錄,也就是獲取 www.example.com 對應的 IPv4 地址。
總結
這兩條 dig 命令能夠幫助你驗證 DNS 服務器的配置是否正確,以及域名解析是否能夠正常工作。通過查詢不同類型的 DNS 記錄,你可以了解域名的權威 DNS 服務器信息和具體的 IP 地址映射情況。










DNS反向解析配置

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

實現:

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、檢測主配置文件的語法

[root@localhost ~]# named-checkconf
3、編寫區域數據反向解析文件

[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、檢測區域文件的語法

[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、啟動服務

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

[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 工具來進行 DNS 查詢,下面為你詳細解釋該命令的各個部分及其作用:
命令解析
dig
dig(Domain Information Groper)是一個在 Linux、Unix 以及 macOS 系統中常用的 DNS 診斷工具,它的主要功能是向 DNS 服務器發送查詢請求,并顯示詳細的響應結果,常用于測試 DNS 服務器配置、排查域名解析問題等。
-x
-x 是 dig 命令的一個選項,它是進行反向 DNS 查找(Reverse DNS Lookup)的快捷方式。反向 DNS 查找與正向 DNS 查找相反,正向查找是將域名解析為對應的 IP 地址,而反向查找則是根據給定的 IP 地址查找對應的域名。當使用 -x 選項時,dig 會自動將 IP 地址轉換為相應的反向查找區域(如 in-addr.arpa 用于 IPv4 地址)并進行查詢。
192.168.72.135
這是要進行反向 DNS 查找的目標 IP 地址。也就是說,你希望通過 DNS 服務器查詢這個 IP 地址對應的域名是什么。
@192.168.72.135
@ 符號用于指定要查詢的 DNS 服務器的 IP 地址。在這個命令中,你指定向 IP 地址為 192.168.72.135 的 DNS 服務器發起反向查詢請求。
命令作用
這條命令的主要作用是向 IP 地址為 192.168.72.135 的 DNS 服務器發送一個反向 DNS 查詢請求,以獲取 IP 地址 192.168.72.135 對應的域名。如果該 DNS 服務器配置了相應的反向解析區域文件,并且其中包含了 192.168.72.135 的反向解析記錄,那么它將返回對應的域名;如果沒有配置或者沒有找到對應的記錄,可能會返回一個表示未找到的結果。
示例輸出及含義
假設命令執行后有如下簡化輸出:
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:顯示了查詢的具體內容,這里是對 135.72.168.192.in-addr.arpa 進行 PTR(Pointer,指針記錄,用于反向解析)類型的查詢。
ANSWER SECTION:顯示了查詢的結果,這里表明 IP 地址 192.168.72.135 對應的域名是 myserver.example.com。
通過這樣的反向查詢,你可以驗證 IP 地址和域名之間的映射關系是否正確配置,在網絡管理、安全審計等場景中具有重要作用。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • Linux
    +關注

    關注

    87

    文章

    11410

    瀏覽量

    212192
  • 軟件
    +關注

    關注

    69

    文章

    5082

    瀏覽量

    88716
  • DNS
    DNS
    +關注

    關注

    0

    文章

    221

    瀏覽量

    20158
  • 端口
    +關注

    關注

    4

    文章

    1003

    瀏覽量

    32603

原文標題:全面解析Linux中的DNS服務:搭建與優化指南

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    【Raspberry Pi 3試用體驗】+ 搭建本地DNS服務

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

    如何解決DNS解析錯誤故障

    以解決域名無法訪問的情況。小技巧:點擊開始->設置->網絡連接->本地連接->屬性->TCP/IP協議->使用下面的DNS服務器地址,在框輸入“8.8.8.8
    發表于 09-29 15:14

    LinuxDNS服務器配置分析

    很多平臺平臺提供云解析功能,所謂的云解析就是一個DNS服務器,一般情況下,在域名的提供商購買一個域名之后,會指定一個NS記錄,例如,在域名的提供商購買一下域名miner-k.com.需
    發表于 07-17 08:14

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

    DNS服務器,即域名服務器,它作為域名和IP地址之間的橋梁,在互聯網訪問,起到至關重要的作用。每一個互聯網上的域名,背后都至少有一個對應的DNS
    發表于 10-16 15:21

    Win 2000DNS服務器的設置

    Win 2000DNS服務器的設置  DNS Domain Name Service是域名解析服務
    發表于 02-01 11:51 ?912次閱讀

    Linux如何配置DNS

    ----DNS的功用是把計算機的名稱轉換為 IP地址。DNS的使用簡化了系統管理員及客戶對主機文件的操作和維護。 Intranet服務器的系統配置 ----硬件配置:Pentium 133 CPU
    發表于 11-07 10:44 ?3次下載

    Linux DNS 服務器安裝、配置和維護的詳細解析

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

    解讀DNS服務器以及保護的方法

    域名服務器保存著域名及其對應的IP地址,從而實現實現域名解析及IP之間的解析。那么,怎么保護DNS服務器?小編為大家介紹了
    發表于 01-14 09:21 ?2603次閱讀
    解讀<b class='flag-5'>DNS</b><b class='flag-5'>服務</b>器以及保護的方法

    linux無法解析域名怎么辦

    由于linux沒有DNS導致無法解析域名。
    發表于 05-21 09:23 ?2411次閱讀
    <b class='flag-5'>linux</b>無法<b class='flag-5'>解析</b>域名怎么辦

    虛擬機:Linux查看DNS服務器IP地址的方法

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

    DNS服務器和DNS服務器地址是什么

    域名系統,屬于一種組織成域層次結構的計算機和網絡服務器命名系統。域名系統主要用于分配域名地址、IP地址給互聯網的主機,系統再將用戶提供的域名地址自動轉為IP地址。域名服務就是一種用于域名系統的互聯網工具,
    的頭像 發表于 03-30 15:57 ?9279次閱讀

    探討DNS服務解析

    本地 DNS 服務器收到來自客戶端的 DNS 請求,它會在其緩存查找 google.com 的 IP 地址。如果它可以找到對應的條目,它將直接將 IP 地址返回給客戶端。否則,本地
    的頭像 發表于 05-05 15:42 ?1684次閱讀

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

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

    DNS服務器是什么?有哪些類型?

    ,小編我給大家分析一下DNS服務器是什么?有哪些類型? 一、DNS服務器是什么? DNS服務器是
    的頭像 發表于 08-14 17:40 ?2512次閱讀

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

    1.關于DNS解析服務DNS(DomainNameSystem),即域名系統。一句話總結DNS解析
    的頭像 發表于 01-09 19:34 ?642次閱讀
    【教程】<b class='flag-5'>DNS</b>域名<b class='flag-5'>解析</b><b class='flag-5'>服務</b>systemd-resolved使用指南
    主站蜘蛛池模板: 免费观看的黄色网址 | 天天玩夜夜操 | 欧美亚洲综合图区在线 | 男人的网址 | 91视频-88av| 黄色生活毛片 | 搞逼综合网 | 天天射天天操天天干 | 色综合天天五月色 | 欧美午夜视频在线观看 | 色啦啦影院| 农村妇女色又黄一级毛片卡 | 黄色欧美视频 | www.久久综合 | 狠狠色噜噜狠狠狠狠999米奇 | 婷婷五月小说 | 成人永久免费视频网站在线观看 | 精品国产麻豆免费人成网站 | 日本女人啪啪 | 天天射视频 | 久久男人视频 | 失禁h啪肉尿出来高h男男 | 123综合网在线 | 日本www黄| 日本一本在线视频 | 色www视频永久免费 色www视频永久免费软件 | 萝l在线精品社区资源 | 加勒比色 | 福利视频一区二区牛牛 | 天天做天天爰夜夜爽 | 天天做天天爱夜夜爽 | 黄色美女网站免费看 | 特黄特黄aaaa级毛片免费看 | 亚洲黄色影片 | 天天操精品 | 欧美黄色大全 | 欧美日韩中文字幕 | 午夜伦理片在线观看 | 一级毛片无毒不卡直接观看 | 久久精品乱子伦免费 | 欧美性色综合网 |