搭建DNS正向解析伺服器思路
服務端配置——
1.安裝提供DNS服務軟體bind,服務名為named
[[email protected] ~]# yum install bind -y
[[email protected] ~]# rpm -ql bind
2.編輯DNS主配置檔案,定義域及域總檔案目錄、區域檔案名
[[email protected] ~]# vim /etc/named.conf
3.建立并配置區域檔案
[[email protected] ~]# vim /var/named/named.zuoye.com
用戶端測試——
1.将用戶端的 DNS 改為自己所配置的
(1)圖形化界面,在網卡設定處改
(2)nmcli ipv4.dns 指令行
(3)/etc/resolve.conf 記錄目前主機網卡比對的DNS資訊,vim 臨時更改
2. 通過ping網址的方式、host測試
[[email protected] ~]# ping www.zuoye.com
[[email protected] ~]# host www.zouye.com 192.168.71.128
注意:
正向解析裡,所有域名都必須有A記錄解析,即必須解析出IP位址
區域資源記錄檔案中,标記域名必須寫根域( . )例如zuoye.com. 主配置檔案不用
DNS正向解析知識點
1.DNS主配置檔案内容
[[email protected] ~]# vim /etc/named.conf
//options是全局子產品
options {
//定義監聽端口,若目前主機作為DNS伺服器,讓别人能夠查詢到我,此處寫目前主機ip,也可以所有位址都監聽,寫any
listen-on port 53 { 127.0.0.1; };
listen-on-v6 port 53 { ::1; };
//定義資料檔案目錄
directory "/var/named"; //定義域總檔案目錄,所有區域檔案都放在該目錄下
dump-file "/var/named/data/cache_dump.db"; //緩存檔案路徑,格式為db資料庫
statistics-file "/var/named/data/named_stats.txt"; //統計檔案、檔案
memstatistics-file "/var/named/data/named_mem_stats.txt"; //配置設定統計目錄
allow-query { localhost; }; //隻允許本地主機進行查詢,不寫該條預設所有人可以查詢
recursion yes; //允許遞歸
};
//指定日志記錄分類和它們的目标位置
logging {
channel default_debug {
file "data/named.run";
severity dynamic;
};
};
//定義區域類型及區域檔案名,file定義的路徑是相對路徑,絕對路徑為/var/named/named.ca
zone "." IN {
type hint;
file "named.ca";
};
2.正向解析檔案資源記錄(Resource Record,RR),常見的正解檔案RR相關資訊有:

3.資源記錄類型:
A——前面是域名對應後面IPv4的IP位址
AAAA——前面是域名對應後面IPv6的IP位址
NS——管理該域的DNS伺服器的域名是什麼 ,即NS後跟域名。例如: 寫baidu.com域,要指出管理baidu.com這個域的DNS伺服器的域名
MX——順序數字,接受郵件的伺服器主機名字。例如A給B發QQ郵件,發送人A的QQ号@qq.com,先發給QQ的郵箱伺服器,找qq.com域的DNS伺服器,裡面有MX記錄,記錄郵箱伺服器名字,名字前有數字,決定把郵件發給哪個郵箱伺服器,數字越小越優先
CNAME——别名,形式為:别名 IN CNAME 真實域名
SOA起始授權記錄——域的起始授權記錄,對我們可以解析的域授權,包含7個參數
4.區域檔案配置,可通過:r /var/named/named.localhost 讀取配置格式
[[email protected] ~]# vim /var/named/named.zuoye.com
$TTL 1D //将ttl設定為全局變量($引用),設定ttl為1天
@ IN SOA @ admin.zuoye.com. ( 2021080201 1D 1H 1W 3H )
// @為通配符,連接配接主配置檔案中定義的域,代表zone,現在@代表zuoye.com.
// SOA代表資源記錄的類型為起始授權記錄,第一個參數為主DNS伺服器主機名,可以寫@,也可以寫master.zuoye.com. ,即交給哪個主機去解析
// admin.zuoye.com. 是管理者的Email,表示有問題找該管理者(本來是[email protected],但@有特殊含義表示域,是以改為 . )
// 序列号一般用年月日标記,01代表版本号,更新一次加一;1D代表更新頻率為1天;1H代表失敗重新嘗試時間為1小時;1W代表失效時間為1周;3H代表緩存時間為3小時
IN NS master.zuoye.com.
// 前面有空格表示向上繼承,延續上一條的domain
// NS記錄管理zuoye.com域的域名伺服器名字,此處定義為master.zuoye.com. ,即通過NS标記在這個域中,master.zuoye.com. 就是DNS伺服器
master IN A 192.168.71.128
// 解析 master.zuoye.com. ,指定這台主機是192.168.71.128
www IN A 192.168.71.128
ftp IN A 192.168.71.128
wwww IN CNAME www
//解析www.zuoye.com. 對應的IP位址,用A類型映射,此處寫www,系統會自動補全,ftp,wwww同理
// 讓192.168.71.128作為本地DNS伺服器,能查詢出www、ftp、wwww這三個主機名對應的IP資訊
// CNAME定義别名,形式為:别名 IN CNAME 真實域名
IN MX 10 mail.zuoye.com.
// MX記錄接收郵件的伺服器主機名,如果有要發送給zuoye.com域的郵件會優先發給數字小的郵件伺服器