主DNS:www.rj.com 192.168.1.22/24
從DNS:ftp.rj.com 192.168.1.33/24
主DNS配置
- 安裝DNS軟體包:
#yum install bind bind-utils -y
2. 配置相關配置檔案
- /etc/named.conf(為DNS主配置檔案,不包含DNS區域資料)
- /etc/named.rfc1912.zones(包含DNS正反向解析區域内容格式)
- /var/named/(目錄為DNS資料庫檔案存放目錄,正反向區域解析檔案都放在這裡)
- /etc/rc.d/init.d/named(為DNS服務的服務腳本
3.添加或修改主配置檔案:#vi /etc/named.conf
…
options {
listen-on port 53 { any; }; 監聽所有端口
listen-on-v6 port 53 { ::1; };
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-transfer { 192.168.1.33; }; 區域傳送,隻允許從伺服器學習的IP 位址,多個IP用分号隔開
notify yes; 開啟通知,主伺服器更新時通知從伺服器
recursion yes; 開啟遞歸查詢
…
};
…
添加區域如下:
- 正向區域
zone "dj.com" IN {
type master; 表明為主DNS
file "rj.com.zone"; 儲存A記錄的檔案名(網址和IP 位址映射記錄)
allow-update { none; };
};
- 反向區域
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone"; 指針記錄的檔案名
allow-update { none; };
};
include "/etc/named.rfc1912.zones";配置正反向區域可以參照這個路徑下的檔案
include "/etc/named.root.key";
- 建立正向解析檔案和反向解析檔案
#cd /var/named
拷貝模闆:
#cp -p named.localhost rj.com.zone
#cp -p named.loopback 192.168.1.zone
- 配置A記錄和PTR記錄
配置/var/named下的rj.com.zone和192.168.1.zone檔案
A記錄
#vi /var/named/rj.com.zone
$TTL 1D
@ IN SOA rj.com root (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS www.rj.com.
@ IN NS ftp.rj.com. (添加從伺服器的NS解析記錄)
www IN A 192.168.1.22
ftp IN A 192.168.1.33 (添加從伺服器的A記錄)
PTR記錄
#vi /var/named/rj.com.zone
$TTL 1D
@ IN SOA rj.com root (
0 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS www.rj.com.
@ IN NS ftp.rj.com. (添加從伺服器的NS解析記錄)
22 IN PTR www.rj.com.
33 IN PTR ftp.rj.com. (添加從伺服器的PTR記錄)
注意:
- 添加正反解析檔案時,要記得添加從DNS伺服器的NS記錄、A記錄和PTR記錄。
- 進出檔案要修改序列号,否則從DNS伺服器不會更新。
- 編輯正反向解析檔案時,要把原有的記錄全部删掉,否則會有回路。
- 進行文法檢查:
[[email protected] ~]# named-checkconf
- 重新開機服務: systemctl restart named.service
- 指定DNS伺服器的IP位址:
#vi /etc/resolv.conf
修改内容:
search rj.com
nameserver 192.168.1.22
nslookup
- 測試 host
dig
從DNS配置
- 編輯從伺服器的/etc/named.conf檔案:#vi /etc/named.conf
…
options {
listen-on port 53 { any; };
allow-query { any; };
recursion yes;
dnssec-enable no;
dnssec-validation no;
…
};
…
添加區域如下:
- 正向區域
zone "dj.com" IN {
type slave; ##表明本機是從伺服器
file "slaves/rj.com.zone"; ##将同步後的檔案放置在哪裡,這裡是相對路徑,實際路徑為/var/named/slaves/rj.com.zone
masters {192.168.1.22; }; ##指定主伺服器的ip位址
};
- 反向區域
zone "1.168.192.in-addr.arpa" IN {
type slave; ##表明本機是從伺服器
file "slaves/192.168.1.zone";
##将同步後的檔案放置在哪裡,這裡是相對路徑,實際路徑為/var/named/slaves/192.168.1.zone
masters { 192.168.1.22; }; ##指定主伺服器的ip位址
};
include "/etc/named.rfc1912.zones";配置正反向區域可以參照這個路徑下的檔案
include "/etc/named.root.key";
- 進行文法檢查:
[[email protected] ~]# named-checkconf
- 重新啟動服務:
[[email protected] ~]# systemctl restart named.service
- 指定DNS伺服器的IP位址:
#vi /etc/resolv.conf
修改内容:
search rj.com
nameserver 192.168.1.22 ##指定的DNS為主DNS的IP
- 測試:
- 檢視從伺服器已經取得解析資料庫檔案
[[email protected] ~]# ls /var/named/slaves/
rj.com.zone 192.168.1.zone
用從伺服器解析www.rj.com
子域DNS
父域DNS:ns1.rj.com 192.168.1.33
子域DNS:ns1.ops.rj.com 192.168.1.22
設定父域DNS伺服器
- 編寫檔案/etc/named.conf,添加區域:
#vi /etc/named.conf
…
添加區域如下:
- 正向區域
zone "dj.com" IN {
type master; 表明為主DNS
file "rj.com.zone"; 儲存A記錄的檔案名(網址和IP 位址映射記錄)
allow-update { none; };
};
- 反向區域
zone "1.168.192.in-addr.arpa" IN {
type master;
file "192.168.1.zone"; 指針記錄的檔案名
allow-update { none; };
- 子域區域:添加指向子域的轉發器
将查詢子域的請求轉發給子域DNS
zone "ops.rj.com" IN {
type forward;
forward only;
forwarders { 192.168.1.22; };
};
- 子域授權(序列号手動+1)
#vi /var/named/rj.com.zone
$TTL 1D
@ IN SOA rj.com root (
0 ; serial 序列号手動+1
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1.rj.com.
ns1 IN A 192.168.1.33
ops IN NS ns1.ops 添加子域的NS記錄
ns1.ops IN A 192.168.1.22 添加子域的A記錄
- 檢查配置檔案文法:#named-checkconf
- 配置完成後重載配置檔案:#rnfc reload
設定子域DNS伺服器
- 編寫主配置檔案,添加區域
#vi /etc/named.conf
…
recursion yes;
notify yes;
zone “ops.rj.com” IN {
type master;
file “ops.rj.com.zone”;
};
…
- 編寫區域檔案,添加A記錄
#vi /var/named/ops.rj.com.zone
$TTL 1D
@ IN SOA ops.rj.com root (
0 ; serial 序列号手動+1
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns1
ns1 IN A 192.168.1.22
www IN A 192.168.1.33
- 檢查配置檔案文法:#named-checkconf
- 配置完成後重載配置檔案:#rnfc reload
注意
若将查詢子域的請求轉發給子域DNS伺服器,首選DNS寫父域的;若将查詢父域的請求轉發給父域DNS伺服器,則需要在子域DNS伺服器中配置父域的轉發器,首選DNS寫子域的。