1. 程式人生 > 實用技巧 >DNS各種基本配置(正向解析區域、反向解析區域;主/從;子域;基本安全控制)...

DNS各種基本配置(正向解析區域、反向解析區域;主/從;子域;基本安全控制)...

DNS伺服器所提供的服務是完成將主機名和轉換為IP地址的工作。為什麼需要將主機名轉換為IP地址的工作呢?這是因為,當網路上的一臺客戶機訪問某一伺服器上的資源時,使用者在瀏覽器位址列中輸入的是人類便於識記的主機名和域名。而網路上的計算機之間實現連線卻是通過每臺計算機在網路中擁有的惟一的IP地址來完成的,這樣就需要在使用者容易記憶的地址和計算機能夠識別的地址之間有一個解析,DNS伺服器便充當了地址解析的重要角色。

域名嚴格意義上的稱呼為FQDN(Full Qualified Domain Name)。域名按分類形式大概分為組織域,國家域名,頂級域,二級域等,如下:

組織域:.com, .net, .org, .gov, .edu, .mil

國家域:.iq, .tw, .hk, .jp, .cn

舉個例子:163.com就是一個頂級域名,而www.163.com卻不是頂級域名,他是在163.com 這個域裡的一叫做www的主機。

一級域之後還有二級域,三級域,只要我買了一個頂級域,並且我搭建了自己BIND伺服器(或者其他軟體搭建的)註冊到網際網路中,那麼我就可以隨意在前面多加幾個域了(當然長度是有限制的。


####IP與域名轉換的機制:

IP---->域名;依靠呼叫`getipbyhostname`庫來實現;

IP---->域名;依靠呼叫`gethostnamebyip`庫來實現;


#####DNS解析的大概流程#####



wKiom1aQzAGQmHaHAAKELDwbJvY466.png

以使用者訪問“http://

www.niefei.com為例;

1)首先使用者客戶端先去查詢自己本機的host檔案,如果host檔案記載了該域名的IP地址,直接讀取host地址;

2)如果host記錄裡不存在,那麼去查詢指定DNS伺服器快取,如果快取存在,結果返回,如果不存在,去查詢本地的DNS伺服器;

3)先去查詢本地DN伺服器,看是否是自己伺服器指定權威伺服器,如果有結果,那麼就返回;如果權威伺服器沒有結果,那麼就去查詢本地DNS伺服器的快取,獲取非權威結果,有結果就返回;

4)如果沒有結果,就要先去查詢跟伺服器,即.,跟伺服器查找了沒有結果,但是會告訴本地DNS伺服器,雖然我不知道,但是我知道com.頂級域可能會知道;

5)本地DNS伺服器就com.頂級域去查詢,com.查詢後發現,告訴本地DNS伺服器發現,本地並無記錄,但是niefei.com.應該會知道;

6)本地DNS伺服器去到com.域之後,發現有niefei.com,於是獲得結果,這時候就要現在本地DNS伺服器快取存取一份,方便再次查詢的時候獲取;

7)同時在本非快取也存取一份,方便本地再次查詢的時候獲取。


這個過程中,客戶端去跟本地查詢的過程稱之為遞迴查詢;本地伺服器獲取最終域名IP的過程為迭代查詢。


其中 FQDN->IP 反向解析

IP-->FQDN 正向解析


常見的DNS伺服器型別:

快取DNS伺服器:做DNS本地資料快取
轉發伺服器:對DNS查詢請求做轉發
主DNS:維護所負責解析的域資料庫的那臺伺服器;讀寫操作均可進行;
輔助DNS:從主DNS伺服器那裡或其它的從DNS伺服器那裡“複製”一份解析庫;但只能進行讀操作;
輔助dns伺服器會定期按照設定時間去探測主dns上的資料,依據以下5種屬性資訊設定
seralnumber:版本號,定義版本號,主伺服器資料庫內容發生變化時,其版本號遞增;
refresh:重新整理時間,從伺服器每多久到主伺服器檢查序列號更新狀況;
retry:重試時間,從伺服器從主伺服器請求同步解析庫失敗時,再次發起嘗試請求的時間間隔
expire:從伺服器始終聯絡不到主伺服器時,多久之後放棄從主伺服器同步資料;停止提供服務
nagativeanswerttl否定答案的快取時長

一般情況下,主伺服器”通知“從伺服器隨時更新資料;


DOMAIN 域:邏輯概念;理論上一個域裡面有多個區域,而區域裡面有定義了下一級的域。

ZONE 區域:物理概念;區域是真正存在的資料檔案,定義了資料檔案。


###那麼我們看一下區域的資料庫檔案:

主要是資源記錄,Resource Record, 簡稱rr;其中記錄的型別有:A, AAAA, PTR, SOA, NS, CNAME, MX;

wKioL1aQ8I3xqkWNAABlPzXdLkI197.png

