服务器设置和教程 · 4 10 月, 2024

CentOS 7.4 搭建分離解析的 DNS 伺服器

CentOS 7.4 搭建分離解析的 DNS 伺服器

在當今的網絡環境中,DNS(域名系統)扮演著至關重要的角色。它將人類可讀的域名轉換為機器可讀的 IP 地址。搭建一個分離解析的 DNS 伺服器可以提高網站的安全性和性能。本文將介紹如何在 CentOS 7.4 上搭建一個分離解析的 DNS 伺服器。

什麼是分離解析的 DNS 伺服器?

分離解析的 DNS 伺服器是指將內部網絡的 DNS 查詢與外部網絡的 DNS 查詢分開處理。這樣的設置可以提高內部網絡的安全性,因為內部的 DNS 查詢不會暴露給外部網絡,並且可以減少外部攻擊的風險。

環境準備

在開始之前,確保你的 CentOS 7.4 系統已經更新到最新版本。可以使用以下命令進行更新:

sudo yum update -y

接下來,安裝必要的軟件包,包括 BIND(Berkeley Internet Name Domain):

sudo yum install bind bind-utils -y

配置 BIND

安裝完成後,接下來需要配置 BIND。首先,編輯主配置文件 /etc/named.conf:

sudo vi /etc/named.conf

在文件中,添加以下配置:

options {
    listen-on port 53 { any; };
    listen-on-v6 { any; };
    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 { any; };
    allow-recursion { none; };
    allow-transfer { none; };
    forwarders {
        8.8.8.8; // Google DNS
        8.8.4.4; // Google DNS
    };
    forward only;
};

這段配置中,我們設置了 DNS 伺服器的基本選項,包括監聽的端口、查詢的允許範圍以及轉發的 DNS 伺服器。

設置區域文件

接下來,我們需要設置區域文件。首先,在 /etc/named.conf 中添加以下區域配置:

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

然後,創建區域文件:

sudo vi /var/named/example.com.db

在文件中添加以下內容:

$TTL 86400
@   IN  SOA     ns.example.com. admin.example.com. (
            2023101001 ; Serial
            3600       ; Refresh
            1800       ; Retry
            604800     ; Expire
            86400 )    ; Negative Cache TTL

@   IN  NS      ns.example.com.
ns  IN  A       192.168.1.1 ; DNS 伺服器的 IP 地址
@   IN  A       192.168.1.2 ; 網站的 IP 地址

啟動和測試 DNS 伺服器

完成配置後,啟動 BIND 服務並設置為開機自啟:

sudo systemctl start named
sudo systemctl enable named

接下來,檢查 BIND 的狀態以確保其正常運行:

sudo systemctl status named

最後,使用以下命令測試 DNS 伺服器是否正常工作:

dig @192.168.1.1 example.com

總結

搭建分離解析的 DNS 伺服器不僅能提高內部網絡的安全性,還能提升查詢效率。通過以上步驟,你可以在 CentOS 7.4 上成功搭建一個功能完善的 DNS 伺服器。如果你需要更高效的 VPS 解決方案,Server.HK 提供多種選擇,適合不同需求的用戶。