DNS 服務正反向解析配置全流程指南
一、前言
在網絡環境中,DNS(Domain Name System)服務起著至關重要的作用,它負責將域名解析為 IP 地址,以及將 IP 地址反向解析為域名。本文將詳細介紹如何配置 DNS 服務的正反向解析,同時配置一個簡單的 Web 服務,通過實際操作步驟讓你輕松掌握相關技能。
二、環境準備
- 兩臺服務器,一臺作為 Web 服務器(以下簡稱
web
),一臺作為 DNS 服務器(以下簡稱dns
)。
三、Web 端配置
1. 配置 Nginx 服務
首先,我們需要在 Web 服務器上配置 Nginx 服務,使其能夠響應 HTTP 請求。
[root@web ~]# vim /etc/nginx/nginx.confserver {listen 80;listen [::]:80;server_name www.zy.com;root /zy;
}
[root@web ~]# systemctl start nginx
上述代碼中,我們編輯了 Nginx 的配置文件,指定監聽 80 端口,域名www.zy.com
,并將網站根目錄設置為/zy
。然后啟動 Nginx 服務。
2. 配置 DNS 服務器地址
為了讓 Web 服務器能夠通過域名訪問資源,我們需要將其 DNS 服務器地址指向 DNS 服務器。
[root@web ~]# nmcli c modify ens32 ipv4.dns 192.168.2.131
[root@web ~]# nmcli c reload
[root@web ~]# nmcli c up ens32
這里我們使用nmcli
命令修改網絡連接ens32
的 IPv4 DNS 服務器地址為192.168.2.131
,然后重新加載網絡配置并激活連接。
四、DNS 端配置
1. 編輯 Bind 主配置文件
Bind 是 Linux 系統中常用的 DNS 服務軟件,我們需要對其主配置文件進行修改。
[root@server ~]# yum install bind -y
[root@server ~]# vim /etc/named.conf
# 需改2行listen-on port 53 { any; }; # any為允許所有主機allow-query { any; };
將listen-on
和allow-query
的值都設置為any
,表示允許所有主機訪問 DNS 服務。
2. 編輯區域配置文件
正向解析配置
正向解析是將域名解析為 IP 地址,我們需要在區域配置文件中添加相應的區域信息。
[root@server ~]# vim /etc/named.rfc1912.zones
zone "zy.com" IN { # 雙引號中輸入,表示管理那個區域type master;file "zy.com.zone"; # 雙引號中輸入,表示數據配置文件的名稱,注意:不寫路徑allow-update { none; };
};
這里我們定義了一個名為zy.com
的區域,數據配置文件為zy.com.zone
。
反向解析配置
反向解析是將 IP 地址解析為域名,同樣需要在區域配置文件中添加相應的區域信息。
zone "2.168.192.in-addr.arpa" IN {type master;file "192.168.2.arpa";allow-update { none; };
};
這里我們定義了一個反向解析區域2.168.192.in-addr.arpa
,數據配置文件為192.168.2.arpa
,同樣禁止更新操作。
3. 配置正向解析數據文件
我們需要復制一個模板文件作為正向解析的數據文件,并進行相應的修改。
[root@dns ~]# cd /var/named/
[root@dns named]# ls
data dynamic named.ca named.empty named.localhost named.loopback slaves
[root@dns named]# cp -a named.localhost zy.com.zone
[root@dns named]# vim zy.com.zone
$TTL 1D
zy.com. IN SOA ns.zy.com. andy.qq.com. (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimum
zy.com. IN NS ns.zy.com.
ns.zy.com. IN A 192.168.2.130
www.zy.com. IN A 192.168.2.130
在這個數據文件中,我們定義了域名zy.com
的 SOA 記錄、NS 記錄以及域名對應的 IP 地址。
4. 配置反向解析數據文件
同樣,我們復制一個模板文件作為反向解析的數據文件,并進行修改。
[root@dns named]# cp -a named.loopback 192.168.2.arpa
[root@dns named]# vim 192.168.2.arpa
$TTL 1D
@ IN SOA ns.zy.com. andy.qq.com (0 ; serial1D ; refresh1H ; retry1W ; expire3H ) ; minimumIN NS ns.zy.com.
ns.zy.com. IN A 192.168.2.131
130 IN PTR ns.zy.com.
130 IN PTR www.zy.com.
在這個數據文件中,我們定義了反向解析的 SOA 記錄、NS 記錄以及 IP 地址對應的域名。
5. 啟動 DNS 服務
完成上述配置后,我們啟動 Bind 服務。
[root@dns named]# systemctl start named
五、測試
在 Web 服務器上,我們可以使用curl
命令和nslookup
命令來測試 DNS 服務是否正常工作。
[root@web ~]# curl www.zy.com
[root@web ~]# nslookup www.zy.com
如果能夠正常解析域名,說明 DNS 服務配置成功。同時,我們可以在瀏覽器中輸入www.zy.com
,如果能夠訪問到 Web 服務器上的頁面,說明整個配置流程都已成功。
最終結果展示: