1. 程式人生 > >Linux—配置DNS服務和BIND

Linux—配置DNS服務和BIND

本章內容

  • 名字解析
  • DNS服務
  • 實現主從伺服器
  • 實現子域
  • 實現view
  • 編譯安裝
  • 壓力測試
  • DNS排錯

DNS服務

  • DNS:Domain Name Service 應用層協議
  • C/S, 伺服器埠:53/udp, 53/tcp
  • BIND: Bekerley Internat Name Domain
  • ISC ( www.isc.org)

本地名稱解析配置檔案: hosts

  • /etc/hosts 也可以做域名解析
  • %WINDIR%/system32/drivers/etc/hosts
  • 122.10.117.2 www.magedu.com
  • 93.46.8.89 www.google.com

/etc/nsswitch.conf 檔案可以修改 /etc/hosts中域名解析的優先順序

針對企業中小批量的伺服器叢集可以使用/etc/hosts來做域名解析

DNS解析

DNS查詢型別:

  • 遞迴查詢 負責到底
  • 迭代查詢

名稱伺服器:域內負責解析本域內的名稱的主機

  • 根伺服器: 13組伺服器

解析型別:

  • FQDN --> IP 正向域名解析
  • IP --> FQDN 方向域名解析

注意:正反向解析是兩個不同的名稱空間,是兩棵不同的解析樹

centos6
[[email protected] ~]# yum info bind
Available	 Packages
Name     	   : bind
Arch       	 : x86_64
Epoch    	   : 32
Version    	 : 9.8.2
centos7
[[email protected] ~]# yum info bind
Available Packages
Name        : bind
Arch        : x86_64
Epoch       : 32
Version     : 9.9.4

資源記錄

區域解析庫:由眾多RR組成:

  • 資源記錄: Resource Record, RR
  • 記錄型別: A, AAAA, PTR, SOA, NS, CNAME, MX

SOA: Start Of Authority,起始授權記錄;一個區域解析庫有且僅能有一個

SOA記錄,必須位於解析庫的第一條記錄

  • A: internet Address,作用, FQDN --> IP
  • AAAA: FQDN --> IPv6
  • PTR: PoinTeR, IP --> FQDN
  • NS: Name Server,專用於標明當前區域的DNS伺服器
  • CNAME: Canonical Name,別名記錄

         www CNAME web-nginx.magedu.com

  • MX: Mail eXchanger,郵件交換器

資源記錄定義的格式:

  • 語法: name [TTL] IN rr_type value

         域名 快取時間 資源記錄型別 值

        magedu.com.86400 IN SOA

  • 1、主DNS名稱
  • 2、管理員郵箱:admin.magedu.com
  • {3、主伺服器和從伺服器同步時和版本庫版本號比較
  • 4、主從同步時間間隔1hous 1day
  • 5、主從同步重試間隔 10m
  • 6、從資料庫有效性的過期時長
  • 7、不存在記錄的快取時長 }

例子:ww.magedu.com ; wwww.magdu.com

centos7
[[email protected] ~]#yum install bind
[[email protected] ~]#rpm -ql bind
[[email protected] ~]#cat	/etc/named.conf				DNS伺服器主配置檔案   

/var/named/named.ca                 存放13個根資訊 /usr/sbin/named                           DNS主程式 /etc/named.rfc1912.zones          存放名字解析 /named.service                             服務程式 /var/named                                    DNS資料庫    名字和IP的對應關係

[email protected]】#systemctl start named		啟動DNS服務	53埠
【[email protected]】# ss -ntul
udp  unconn 127.0.0.1:53	預設埠只有對本機開放
【[email protected]】#vim /etc/named.conf			修改DNS開發埠
options{listen-on port 53{192.168.161.130;192.168.161.131或者localhost本機所有IP}}
【[email protected]】#systemctl reload named		重啟DNS服務

管理域

[email protected]】#vim /etc/named.conf
options{
zone "." IN{
type hint;
file "name.ca"
}
};

第一步:

[email protected]】# vim /etc/named.rfc1918.zones	存放區域路徑
zone "magedu.com" IN {
type master;	                               (管理magedu域中的第一個DNS伺服器,所以是作為主域的型別必須是master)
file "magedu.com.zone";
}

第二步:建立以magedu.com管理域中資料庫資訊

[email protected]~ /var/named】#cd /var/named

[email protected]~ /var/nmaed】#ls

[email protected]~ /car/named】#參考named.localhose 書寫格式

[email protected]】#cp -a named.localhost magedu.com.zone 注意:修改named的所有組許可權