SOA:Start Of Authority,起始授權記錄; 一個區域解析庫有且只能有一個SOA記錄,而且必須放在第一條;SOA記錄表明了DNS伺服器之間的關係。SOA記錄表明了誰是這個區域的所有者。一個DNS伺服器安裝後,需要建立一個區域,以後這個區域的查詢解析,都是通過DNS伺服器來完成的。現在來說一下所有者,我這裡所說的所有者,就是誰對這個區域有修改權利。常見的DNS伺服器只能建立一個標準區域,然後可以建立很多個輔助區域。標準區域是可以讀寫修改的。而輔助區域只能通過標準區域複製來完成,不能在輔助區域中進行修改。而建立標準區域的DNS就會有SOA記錄,或者準確說SOA記錄中的主機地址一定是這個標準區域的伺服器IP地址。


NS:Name Service,域名服務記錄;一個區域解析庫可以有多個NS記錄;其中一個為主的;即是在DNS伺服器之間,表明誰對某個區域有解釋權,即權威DNS。我們來說明NS記錄的作用。比如你先在DNSPOD申請了一個域名ABC.COM。一般情況是DNSPOD的域名伺服器替你來解析如www.niefei.com這樣的主機記錄。如果你想自己架設一個DNS伺服器,讓這臺伺服器從今往後替代DNSPOD的DNS伺服器解析,那麼你就需要在你的DNS上設定NS記錄,然後將DNSPOD域名管理系統中的NS記錄改成你的DNSIP。這樣以後就是你自己的DNS伺服器負責提供解析了。


A記錄: Address, 地址記錄,FQDN --> IPv4;

AAAA:地址記錄, FQDN --> IPv6;

CNAME:Canonical Name,別名記錄;

PTR:Pointer,IP --> FQDN

MX:Mail eXchanger,郵件交換器;

定義一個資源記錄的格式為:

name [TTL] INRR_TYPE value


###以SOA為例,解釋資源記錄的格式:

name: 當前區域的名字;例如”niefei.com.”,或者“2.3.4.in-addr.arpa.”;

value:有多部分組成

1)當前區域的區域名稱(也可以使用主DNS伺服器名稱);

2)當前區域管理員的郵箱地址;但地址中不能使用@符號,一般使用點號來替代;

3)(主從服務協調屬性的定義以及否定答案的TTL)

舉例:

niefei.com. 3600 IN SOA niefei.com. admin.niefei.com. (

2016010901 ; serial

2H ; refresh

15M ; retry

1W ; expire

1D ;negative answer ttl

)


#####NS舉例:

name: 當前區域的區域名稱

value:當前區域的某DNS伺服器的名字,例如ns.magedu.com.;

注意:一個區域可以有多個ns記錄;

舉例:niefei.com. 3600 IN NS ns1.niefei.com

niefei.com 3600 IN NS ns2.niefei.com



######MX舉例:

name: 當前區域的區域名稱

value:當前區域某郵件交換器的主機名;

注意:MX記錄可以有多個;但每個記錄的value之前應該有一個數字表示其優先順序;

如:

niefei.com.INMX10mx1.niefei.com
niefei.com.INMX20mx2.niefei.com


####A記錄:

name:某FQDN,例如www.magedu.com.

value:某IPv4地址;

例如:

www.niefei.com.IN A1.1.1.1

www.niefei.com.IN A 2.2.2.2

bbs.niefei.com IN A 3.3.3.3


####AAAA記錄:

name:FQDN

value: IPv6


##PTR

name:IP地址,有特定格式,IP反過來寫,而且加特定字尾;例如1.2.3.4的記錄應該寫為4.3.2.1.in-addr.arpa.;

value:FQND

舉例:

4.3.2.1.in-addr.arpa. INPTRwww.niefei.com.


###CNAME

name:FQDN格式的別名;

value:FQDN格式的正式名字;

例如:fly.niefei.com.INCNAMEbbs.niefei.com


總概:

1)TTL可以從全域性繼承;

2)@表示當前區域的名稱;

3)相鄰的兩條記錄其name相同時,後面的可省略;

4)對於正向區域來說,各MX,NS等型別的記錄的value為FQDN,此FQDN應該有一個A記錄;




#########

提供域名解析服務的伺服器就被稱為DNS伺服器,在centos系統上一般是通過Bind來實現,服務啟動之後預設的程序端都為53埠。如圖所示:

[[email protected]~]#netstat-tulpn
ActiveInternetconnections(onlyservers)
ProtoRecv-QSend-QLocalAddressForeignAddressStatePID/Programname
tcp00127.0.0.1:530.0.0.0:*LISTEN3191/named
tcp000.0.0.0:220.0.0.0:*LISTEN3008/sshd
tcp00127.0.0.1:9530.0.0.0:*LISTEN3191/named
tcp00127.0.0.1:250.0.0.0:*LISTEN2177/master
tcp00127.0.0.1:60100.0.0.0:*LISTEN3057/sshd:[email protected]
tcp600::1:53:::*LISTEN3191/named


