Linux DNS服務系列之主從復制、子域授權和轉發、view配置詳解

前言

上文我們講解了DNS服務的原理及正反向解析配置,相信大家對DNS服務已經有了初步了解。接下來,讓我們進一步了解DNS服務的其它功能,本文將詳解主從復制、子域授權和轉發以及view的相關配置。

主從服務器配置

主從服務器關系

如果公司內DNS服務器負載過重或者為了實現冗余這一類功能就需要用到一個備份DNS服務器,備份服務器和主DNS服務器就形成了主從關系,如果主服務器的區域文件更新就會通知從服務器同步最新的區域文件,平時從服務器不提供解析服務,如果主服務器有故障從服務器就立刻激活提供域名解析服務。

主從復制工作過程

1.jpg

主從復制配置

①開始配置從服務器之前,請確保主從服務器時間同步

②從服務器bind版本可高于主服務器

實戰主從復制配置

案例要求:

實驗接上文,為主DNS服務器172.16.10.10添加從服務器172.16.10.100,要求只允許從服務器傳輸區域文件,其它主機一律禁止傳送。

添加從服務器

在主服務器正反向配置文件中添加從服務器

[root@lab named]# vim scholar.com.zone 

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                        2015040801 #每次主服務器更新,必須更改版本號
                                        2H
                                        10M
                                        7D
                                        1D )
@       IN      NS      dns
@       IN      NS      dns2      #添加從服務器NS記錄
@       IN      MX 10   mail
dns     IN      A       172.16.10.10
dns2    IN      A       172.16.10.100   #添加從服務器地址
mail    IN      A       172.16.10.12
www     IN      A       172.16.10.10
pop     IN      CNAME   mail
ftp     IN      CNAME   www
[root@lab named]# vim 172.16.10.zone

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                                        2015040801
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns.scholar.com.
@       IN      NS      dns2.scholar.com. #添加從服務器NS記錄
10      IN      PTR     dns.scholar.com.
100     IN      PTR     dns2.scholar.com. #添加從服務器地址
12      IN      PTR     mail.scholar.com.
10      IN      PTR     www.scholar.com.

在主服務器添加區域傳送限制,只允許從服務器傳送

[root@lab named]# vim /etc/named.conf   #區域定義在哪就修改那個配置文件

zone "scholar.com" IN {
        type master;
        allow-transfer { 172.16.10.100; };  #定義傳輸白名單,可多個IP用分號分隔
        file "scholar.com.zone";
};
zone "10.16.172.in-addr.arpa" IN {
        type master;
        allow-transfer { 172.16.10.100; }; #定義反向區域傳輸白名單
        file "172.16.10.zone";
};

檢查語法,重啟服務

2.jpg

定義從區域

在從服務器上定義與主服務器相同的正反向區域

[root@scholar ~]# vim /etc/named.conf   #也可編輯/etc/named.rfc1912.zones


zone "scholar.com" IN {
        type slave;                       #定義服務器類型為從服務器
        masters { 172.16.10.10; };        #定義主服務器,可多個IP用分號分隔 
        file "slaves/scholar.com.zone";
};
zone "10.16.172.in-addr.arpa" IN {
        type slave;
        masters { 172.16.10.10; };
        file "slaves/172.16.10.zone";
};

測試語法,啟動服務并設置開機自啟

3.jpg

查看53端口是否開啟

4.jpg

查看日志,是否傳輸成功

5.jpg

注意:此處報錯,請設置防火墻規則

看一下文件傳輸過來了沒

6.jpg

從服務器解析測試

7.jpg

到這里主從復制就配置完了,讓我們再看一下子域授權和轉發功能。

子域授權和轉發

子域授權概念

為了方便公司部門管理運營,每個部門需要獨立的域名服務器,這就要在父域下分配子域,比如,運維部的子域ops.scholar.com,而子域需要父域授權,所謂子域授權就是在父域的區域解析庫中添加膠水記錄(glue record)

膠水記錄包括:

授權的子區域域名稱

子區域的名稱服務器

子區域的名稱服務器IP地址 

子域授權和轉發工作過程

8.jpg

子域授權和轉發配置

正向子域授權

只需要在父域的區域解析庫中添加“膠水記錄”

例如:
ops 	IN  	NS  	dns.ops
ops     IN      A       172.16.10.110

配置轉發器

轉發所有非本機負責的區域的請求至某指定的DNS服務器

options {
	...
forward only|first;
forwarders { IP; };
		}
only/first:
only:只使用forwarders DNS服務器做域名解析,如果查詢不到則返回查詢失敗。
first優先使用forwarders DNS服務器做域名解析,如果查詢不到再使用本地DNS
服務器做域名解析。
訪問控制:
allow-transfer {};  #區域傳輸白名單
allow-query {};     #查詢白名單
allow-update {};    #更新白名單,一般為none
遞歸白名單:
allow-recursion {};
recursion yes;

配置轉發區域

轉發本區域解析不到的請求至某指定的DNS服務器,而非根

zone "ZONE NAME" IN {
type forward;
foward only|first;
forwarders { IP; };
}

bind acl

內置的acl:any (任何主機)、none(拒絕任何)、localhost(本機)、localnet(本機所在網絡)

自定義acl:

acl ACL_NAME {
ip;
ip;
network;
};
例如:
acl localnetwork {
172.16.0.0/16;
192.168.0.0/24;
};
allow-recursion { localnetwork; }
#通常定義于options之上

實戰子域授權和轉發

案例要求:

父域服務器為172.16.10.10,域名scholar.com,運維部需要一個子域ops.scholar.com,子域服務器為172.16.10.110,要求完成子域授權,確保子域可以使用,將子域解析不到的請求向父域轉發,只向父域查詢,父域解析不了,返回失敗。

在父域正向區域文件添加膠水記錄

[root@lab named]# vim scholar.com.zone 

ops     IN      NS      dns.ops
dns.ops IN      A       172.16.10.110   #子域可在不同網段
 
#如有多個子域都需要一一添加

父域檢查語法,重新啟動服務

9.jpg

子域添加子域區域及轉發域

[root@scholar ~]# vim /etc/named.conf

zone "ops.scholar.com" IN {       #添加正向區域
        type master;
        file "ops.scholar.com.zone";
};
zone "scholar.com" IN {           #添加轉發域
        type forward;             #指定服務器類型為轉發
        forwarders { 172.16.10.10; }; #轉發列表,可多個IP
        forward only;                 #定義轉發類型
};
include "/etc/named.rfc1912.zones";
//include "/etc/named.root.key";   #轉發需注釋此行

創建子域區域文件

[root@scholar named]# vim ops.scholar.com.zone

$TTL 3600
@       IN      SOA     dns.ops.scholar.com.    admin.ops.scholar.com. (
                                                2015040801
                                                2H
                                                10M
                                                7D
                                                1D )
@       IN      NS      dns.ops.scholar.com.
@       IN      MX 10   mail.ops.scholar.com.
dns     IN      A       172.16.10.110
www     IN      A       172.16.10.110
mail    IN      A       172.16.10.123
ftp     IN      CNAME   www
pop     IN      CNAME   mail

修改權限及屬組

10.jpg

檢查語法,啟動服務并設置開機自啟

11.jpg

測試子域能否解析

12.jpg

子域測試轉發

13.jpg

子域授權和轉發配置完成,解析通過,看一下最后一項view視圖。

view視圖

視圖定義

根據客戶端來源的不同,將同一個名稱解析至不同的值。

視圖工作過程

14.jpg

view配置

語法格式

acl telecom {

	};

	acl unicom {

	};



	view telecom {
		match-clients { telecom; };
		zone "scholar.com" IN {
			type master;
			file "scholar.com.tel";
		};

	};

	view unicom {
		match-clients { unicom; };
		zone "scholar" IN {
			type master;
			file "scholar.com.uni";
		};
	};

使用view注意的事項:

①通常只為內網客戶端提供遞歸功能,提供根區域等;

②通常只為外網客戶端提供本機所負責的區域的解析;

實戰view配置

案例要求:

配置一個視圖,要求內網訪問(這里以172.16.0.0/16代表)返回一組解析結果,外網訪問(這里以192.168.1.0/24代表)返回另一組解析結果。

DNS服務器:172.16.10.10(centos6.6),兩個接口(172.16.10.10、192.168.1.100)

測試客戶端:172.16.10.110(centos6.6)、192.168.1.5(winxp)

修改配置文件,添加view

view internal {
        match-clients { 172.16.0.0/16; };
zone "." IN {
        type hint;
zone "localhost.localdomain" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "localhost" IN {
        type master;
        file "named.localhost";
        allow-update { none; };
};

zone "1.0.0.127.in-addr.arpa" IN {
        type master;
        file "named.loopback";
        allow-update { none; };
};

zone "0.in-addr.arpa" IN {
        type master;
        file "named.empty";
        allow-update { none; };
};
zone "scholar.com" IN {
        type master;
        allow-transfer { 172.16.10.100; };
        file "scholar.com.int";
};
zone "10.16.172.in-addr.arpa" IN {
        type master;
        allow-transfer { 172.16.10.100; };
        file "172.16.10.int";
};
};
view external {
        match-clients { any; };
        zone "scholar.com" IN {
        type master;
        file "scholar.com.ext";
};
};

創建internal正向區域文件

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                                        2015040803
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns
@       IN      MX 10   mail
dns     IN      A       172.16.10.10
mail    IN      A       172.16.10.12
www     IN      A       172.16.10.10
pop     IN      CNAME   mail
ftp     IN      CNAME   www

創建external正向區域文件

$TTL 3600
@       IN      SOA     dns.scholar.com.        admin.scholar.com. (
                                                        2015040803
                                                        2H
                                                        10M
                                                        7D
                                                        1D )
@       IN      NS      dns
@       IN      MX 10   mail
dns     IN      A       172.16.10.10
mail    IN      A       11.1.1.2
www     IN      A       11.2.2.10

創建完別忘了,修改權限和屬組,我這里是直接修改以前的文件,就不需要再修改了

測試語法,重啟服務

15.jpg

測試不同客戶端返回解析

16.jpg

17.jpg

解析返回結果不同,看看是不是我們定義的結果呢,好了view就講到這里了。

The end

好了,到此為止Linux DNS服務系列的相關功能就講解完了,林林總總寫了這么多,希望可以對你有所幫助,以上僅為個人學習總結,如有錯漏,大神勿噴~~~

原創文章,作者:書生,如若轉載,請注明出處:http://www.www58058.com/2998

(0)
書生書生
上一篇 2015-04-13 09:53
下一篇 2015-04-13 10:06

相關推薦

  • 第三周作業

    1、列出當前系統上所有已經登錄的用戶的用戶名,注意:同一個用戶登錄多次,則只顯示一次即可 who |cut -d ' ' -f1 |sort|uniq 2、取出最后登錄到當前系統的用戶的相關信息 last|head -1 3、取出當前系統上被用戶當作其默認shell的最…

    Linux干貨 2016-12-26
  • DNS服務器—-主從服務器搭建

    一、環境準備   1、準備三臺測試       主DNS服務器地址:192.168.10.203       從DNS服務器地址:192.168.10.103       測試主機地址:  192.168.10.120 …

    Linux干貨 2015-05-18
  • Linux基礎知識——文件查找

    Linux系統的核心思想之一就是一切皆文件,可想而知你要靠記憶去查找一個文件該是多么費勁;今天我們介紹幾個文件查找命令:whereis,locate,find whereis locate the binary, source, and manual page files for…

    Linux干貨 2016-10-11
  • Linux終端類型

    Linux終端類型 Linux的終端類型包括控制臺終端、虛擬終端、偽終端、串行終端、控制終端、圖形終端。   終端 要理解偽終端(Pseudo Terminal),先來看看什么是“終端”(Terminal)。 終端是一種字符型設備,它有多種類型,通常使用tty來簡稱各種類型的終端設備。 1、串行端口終端(/dev/ttySx) 串行端口終端(Ser…

    Linux干貨 2016-10-14
  • 第一周作業

    描述計算機的組成及其功能。 由馮~諾伊曼提出計算機體系結構,計算機主要由控制器、運算器、存儲器、輸入設備、輸出設備五大硬件組成。 控制器(Controller):是整個計算機的中樞神經,其功能是對程序規定的控制信息進行解釋,根據其要求進行控制,調度程序、數據、地址,協調計算機各部分工作及內存與外設的訪問等。 運算器(Datapath):運算器的功能是對數據進…

    Linux干貨 2017-02-07
  • 馬哥教育網絡班21期-第五周課程練習

    1、顯示/boot/grub/grub.conf中以至少一個空白字符開頭的行; grep ^[[:space:]] /boot/grub/grub.conf 2、顯示/etc/rc.d/rc.sysinit文件中以#開頭,后面跟至少一個空白字符,而后又有至少一個非空白字符的行; egrep "^#[[:space:]]{1,}[[:alnum:]]…

    Linux干貨 2016-08-08
欧美性久久久久