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解析成功