如何搭建簡易DNS服務器,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
簡易DNS服務器
domain name server,dns協議,其實現軟件主要是bind.bind軟件由配置文件和區域數據文件組成。
區域數據庫文件,主要是用來記錄資源記錄的。一行一行的數據。
資源記錄類型(RR_TYPE)包括:
A A記錄,記錄FQDN-->IPv4
AAA A記錄,記錄FQDN-->IPv6
PTR PRT記錄,反向解析,記錄IP-->FQDN
NS NS記錄,name server,記錄DNS服務器本身的信息,后面跟A記錄
SOA SOA記錄,start of authity,第一條授權記錄,有且只有一條,必須是第一條。
CNAME CNAME別名
MX 郵件記錄
資源記錄格式:
NAME [TTL] IN RR_TYPE VALUE
bjs.io 888640 IN A 192.168.122.3
bjs.io 888640 IN SOA bjs admin.bjs
SOA格式: NAME VALUE
name:dns服務器FQDN 管理員郵箱 版本序列號 刷新時間 重試時間 過期時間 否定回答時間
@ IN SOA ns1.bjs.io. dnsadmin.bjs.io. 201811201 1H 10M 5D 1D
注意:管理員郵箱中的@用.代替因為@在dns有特殊用途,版本序列號只能是10,超過10位會出錯
NS:
name:當前區域名稱
value 當前區域DNS服務器名稱
比如:
bjs.com. 86400 IN NS ns1
bjs.com. 86400 IN NS ns2
MX:
name 當前區域名稱
value 郵件交換器名稱
baidu.com. IN MX 10 mx1.baidu.com.
baidu.com. IN MX 10 mx2.baidu.com.
A記錄:
www.baidu.com. IN A 1.1.1.1
www.baidu.com. IN A 1.1.1.2
bbs.baidu.com. IN A 1.1.1.1
PTR
name:IP地址,有特定格式,IP反過來寫,而且特定后綴
value FQDA
4.3.2.1.in-addr.arpa. IN PTR www.baidu.com.
CNAME
web.baidu.com. IN CNAME www.baidu.com.
注意 TTL可以全局定義
?。辣硎井斍皡^域名稱
相鄰兩記錄name相同時,可不寫
MX,NS等類型的value為FQDN時,其后應該有A記錄
dns是協議,bind是協議的實現程序
yum -y install bind
主配置文件
/etc/named.conf 可包含其他配置文件
全局配置段:
options{
listen-on port 53 { 192.168.136.4; };
allow-query { any; };
}
日志配置段
logging{...}
區域配置段
zone {...}
每句都;結尾,{左右必須有空格}
緩存服務器必須監聽在能與外部通信的IP地址
檢查配置文件語法錯誤
named-checkconf
解析庫文件:
/var/named/目錄下
一般名稱為ZONE_NAME.zone
注意 1.一臺DNS服務可以同時為多個區域提供服務
2.必須要有根區域解析庫文件named.ca
3.還應該有兩個本地區域文件localhost和127.0.0.1
正向:named.localhost
反向:named.loopback
配置解析一個正向區域:
1.定義區域
在主配置文件實現
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "ZONE_NAME.zone";
};
以bjs.io為列
zone "bjs.io" IN {
type master ;
file "bjs.io.zone";
};
2.建立區域文件
/var/named目錄 下以bjs.io為列,其屬組為named,權限為其他用戶不可讀
vi /var/named/bjs.io.zone
$TTL 1D
@ IN SOA ns1.bjs.io root.localdomain 2019011601 1H 10M 3D 1D
IN NS ns1
ns1 IN A 192.168.122.11
www IN A 192.168.122.3
www IN A 192.168.122.4
3.權限設定
chown .named bjs.io.zone
chmod o= bjs.io.zone
4.檢查配置文件及區域文件
named-checkconf
named-checkzone bjs.io /var/named/bjs.io.zone
5.讓服務重載配置文件
systemctl restart named
6.查看監聽情況
ss -lnt
7.在其他服務器上將dns地址設為本服務器,然后測試
dig -t A www.bjs.io
dig -t NS bjs.io
配置解析一個反向區域:
1.定義區域
zone "122.168.192" IN {
type master;
file "122.168.192.in-addr.arpa";
};
2.建立區域文件
vi 122.168.192.in-addr.arpa
$TTL 1D
@ IN SOA ns1.bjs.io root.localdomain 2019011601 1H 10M 3D 1D
IN NS ns1.bjs.io.
11 IN PTR ns1.bjs.io.
3 IN PTR www.bjs.io.
4 IN PTR www.bjs.io.
3.權限設定
chown .named 122.168.192.in-addr.arpa
chmod o= 122.168.192.in-addr.arpa
4.檢查配置文件及區域文件
named-checkconf
named-checkzone 122.168.192.in-addr.arpa /var/named/122.168.192.in-addr.arpa
5.讓服務重載配置文件
systemctl reload named
6.查看監聽情況
ss -lnt
7.在其他服務器上將dns地址設為本服務器,然后測試
dig -x 192.168.122.3
關于如何搭建簡易DNS服務器問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。