[email protected]】#chgrp named magedu.com.zone

資源記錄

記錄型別:A,AAAA, PTR,SOA,NS,CNAME,MX

SOA:start of authority,起始授權記錄;一個區域解析庫有且只能有一個

SOA記錄 必須位於解析庫的第一條記錄

A:把域名翻譯成IPv4 地址。 FQDN----->IP

AAAA: 把域名翻譯成IPv6地址。FQDN----->IP.

PTR: 反向解析 把IP地址解析成域名

NS:專門用於標明當前區域的DNS伺服器;這個域中有幾個dns伺服器

CNAME:別名記錄 ###給主機起個別名

例子:

www.magedu.com        A                                 101.200.188.230

MX:郵件交換器

TXT:  對域名進行標識和說明的一種方式,一般做驗證記錄時會使用

如:     SPF (反垃圾郵件)記錄,https驗證等

例子:_dnsauth TXT 12312315256485214dsf6s521fd26s45s

資源記錄定義的格式:

$TTL                       86400

magedu.com.       IN     SOA

值:

1、主DNS名稱 dns1.magedu.com

2、管理員郵箱 admin.magedu.com

{

3、同步過程基於資料庫的版本號

4、主從同步時間間隔 1d

5、主從同步重試間隔 10min

6、從資料庫過期時長

7、不存在的快取時長

}

注意:

(1)TTL可從全域性繼承

(2)@可用於引用當前區域的名字

(3)同一個名字可以通過多條記錄定義多個不同的值;此時DNS伺服器會以輪詢方式響應

(4)同一個值也可能有多個不同的定義名字;通過多個不同的名字指向同一個值進行定義;僅表示通過多個不同的名字可以找到同一個主機

A 記錄格式

www.magedu.com      IN          A       101.200.188.280

PTR記錄格式

NS         記錄格式    需要配合  A  記錄使用

例子;

@

magedu.com.               IN    NS     dns1.magedu.com.

dns1.magedu.com     IN     A       192.168.32.7

——————————————————————————————————————————————

magedu.com. IN NS dns1.magedu.com.

magedu.com IN NS dns2.magedu.com

dns2.magedu.com IN A 192.168.32.7

dns1.magedu.com IN A 192.168.32.17

CNAME 記錄格式

www IN CNAME web-nginx01.magedu.com

web-nginx01.magedu.com IN A 101.200.188.208

MX 記錄格式

@ IN MX 10 mail.magedu.com.

mail IN A 3.3.3.3

TXT 記錄格式

_dnsauth IN TXT 2011234551564ASDFDS12D112 https

[email protected]~ /var/named】#vim  magedu.com.zone
$TTL 1D
@	IN 	SOA		dns1.magedu.com.  admin.magedu.com.(
201809	;	serial  版本號
1D	;	refresh
1H	;	retry
1W	;	expire
3H	;	minimum

)
dns1.magedu.com.	IN	A	192.168.32.7
@					NS	dns1.magedu.com.
websrv1			IN	A	192.168.32.128
www				IN	CNAME	websrv1

[email protected]】# systemctl reload dns

或者【[email protected]】# rndc reload

[email protected]】# named-checkconf 檢查配置檔案語法

[email protected]】# named-checkzone 檢查資料庫語法

[email protected]】#vim /etc/named.rfc1912.zones

dig host nslookup 測試dns服務工具

[email protected]】# named-checkzoe	magedu.com	/var/named/magedu.com.zone
[[email protected] ~ 08:22:16]#dig www.magedu.com @192.168.161.128	
;; ->>HEADER<<- opcode: QUERY, status: REFUSED, id: 42104
;; Query time: 2 msec
;; SERVER: 192.168.161.128#53(192.168.161.128)
;; WHEN: Wed Sep 26 08:38:02 2018
;; MSG SIZE  rcvd: 32
[[email protected] ~ 08:41:17]#host www.magedu.com 192.168.161.128
Using domain server:
Name: 192.168.161.128
Address: 192.168.161.128#53
Aliases: 
Host www.magedu.com.magedu.com not found: 5(REFUSED)	
[email protected]】# vim /etc/named.conf
allow-query	{localhost;};	###允許本機查詢
allow-query	{any;};		###any表示所有人都能訪問
【[email protected]】# rndc reload
[[email protected] ~ 08:41:40]#host www.magedu.com 192.168.161.128
Using domain server:
Name: 192.168.161.128
Address: 192.168.161.128#53
Aliases: 
www.magedu.com is an alias for websrv1.magedu.com.
websrv1.magedu.com has address 192.168.161.100		###dns解析成功