####bind解析###


主配置檔案:/etc/named.conf,此檔案可使用include包含其他檔案,如下圖所示

options{
	listen-onport53{127.0.0.1;};
	listen-on-v6port53{::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{172.16.0.0/16;};
	.....
	
	include"/etc/named.rfc1912.zones";
include"/etc/named.root.key";

listen-on port:named監聽的埠號、IP地址,監聽能與外部主機通訊的地址;

directory:區域資料庫檔案的預設存放位置

dump-file:域名快取資料庫檔案位置

statisstics:狀態統計檔案位置

zone 定義那些由本機負責解析的區域,或轉發的區域。預設定義了根區域,根資料庫檔案在/var/named/named.ca,這個檔案定義了全世界根檔案伺服器

memstatistics-file:伺服器輸出的記憶體使用統計檔案位置

allow-query:允許DNS查詢的客戶端地址,如允許172.16.0.0網段,設定為“172.16.0.0/16”

recursion:設定是否允許遞迴查詢

forwarders:設定轉發伺服器的IP地址,用來列出要用來作為轉發器的伺服器的IP地址,使用轉發器可繞過從根伺服器開始按正常流程檢索的正常過程。

logging:定義bind服務的日誌

channel(通道):日誌輸出方式,如syslog、文字檔案、標準錯誤輸出或/dev/null,

default_debug:只有當伺服器的debug級別非0時,才產生輸出。這裡預設儲存在/var/named/data目錄下

file(檔案):輸出到文字檔案

severity(嚴重性):訊息的嚴重性等級

severity按照伺服器當前的debug級別記錄日誌

include:指定的輔助檔案選項:在/etc/named.conf檔案中最下面使用include包含了兩個檔案。其中,/etc/named.rfc1912.zones檔案為輔助區域檔案;/etc/named.root.key檔案用來簽名和驗證DNS資源記錄的公共金鑰檔案




注意:每個配置語句必須以分號結尾;

同時:關閉僅允許本地查詢://allow-query { localhost; };



####輔助區域檔案:named.rfc1912.zones

named.rfc1912.zones檔案儲存在/etc/目錄下,DNS服務的正、反向區域地址資料庫檔案在該檔案中配置。這兩個檔案由一系列語句構成,每條語句以分號結束,語句內各關鍵字或資料之間用空白(空格、Tab鍵或換行)分割,並用大括號進行分組。每個語句以一個關鍵字開始,常用的語句如下:

acl:定義訪問控制表;

key:定義驗證資訊;

server:指定每個伺服器所特有的選項;

options:設定DNS伺服器的全域性配置選項和預設值;

directory:指定存放區檔案的位置;

zone:定義區;

masters:定義一個主DNS伺服器列表。



####解析庫檔案

在/var/named/目錄下,一般名字為:ZONE_NAME.zone


綜上所述:

(1) 一臺DNS伺服器可同時為多個區域提供解析;

(2) 必須要有根區域解析庫檔案: named.ca;

(3) 還應該有兩個區域解析庫檔案:localhost和127.0.0.1的正反向解析庫;

正向:named.localhost

反向:named.loopback


###DNS服務的管理方式:

rndc:remote name domain contoller,埠為953/tcp,但預設監聽於127.0.0.1地址,因此僅允許本地使用;

bind程式安裝完成之後,預設即可做快取名稱伺服器使用;如果沒有專門負責解析的區域,直接即可啟動服務;

啟動方法:

CentOS 6: service named start

CentOS 7: systemctl start named.service

檢查配置檔案語法錯誤:named-checkconf [/etc/named.conf]


#####測試DNS工具

dig, host, nslookup等

dig命令:

dig [-t RR_TYPE] name [@SERVER] [query options]

用於測試dns系統,因此其不會查詢hosts檔案;

查詢選項:

+[no]trace:跟蹤解析過程;

+[no]recurse:進行遞迴解析;

反向測試:dig -x IP

模擬完全區域傳送:dig -t axfr DOMAIN [@server]


host命令:

host [-t RR_TYPE] name SERVER_IP


nslookup命令:

nslookup [-options] [name] [server]



#####配置一個DNS的正向區域

以niefei.com域為例;

1)定義區域

在主配置檔案中或主配置檔案的輔助檔案中實現;

比如我們編輯/etc/named.rfc1912.zones

zone"niefei.com"IN{
	typemaster;
	file"niefei.com.zone";
};

zone :定義區域名稱

type:定義格式,有hint,master,slave,forward四種格式;此處定定義為主;

file:設定正向區域配置的資料檔案,此處為相對路徑,即在/var/named下,可寫成絕對路徑;

注意:區域名字即為域名;


2)建立區域資料檔案(主要記錄為A或AAAA記錄)

在/var/named目錄下建立區域資料檔案;

