如何在Linux上安裝和配置僅快取的DNS伺服器


本文將向您展示如何使用DNS在本地環境中配置DNS快取或轉發伺服器。在學習配置網站和伺服器等內容時,DNS(域名系統)伺服器通常至關重要。大多數人會選擇使用託管公司或域控制器提供的DNS伺服器。

快取DNS伺服器

此配置將快取DNS伺服器。這類伺服器被稱為解析器,因為它處理遞迴查詢,並且可以處理從伺服器跟蹤DNS資料的繁瑣工作。

安裝BIND軟體包

要安裝bind軟體包,可以使用以下命令。此外,快取名稱伺服器軟體包已包含在bind軟體包中。

# yum install bind bind-chroot
Resolving Dependencies
--> Running transaction check
---> Package bind.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be installed
--> Processing Dependency: bind-libs = 32:9.8.2-0.37.rc1.el6_7.7 for package: 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64
---> Package bind-chroot.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be installed
--> Running transaction check
---> Package bind-libs.x86_64 32:9.8.2-0.37.rc1.el6 will be updated
--> Processing Dependency: bind-libs = 32:9.8.2-0.37.rc1.el6 for package: 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64
---> Package bind-libs.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be an update
--> Running transaction check
---> Package bind-utils.x86_64 32:9.8.2-0.37.rc1.el6 will be updated
---> Package bind-utils.x86_64 32:9.8.2-0.37.rc1.el6_7.7 will be an update
--> Finished Dependency Resolution

Dependencies Resolved

==============================================================================================================================================
Package Arch Version Repository Size
==============================================================================================================================================
Installing:
bind x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 4.0 M
bind-chroot x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 75 k
Updating for dependencies:
bind-libs x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 887 k
bind-utils x86_64 32:9.8.2-0.37.rc1.el6_7.7 updates 186 k

Transaction Summary
==============================================================================================================================================
Install 2 Package(s)
Upgrade 2 Package(s)

Total download size: 5.1 M
Is this ok [y/N]: y
Downloading Packages:
(1/4): bind-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 4.0 MB 00:00
(2/4): bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 75 kB 00:00
(3/4): bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 887 kB 00:00
(4/4): bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64.rpm | 186 kB 00:00
----------------------------------------------------------------------------------------------------------------------------------------------
Total 1.4 MB/s | 5.1 MB 00:03
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Updating : 32:bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64 1/6
Installing : 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64 2/6
Installing : 32:bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64 3/6
Updating : 32:bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64 4/6
Cleanup : 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64 5/6
Cleanup : 32:bind-libs-9.8.2-0.37.rc1.el6.x86_64 6/6
Verifying : 32:bind-chroot-9.8.2-0.37.rc1.el6_7.7.x86_64 1/6
Verifying : 32:bind-utils-9.8.2-0.37.rc1.el6_7.7.x86_64 2/6
Verifying : 32:bind-9.8.2-0.37.rc1.el6_7.7.x86_64 3/6
Verifying : 32:bind-libs-9.8.2-0.37.rc1.el6_7.7.x86_64 4/6
Verifying : 32:bind-libs-9.8.2-0.37.rc1.el6.x86_64 5/6
Verifying : 32:bind-utils-9.8.2-0.37.rc1.el6.x86_64 6/6
Installed:
bind.x86_64 32:9.8.2-0.37.rc1.el6_7.7 bind-chroot.x86_64 32:9.8.2-0.37.rc1.el6_7.7
Dependency Updated:
bind-libs.x86_64 32:9.8.2-0.37.rc1.el6_7.7 bind-utils.x86_64 32:9.8.2-0.37.rc1.el6_7.7
Complete!
Config the Configuration File

出於安全考慮,我們需要使用以下命令從bind示例檔案中複製bind配置檔案。需要根據安裝的版本更改檔案路徑。

# cd /var/named/chroot/etc
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.conf /var/named/chroot/etc
# cp /usr/share/doc/bind-9.8.2/sample/etc/named.rfc1912.zones /var/named/chroot/etc

更新配置檔案

您可以在自己喜歡的編輯器中編輯bind配置檔案,並根據以下要求和設定進行必要的更改:

# /var/named/chroot/etc/named.conf
options {
   listen-on port 53 { 127.0.0.1; any; };
   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";
   allow-query { localhost; any; };
   allow-query-cache { localhost; any; };
   recursion yes;
   dnssec-enable yes;
   dnssec-validation yes;
   dnssec-lookaside auto;
   /* Path to ISC DLV key */
   bindkeys-file "/etc/named.iscdlv.key";
   managed-keys-directory "/var/named/dynamic";
};
logging {
   channel default_debug {
      file "data/named.run";
      severity dynamic;
   };
};
include "/etc/named.rfc1912.zones";

現在,使用以下命令更新配置檔案所需的許可權。

# chown root:named named.conf named.rfc1912.zones

檢查配置檔案

我們建議在重新啟動服務之前檢查DNS配置檔案,使用以下命令:

# named-checkconf named.conf

重新啟動Bind服務

現在,bind服務的安裝和配置已完成。我們使用以下命令啟動bind(named)服務。

# service named restart

啟用系統啟動時自動啟動bind服務。

# chkconfig named on

最後測試僅快取DNS

使用以下命令直接向**DNS**伺服器傳送查詢。

Syntax: nslookup <domain name> <caching dns server name/IP address>
# nslookup google.com 192.168.87.150
[Sample Output:]
Server: 192.168.87.158
Address: 192.168.87.158#53
Non-authoritative answer:
Name: google.com
Address: 216.58.220.46

如果我們配置了上述配置,則已成功在您的Linux系統上配置了快取DNS伺服器,我們可以將其用作本地環境中的快取伺服器。

更新於:2020年1月20日

2K+ 瀏覽量

開啟您的職業生涯

透過完成課程獲得認證

開始
廣告