如何使用 bind 設置 DNS 伺服器
本指南將向你展示如何配置一個主 DNS 系統以及客戶端。
-- Curt Warfield
域名系統Domain Name System,我們更通常稱為 DNS 的系統,可以將域名翻譯或轉換為與該域關聯的 IP 地址。DNS 是能夠讓你通過名稱找到自己喜歡的網站而不是在瀏覽器中輸入 IP 地址的原因。本指南將向你展示如何配置一個主 DNS 系統以及客戶端。
以下是本文示例中使用的系統細節:
DNS 伺服器配置
使用sudo安裝 bind 包:
bind 包提供了 配置文件,來供你配置 DNS 伺服器。
編輯 文件:
查找以下行:
添加主 DNS 伺服器的 IP 地址,如下所示:
查找以下行:
添加本地網路範圍。該示例系統使用的 IP 地址在 192.168.1.X 的範圍內。指定如下:
指定轉發和反向區域。區域文件Zone file就是具有系統上 DNS 信息(例如 IP 地址和主機名)的文本文件。轉發區域文件forward zone file使得將主機名轉換為 IP 地址成為可能。反向區域文件reverse zone file則相反。它允許遠程系統將 IP 地址轉換為主機名。
在 文件的底部查找以下行:
在此處,你將在該行的正上方指定區域文件信息,如下所示:
和 文件是要創建的區域文件的名稱。它們可以是任意名字。
保存並退出。
創建區域文件
創建你在 文件中指定的轉發和反向區域文件:
添加以下行:
所有粗體(LCTT 譯註:本譯文中無法呈現粗體)內容都特定於你的環境。保存文件並退出。接下來,編輯 文件:
添加以下行:
所有粗體(LCTT 譯註:本譯文中無法呈現粗體)內容都特定於你的環境。保存文件並退出。
你還需要配置 SELinux 並為配置文件添加正確的所有權。
配置防火牆:
檢查配置是否存在語法錯誤
如果沒有輸出或返回錯誤,那麼你的配置有效。
檢查轉發和反向區域文件。
你應該看到 「OK」 的響應:
啟用並啟動 DNS 服務
配置 resolv.conf 文件
編輯 文件:
查找你當前的 行。在示例系統上,使用數據機/路由器充當名稱伺服器,因此當前看起來像這樣:
這需要更改為主 DNS 伺服器的 IP 地址:
保存更改並退出。
不幸的是需要注意一點。如果系統重啟或網路重啟,那麼 NetworkManager 會覆蓋 文件。這意味著你將丟失所做的所有更改。
為了防止這種情況發生,請將 設為不可變:
如果要重新設置,就需要允許其再次被覆蓋:
測試 DNS 伺服器
需要檢查幾件事以驗證 DNS 伺服器是否正常運行。顯然,取得結果很重要,但這本身並不意味著 DNS 伺服器實際上正常工作。
頂部的 、 和 欄位應顯示為非零,如我們的示例所示:
並且 欄位應有你的 DNS 伺服器的 IP 地址:
如果這是你第一次運行dig命令,請注意完成查詢要花費 830 毫秒的時間:
如果再次運行它,查詢將會更快:
客戶端配置
客戶端配置將簡單得多。
安裝 bind 程序:
編輯 文件,並將主 DNS 配置為唯一的名稱伺服器:
它看起來像這樣:
保存更改並退出。然後,使 文件不可變,防止其被覆蓋並變回默認設置:
測試客戶端
你應該獲得與 DNS 伺服器相同的結果:
確保 輸出的是你 DNS 伺服器的 IP 地址。
你的 DNS 伺服器設置完成了,現在所有來自客戶端的請求都會經過你的 DNS 伺服器了!
via:https://fedoramagazine.org/how-to-setup-a-dns-server-with-bind/
作者:Curt Warfield選題:lujun9972譯者:geekpi校對:wxy
本文由LCTT原創編譯,Linux中國榮譽推出