檔案為:/var/named/niefei.com.zone

$TTL3600
$ORIGIN	niefei.com.
@	IN	SOA	ns1.niefei.com.		admin.niefei.com.	(//設定SOA標記、域名、域管理郵箱
		2017011001//更新序列號,用於標記地址資料庫的變化
		1H//重新整理時間,從域名伺服器更新該地址資料庫檔案的間隔時間
		10M//重試延時,從域名伺服器更新地址資料庫失敗以後,等待多長時間再次嘗試
		3D//失效時間,超過該時間仍無法更新地址資料庫,則不再嘗試
		1D)//設定無效地址解析記錄(該資料庫中不存在的地址)的預設快取時間
	IN	NS		ns1
	IN	MX	10	mx1
	IN	MX	20	mx2
ns1	IN	A	172.16.249.70
mx1	IN	A	172.16.249.70
mx2	IN	A	172.16.41.71
www	IN	A	172.16.249.70
web	IN	CNAME	www
bbs	IN	A	172.16.249.70
bbs	IN	A	172.16.41.71

$TTL:設定有效地址解析記錄的預設快取時間;

$ORIGIN:表示該zone檔案用來描述的域(domain)名稱,說明下面的記錄源出何處;

MX郵件交換(Mail Exchange)記錄,用於設定當前域的郵件伺服器域名地址;

A地址(Address)記錄,用於記錄正向域名解析;

CNAME別名(Canoical Name)記錄;

其中,NS、MX記錄行首的@符號可以省略(預設繼承SOA記錄行首的@資訊),但是必須保留一個空格或者製表位;

注意如果ns用全名稱,com後面要有. 如果不是全名稱,後面一定不能有.


配置完成之後,要進行許可權即屬組修改:

# chgrp named /var/named/niefei.com.zone

# chmod o= /var/named/niefei.com.zone


###檢查語法錯誤:

# named-checkzone niefei.com.zone/var/named/niefei.com.zone

# named-checkconf


###(3) 讓伺服器過載配置檔案和區域資料檔案

# rndc reload 或

# systemctl reload named.service


##測試驗證使用dig命令

[[email protected]named]#[email protected]

;<<>>DiG9.9.4-RedHat-9.9.4-18.el7<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:31905
;;flags:qraardra;QUERY:1,ANSWER:1,AUTHORITY:1,ADDITIONAL:2

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;www.niefei.com.			IN	A

;;ANSWERSECTION:
www.niefei.com.		3600	IN	A	172.16.249.70

;;AUTHORITYSECTION:
niefei.com.		3600	IN	NS	ns1.niefei.com.

;;ADDITIONALSECTION:
ns1.niefei.com.		3600	IN	A	172.16.249.70

;;Querytime:0msec
;;SERVER:172.16.249.70#53(172.16.249.70)
;;WHEN:一1月1110:52:37CST2016
;;MSGSIZErcvd:93


###檢視NS

[[email protected]named]#[email protected]

;<<>>DiG9.9.4-RedHat-9.9.4-18.el7<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:47721
;;flags:qraardra;QUERY:1,ANSWER:1,AUTHORITY:0,ADDITIONAL:2

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;niefei.com.			IN	NS

;;ANSWERSECTION:
niefei.com.		3600	IN	NS	ns1.niefei.com.

;;ADDITIONALSECTION:
ns1.niefei.com.		3600	IN	A	172.16.249.70

;;Querytime:0msec
;;SERVER:172.16.249.70#53(172.16.249.70)
;;WHEN:一1月1110:54:57CST2016
;;MSGSIZErcvd:73


####配置一個解析反向區域(主要記錄為PTR)

(1) 定義區域

在主配置檔案中或主配置檔案輔助配置檔案中實現;

示例,區域名稱為41.16.172.in-addr.arpa;

zone"41.16.172.in-addr.arpa"IN{
	typemaster;
	file"172.16.41.zone";
};


##############

區域資料檔案172.16.41.zone

$TTL3600
$ORIGIN	41.16.172.in-addr.arpa.
@	IN	SOA	ns1.niefei.com.	admin.niefie.com.	(
		2017011003
		1H
		10M
		3D
		12H	)
		IN	NS	ns1.niefei.com.
3		IN	PTR	ns1.niefei.com.
3		IN	PTR	bbs.niefei.com.
71		IN	PTR	bbs.niefei.com.
3		IN	PTR	www.niefei.com.	


###許可權及屬組修改:

# chgrp named /var/named/172.16.41.zone

# chmod o= /var/named/172.16.41.zone



#

檢查語法錯誤:

# named-checkzone 41.16.172.in-addr.arpa/var/named/172.16.41.zone

# named-checkconf



3) 讓伺服器過載配置檔案和區域資料檔案

# rndc reload 或

# systemctl reload named.service









##################################

輔助DNS伺服器配置:

注意:從伺服器是區域級別的概念;

配置一個從區域:

在從伺服器上:

(1) 定義區域

定義一個從區域;

zone "ZONE_NAME" IN {

type slave;

file "slaves/ZONE_NAME.zone"; //檔案不需要建立,會自動從master同步過來,此檔案有寫許可權

masters { MASTER_IP; }; //指定主IP

};

配置檔案語法檢查:named-checkconf


######

zone"niefei.com"IN{
	typeslave;
	file"slaves/niefei.com.zone";
	masters{172.16.41.3;};
};


(2) 過載配置

#rndc reload;

#systemctl reload named.service


########

在主伺服器上

(1) 確保區域資料檔案中為每個從服務配置NS記錄,並且在正向區域檔案需要每個從伺服器的NS記錄的主機名配置一個A記錄,且此A後面的地址為真正的從伺服器的IP地址;

$TTL3600
$ORIGIN	niefei.com.
@	IN	SOA	ns1.niefei.com.		admin.niefei.com.	(
		2017011003
		1H
		10M
		3D
		1D)
	IN	NS		ns1
	IN	NS		ns2//注意新增此記錄
	IN	MX	10	mx1
	IN	MX	20	mx2
ns1	IN	A	172.16.41.3
ns2	IN	A	172.16.41.8//此記錄後面注意新增A記錄
mx1	IN	A	172.16.41.3
mx2	IN	A	172.16.41.3
www	IN	A	172.16.41.3
web	IN	CNAME	www
bbs	IN	A	172.16.41.3
bbs	IN	A	172.16.41.71



#####驗證####

從伺服器上檢視狀態:

[[email protected]named]#systemctlstatusnamed.service
named.service-BerkeleyInternetNameDomain(DNS)
Loaded:loaded(/usr/lib/systemd/system/named.service;disabled)
Active:active(running)since一2016-01-1117:39:15CST;9minago
Process:5673ExecStart=/usr/sbin/named-unamed$OPTIONS(code=exited,status=0/SUCCESS)
Process:5671ExecStartPre=/usr/sbin/named-checkconf-z/etc/named.conf(code=exited,status=0/SUCCESS)
MainPID:5675(named)
CGroup:/system.slice/named.service
└─5675/usr/sbin/named-unamed

1月1117:48:36wangxinnamed[5675]:automaticemptyzone:8.B.D.0.1.0.0.2.IP6.ARPA
1月1117:48:36wangxinnamed[5675]:reloadingconfigurationsucceeded
1月1117:48:36wangxinnamed[5675]:reloadingzonessucceeded
1月1117:48:36wangxinnamed[5675]:allzonesloaded
1月1117:48:36wangxinnamed[5675]:running
1月1117:48:36wangxinnamed[5675]:zoneniefei.com/IN:Transferstarted.
1月1117:48:36wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:connectedusing172.16.41.8#43346
1月1117:48:36wangxinnamed[5675]:zoneniefei.com/IN:transferredserial2017011003
1月1117:48:36wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:Transfercompleted:1messages,14records,320bytes,0.002secs(160000bytes/sec)
1月1117:48:36wangxinnamed[5675]:zoneniefei.com/IN:sendingnotifies(serial2017011003)

####去到/var/named/slaves,可以看到同步過來的資料庫配置檔案

[[email protected]slaves]#pwd
/var/named/slaves
[[email protected]slaves]#ll
總用量4
-rw-r--r--.1namednamed5641月1117:48niefei.com.zone


####使用dig驗證輔助DNS伺服器是否能解析www.niefei.com域名

[[email protected]slaves]#[email protected]

;<<>>DiG9.9.4-RedHat-9.9.4-18.el7<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:19933
;;flags:qraardra;QUERY:1,ANSWER:1,AUTHORITY:2,ADDITIONAL:3

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;www.niefei.com.			IN	A

;;ANSWERSECTION:
www.niefei.com.		3600	IN	A	172.16.41.3

;;AUTHORITYSECTION:
niefei.com.		3600	IN	NS	ns1.niefei.com.
niefei.com.		3600	IN	NS	ns2.niefei.com.

;;ADDITIONALSECTION:
ns1.niefei.com.		3600	IN	A	172.16.41.3
ns2.niefei.com.		3600	IN	A	172.16.41.8

;;Querytime:0msec
;;SERVER:172.16.41.8#53(172.16.41.8)
;;WHEN:一1月1117:55:08CST2016
;;MSGSIZErcvd:127

由此可見,解析成功。


####主DNS新增域名解析

$TTL3600
$ORIGINniefei.com.
@INSOAns1.niefei.com.admin.niefei.com.(
2017011004//序列號注意增加
1H
10M
3D
1D)
INNSns1
INNSns2
INMX10mx1
INMX20mx2
ns1INA172.16.41.3
ns2INA172.16.41.8
mx1INA172.16.41.3
mx2INA172.16.41.3
wwwINA172.16.41.3
webINCNAMEwww
bbsINA172.16.41.3
bbsINA172.16.41.71
pop3INA172.16.41.72//新增解析


####主DNS新增域名解析後,reload的結果

[[email protected]named]#rndcreload
serverreloadsuccessful
[[email protected]named]#systemctlstatusnamed.service
named.service-BerkeleyInternetNameDomain(DNS)
Loaded:loaded(/usr/lib/systemd/system/named.service;disabled)
Active:active(running)since一2016-01-1117:01:12CST;58minago
Process:10629ExecStop=/bin/sh-c/usr/sbin/rndcstop>/dev/null2>&1||/bin/kill-TERM$MAINPID(code=exited,status=0/SUCCESS)
Process:10775ExecReload=/bin/sh-c/usr/sbin/rndcreload>/dev/null2>&1||/bin/kill-HUP$MAINPID(code=exited,status=0/SUCCESS)
Process:10640ExecStart=/usr/sbin/named-unamed$OPTIONS(code=exited,status=0/SUCCESS)
Process:10639ExecStartPre=/usr/sbin/named-checkconf-z/etc/named.conf(code=exited,status=0/SUCCESS)
MainPID:10643(named)
CGroup:/system.slice/named.service
└─10643/usr/sbin/named-unamed

1月1117:59:33wangxinnamed[10643]:automaticemptyzone:B.E.F.IP6.ARPA
1月1117:59:33wangxinnamed[10643]:automaticemptyzone:8.B.D.0.1.0.0.2.IP6.ARPA
1月1117:59:33wangxinnamed[10643]:reloadingconfigurationsucceeded
1月1117:59:33wangxinnamed[10643]:reloadingzonessucceeded
1月1117:59:33wangxinnamed[10643]:zoneniefei.com/IN:loadedserial2017011004
1月1117:59:33wangxinnamed[10643]:zoneniefei.com/IN:sendingnotifies(serial2017011004)//主傳送通知
1月1117:59:33wangxinnamed[10643]:allzonesloaded
1月1117:59:33wangxinnamed[10643]:running
1月1117:59:33wangxinnamed[10643]:client172.16.41.8#50455(niefei.com):transferof'niefei.com/IN':AXFR-styleIXFRstarted
1月1117:59:33wangxinnamed[10643]:client172.16.41.8#50455(niefei.com):transferof'niefei.com/IN':AXFR-styleIXFRended



從伺服器收到通知,如下:

[[email protected]slaves]#systemctlstatusnamed.service
named.service-BerkeleyInternetNameDomain(DNS)
Loaded:loaded(/usr/lib/systemd/system/named.service;disabled)
Active:active(running)since一2016-01-1117:39:15CST;22minago
Process:5673ExecStart=/usr/sbin/named-unamed$OPTIONS(code=exited,status=0/SUCCESS)
Process:5671ExecStartPre=/usr/sbin/named-checkconf-z/etc/named.conf(code=exited,status=0/SUCCESS)
MainPID:5675(named)
CGroup:/system.slice/named.service
└─5675/usr/sbin/named-unamed

1月1117:48:36wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:connectedusing172.16.41.8#43346
1月1117:48:36wangxinnamed[5675]:zoneniefei.com/IN:transferredserial2017011003
1月1117:48:36wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:Transfercompleted:1messages,14records,320bytes,0.002secs(160000bytes/sec)
1月1117:48:36wangxinnamed[5675]:zoneniefei.com/IN:sendingnotifies(serial2017011003)
1月1117:59:33wangxinnamed[5675]:client172.16.41.3#27879:receivednotifyforzone'niefei.com'//此處收到通知
1月1117:59:33wangxinnamed[5675]:zoneniefei.com/IN:Transferstarted.
1月1117:59:33wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:connectedusing172.16.41.8#50455
1月1117:59:33wangxinnamed[5675]:zoneniefei.com/IN:transferredserial2017011004
1月1117:59:33wangxinnamed[5675]:transferof'niefei.com/IN'from172.16.41.3#53:Transfercompleted:1messages,15records,341bytes,0.002secs(170500bytes/sec)
1月1117:59:33wangxinnamed[5675]:zoneniefei.com/IN:sendingnotifies(serial2017011004)

#####測試輔助DNS是否同步新增的pop3域名

[[email protected]slaves]#[email protected]

;<<>>DiG9.9.4-RedHat-9.9.4-18.el7<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:20855
;;flags:qraardra;QUERY:1,ANSWER:1,AUTHORITY:2,ADDITIONAL:3

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;pop3.niefei.com.		IN	A

;;ANSWERSECTION:
pop3.niefei.com.	3600	IN	A	172.16.41.72

;;AUTHORITYSECTION:
niefei.com.		3600	IN	NS	ns1.niefei.com.
niefei.com.		3600	IN	NS	ns2.niefei.com.

