天天看點

8.主從DNS+子域DNS

主DNS:www.rj.com  192.168.1.22/24

從DNS:ftp.rj.com  192.168.1.33/24

主DNS配置

  1. 安裝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";

  1. 建立正向解析檔案和反向解析檔案

#cd  /var/named

拷貝模闆:

#cp  -p  named.localhost  rj.com.zone

#cp  -p  named.loopback  192.168.1.zone

  1. 配置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伺服器不會更新。
  • 編輯正反向解析檔案時,要把原有的記錄全部删掉,否則會有回路。
  1. 進行文法檢查:

[[email protected] ~]# named-checkconf

  1. 重新開機服務: systemctl  restart  named.service
  2. 指定DNS伺服器的IP位址:

#vi  /etc/resolv.conf

修改内容:

   search  rj.com

   nameserver  192.168.1.22

nslookup

  1. 測試  host

         dig

從DNS配置

  1. 編輯從伺服器的/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

  1. 測試:
  • 檢視從伺服器已經取得解析資料庫檔案

[[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寫子域的。