在 RHEL/CentOS 7 中安裝和配置僅緩存 DNS 伺服器 – 第 10 部分

DNS 伺服器有幾種類型,例如主要、從屬、轉發和快取等,其中快取專用 DNS 是比較容易設置的一種。由於 DNS 使用 UDP 協議,它提高了查詢時間,因為它不需要確認。

RHCE Series: Setup Cache-Only DNS in RHEL and CentOS 7 – Part 11

快取專用 DNS 伺服器也被稱為解析器,它將查詢 DNS 記錄並從其他伺服器檢索所有 DNS 詳細信息,並將每個查詢請求保存在其快取中以供以後使用,因此當我們在將來執行相同的請求時,它將從其快取中提供,從而進一步減少響應時間。

如果您想在 CentOS/RHEL 6 中設置 DNS 快取專用伺服器,請參考此指南:

在 CentOS/RHEL 6 中設置快取專用 DNS 名稱伺服器

我的測試環境

DNS server		:	dns.tecmintlocal.com (Red Hat Enterprise Linux 7.1)
Server IP Address	:	192.168.0.18
Client			:	node1.tecmintlocal.com (CentOS 7.1)
Client IP Address	:	192.168.0.29

步驟 1:在 RHEL/CentOS 7 中安裝快取專用 DNS 伺服器

1. 快取專用 DNS 伺服器可以通過 bind 套件安裝。如果您不記得套件名稱,可以使用以下命令快速搜索套件名稱。

# yum search bind
Search DNS Bind Package

2. 在上述結果中,您將看到幾個套件。我們需要從中選擇並僅安裝 bindbind-utils 套件,使用以下 yum 命令。

# yum install bind bind-utils -y
Install DNS Bind in RHEL/CentOS 7

步驟 2:在 RHEL/CentOS 7 中配置快取專用 DNS

3. 安裝完 DNS 套件後,我們可以繼續配置 DNS。使用您喜歡的文本編輯器打開並編輯 /etc/named.conf。進行以下建議的更改(或根據您的需求使用您自己的設置)。

listen-on port 53 { 127.0.0.1; any; };
allow-query     { localhost; any; };
allow-query-cache       { localhost; any; };
Configure Cache-Only DNS in CentOS and RHEL 7

這些指令指示 DNS 伺服器在 UDP53 上監聽,並允許來自 localhost 和任何其他連接到伺服器的機器的查詢和緩存回應。

4. 需要注意的是,此文件的所有權必須設置為 root:named,並且如果啟用了 SELinux,在編輯配置文件後,我們需要確保其上下文設置為 named_conf_t,如圖 4 所示(輔助文件 /etc/named.rfc1912.zones 也是一樣):

# ls -lZ /etc/named.conf
# ls -lZ /etc/named.rfc1912.zones

否則,在繼續之前配置 SELinux 上下文:

# semanage fcontext -a -t named_conf_t /etc/named.conf
# semanage fcontext -a -t named_conf_t /etc/named.rfc1912.zones

5. 此外,我們需要現在測試 DNS 配置是否存在語法錯誤,然後再啟動 bind 服務:

# named-checkconf /etc/named.conf

6. 當語法驗證結果看起來完美時,重新啟動 named 服務以使新更改生效,並使服務在系統啟動時自動啟動,然後檢查其狀態:

# systemctl restart named
# systemctl enable named
# systemctl status named
Configure and Start DNS Named Service

7. 接下來,在防火牆上打開埠 53。

# firewall-cmd --add-port=53/udp
# firewall-cmd --add-port=53/udp --permanent
Open DNS Port 53 on Firewall

步驟 3:在 RHEL 和 CentOS 7 中設置 Chroot Cache-Only DNS 伺服器

8. 如果您希望在chroot環境中部署僅緩存的DNS伺服器,您需要在系統上安裝chroot套件,並且不需要進行進一步的配置,因為它默認硬連接到chroot。

# yum install bind-chroot -y

安裝chroot套件後,您可以重新啟動named以使新更改生效:

# systemctl restart named

9. 接下來,在/var/named/chroot/etc/內創建一個符號連結(也命名為/etc/named.conf):

# ln -s /etc/named.conf /var/named/chroot/etc/named.conf

步驟4:在客戶端機器上配置DNS

10. 將DNS緩存伺服器IP 192.168.0.18添加為客戶端機器的解析器。編輯/etc/sysconfig/network-scripts/ifcfg-enp0s3如下圖所示:

DNS=192.168.0.18
Configure DNS on Client Machine

以及/etc/resolv.conf如下:

nameserver 192.168.0.18

11. 最後是檢查我們的緩存伺服器的時間。為此,您可以使用dig實用工具nslookup命令

選擇任何網站並查詢兩次(我們將使用facebook.com作為示例)。請注意,使用dig第二次查詢完成得更快,因為它是從緩存中提供的。

# dig facebook.com
Check Cache only DNS Queries

您也可以使用nslookup來驗證DNS伺服器是否按預期工作。

# nslookup facebook.com
Checking DNS Query with nslookup

摘要

在這篇文章中,我們已經解釋了如何在紅帽企業 Linux 7CentOS 7中設置 DNS 僅快取伺服器,並在客戶端機器上進行了測試。如果您有任何問題或建議,請隨時使用下面的表格告訴我們。

Source:
https://www.tecmint.com/install-configure-cache-only-dns-server-in-rhel-centos-7/