;;ADDITIONALSECTION:
ns1.niefei.com.		3600	IN	A	172.16.41.3
ns2.niefei.com.		3600	IN	A	172.16.41.8

;;Querytime:1msec
;;SERVER:172.16.41.8#53(172.16.41.8)
;;WHEN:一1月1118:03:16CST2016
;;MSGSIZErcvd:128





##########反向解析的輔助DNS

從伺服器配置一個從區域:

zone "41.16.172.in-addr.arpa" IN {

type slave;

file "slaves/172.16.41.zone";

masters { 172.16.41.3; };

};


主服務增加一個NS記錄

$TTL 3600

$ORIGIN 41.16.172.in-addr.arpa.

@ IN SOA ns1.niefei.com. admin.niefie.com. (

2017011005

1H

10M

3D

12H )

IN NS ns1.niefei.com.

IN NS ns2.niefei.com.

8 IN PTR ns2.niefei.com.

3 IN PTR ns1.niefei.com.

3 IN PTR bbs.niefei.com.

71 IN PTR bbs.niefei.com.

3 IN PTR www.niefei.com.


然後配置檔案重置,反向主DNS會通知反向從DNS獲取資料。


驗證輔助DNS配置結果

[[email protected]slaves]#[email protected]

;<<>>DiG9.9.4-RedHat-9.9.4-18.el7<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:29758
;;flags:qraardra;QUERY:1,ANSWER:3,AUTHORITY:2,ADDITIONAL:3

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;3.41.16.172.in-addr.arpa.	IN	PTR

;;ANSWERSECTION:
3.41.16.172.in-addr.arpa.3600	IN	PTR	www.niefei.com.
3.41.16.172.in-addr.arpa.3600	IN	PTR	bbs.niefei.com.
3.41.16.172.in-addr.arpa.3600	IN	PTR	ns1.niefei.com.

;;AUTHORITYSECTION:
41.16.172.in-addr.arpa.	3600	IN	NS	ns1.niefei.com.
41.16.172.in-addr.arpa.	3600	IN	NS	ns2.niefei.com.

;;ADDITIONALSECTION:
ns1.niefei.com.		3600	IN	A	172.16.41.3
ns2.niefei.com.		3600	IN	A	172.16.41.8

;;Querytime:0msec
;;SERVER:172.16.41.8#53(172.16.41.8)
;;WHEN:一1月1118:13:36CST2016
;;MSGSIZErcvd:181

可以解析,資料同步成功。


####

注意:時間要同步;




######子域授權####

正向解析區域授權子域的方法:

ops.niefei.com. IN NS ns1.ops.magedu.com.

ops.niefei.com. IN NS ns2.ops.magedu.com.

ns1.ops.niefei.com. IN A IP.AD.DR.ESS

ns2.ops.niefei.com. IN A IP.AD.DR.ESS


方法:

1)在主域資料庫檔案授權;

$TTL3600
$ORIGINniefei.com.
@INSOAns1.niefei.com.	admin.niefei.com.(
2016011007;serial
1H;refresh
30M;retry
1W;expire
1D);negativeanswerttl
INNSns1
INNSns2
INMX10mail
ns1INA172.16.41.3
ns2INA172.16.41.8
mailINA172.16.41.71
wwwINA172.16.41.3
webINCNAMEwww
opsINNSns1.ops#定義二級域為ops.niefei.com
ns1.opsINA172.16.41.10#並定義二級域的NS伺服器地址


2)子域新裝bind並配置

listen-onport53{172.16.41.10;};#定義監聽埠及IP地址
directory"/var/named";#工作目錄
allow-query{172.16.41.0/16;};#允許此網段進行查詢請求
allow-recursion{172.16.0.0/16;};#允許指定網段的主機進行遞迴查詢
dnssec-enableno;#關閉dnssec功能選項
dnssec-validationno;#關閉dnssec功能選項
dnssec-lookasideno;#關閉dnssec功能選項


3)子域建立配置區域檔案;

zone"ops.niefei.com"IN{#定義域名稱為ops.niefei.com.
typemaster;#伺服器型別為主NS
file"ops.niefei.com.zone";#資源配置檔案位置
};

4)建立子域資料檔案;

$TTL3600
$ORIGINcw.weizhenping.me.
@INSOAns1.ops.niefei.com.admin.ops.niefei.com.(
201701001
1D
30M
1D
1D)
INNSns1
ns1INA172.16.41.10

5)驗證是否成功

在主域的主NS伺服器中,使用dig-tAwww.ops.niefei.com,如果能解析到,說明配置OK。



#########定義轉發####

注意:被轉發的伺服器必須允許為當前服務做遞迴;

分為兩種:

(1) 區域轉發:僅轉發對某特定區域的解析請求;

zone "ZONE_NAME" IN {

type forward;

forward {first|only};

forwarders { SERVER_IP; };

};

first:首先轉發;轉發器不響應時,自行去迭代查詢;

only:只轉發;轉發不成功就只有等待


(2) 全域性轉發:針對凡本地沒有通過zone定義的區域查詢請求,通通轉給某轉發器;

定義主配置檔案:

options {

... ...

forward {only|first};

forwarders { SERVER_IP; };

.. ...

};




########ACL及檢視的使用:

acl:訪問控制列表;把一個或多個地址歸併一個命名的集合,隨後通過此名稱即可對此集全內的所有主機實現統一呼叫;

格式:

acl acl_name {

ip;

net/prelen;

};

示例:

aclmynet{
10.189.9.0/24;
127.0.0.1/8;
172.16.0.0/16;
};
options{
directory"/var/named";
allow-recursion{mynet;};
};


###############

bind有四個內建的acl:

none:沒有一個主機;

any:任意主機;

local:本機;

localnet:本機所在的IP所屬的網路;



############

訪問控制指令:

allow-query {}; 允許查詢的主機;白名單;

allow-transfer {}; 允許向哪些主機做區域傳送;預設為向所有主機應該配置僅允許從伺服器

allow-recursion {}; 允許哪此主機向當前DNS伺服器發起遞迴查詢請求;

allow-update {}; DDNS,允許程序動態更新區域資料庫檔案中內容;


定義某些許可權允許的主機時,需要去主配置檔案/etc/named.conf裡定義,同時加在options之前;

例如:

acl slaves{

172.16.41.8;

172.16.41.10;

};



########

bind view:檢視:

格式:

view VIEW_NAME {

zone

zone

zone

}



針對來源地址的不同的,解析方式的不同

舉例:

view internal {

match-clients { 172.16.0.0/8; }; //針對內網

zone "magedu.com" IN {

type master;

file "magedu.com/internal";

};

};


view external {

match-clients { any; };

zone "magecdu.com" IN {

type master;

file magedu.com/external";

};

};



######ACL及檢視的配合使用,可實現智慧DNS的實現:

[email protected]named]#cat/etc/named.conf
acltelecom{
10.189.9.0/24;
};
#此ACL定義了電信IP的列表
aclunicom{
10.189.8.0/24;
};
#此ACL定義了聯通IP的列表
options{
directory"/var/named";
allow-recursion{localnet;};#定義了允許遞迴請求的主機為NS所在網路的所有主機
allow-query{any;};
};

viewtelecom{
match-clients{telecom;};
zone"mageedua.com"IN{
typemaster;
file"telecom.mageedua.com.zone";
};
};

viewunicom{
match-clients{unicom;};
zone"mageedua.com"IN{
typemaster;
file"unicom.mageedua.com.zone";
};
};
#在named.conf配置檔案中,配置view功能,並在檢視區域定義match-clients引數,讓match-clients引用acl列表,acl可以為電信IP列表,或者聯通IP列表。最後在view檢視中定義需要智慧DNS的區域。一般情況,可以將區域劃分三類:1、內網檢視2、電信檢視3、聯通檢視
[[email protected]named]#cattelecom.mageedua.com.zone
$TTL86400
@INSOAns1.mageedua.com.admin.mageedua.com.(
2015061101
1D
1H
7D
1D)
INNSns1
INMX10mail
ns1INA10.189.9.110
mailINA10.189.9.111
wwwINA10.189.9.112#電信www伺服器為112的地址
[[email protected]named]#catunicom.mageedua.com.zone
$TTL86400
@INSOAns1.mageedua.com.admin.mageedua.com.(
2015061101
1D
1H
7D
1D)
INNSns1
INMX10mail
ns1INA10.189.9.110
mailINA10.189.9.111
wwwINA10.189.9.113#聯通www伺服器為113的地址
[[email protected]slaves]#[email protected]#電信使用者查詢結果

;<<>>DiG9.9.4-RedHat-9.9.4-14.el7_0.1<<>>[email protected]
;;globaloptions:+cmd
;;Gotanswer:
;;->>HEADER<<-opcode:QUERY,status:NOERROR,id:58349
;;flags:qraard;QUERY:1,ANSWER:1,AUTHORITY:1,ADDITIONAL:2
;;WARNING:recursionrequestedbutnotavailable

;;OPTPSEUDOSECTION:
;EDNS:version:0,flags:;udp:4096
;;QUESTIONSECTION:
;www.mageedua.com.INA

;;ANSWERSECTION:
www.mageedua.com.86400INA10.189.9.112

;;AUTHORITYSECTION:
mageedua.com.86400INNSns1.mageedua.com.

;;ADDITIONALSECTION:
ns1.mageedua.com.86400INA10.189.9.110

;;Querytime:1msec
;;SERVER:10.189.9.110#53(10.189.9.110)
;;WHEN:四6月1110:26:21CST2015
;;MSGSIZErcvd:95





轉載於:https://blog.51cto.com/niefeifly/1733583