DNS服務器
1、環境準備:
(1)搭建A服務端
要求:配置永久主機名svr7.tedu.cn
配置eth0永久 IP地址:192.168.4.7/24
使用真機Web服務器作爲Yum源
(2)搭建B客戶端
要求:配置永久主機名pc207.tedu.cn
配置eth0永久 IP地址:192.168.4.207/24
使用真機Web服務器作爲Yum源
2、DNS服務器的功能
– 正向解析:根據註冊的域名查找其對應的IP地址
– 反向解析:根據IP地址查找對應的註冊域名,不常用
-
所有 的域名都要點" . "結尾
根域 .
一級域名: .cn .us .kr .jp .tw .hk .......
二級域名: .com.cn .net.cn .org.cn .edu.cn .gov.cn ..
三級域名: .abc.com.cn .nb.com.cn .haxi.com.cn ......
具體的主機名: www.abc.com.cn tts.abc.com.cn ftp.abc.com.cn
- Full Qualified Domain Name,完全合格主機名(FQDN)
由合法的域名與主機名組成
– 系統服務: named
– 默認端口: 53
--軟件包 bind //域名服務包 bind-chroot //提供虛擬根支持,牢籠政策
3、安裝軟件包yum install -y bind bind-chroot
4、修改配置文件:/etc/named.confmv /etc/named.conf /etc/named.conf.bak //備份原始配置文件 vim /etc/named.conf options { directory "/var/named"; #指定地址庫文件的位置 }; zone "tedu.cn" IN { #指定本地負責解析的域名 type master; #指定本機爲主DNS服務器 file "tedu.cn.zone"; #指定地址庫文件名稱 };
5、建立地址庫文件:/var/named/tedu.cn.zone
注意 文件權限,named用戶要有r
cp -p 保持源文件屬性不變進行復制
本文件域名沒有點結尾,默認補全本文件負責的域名cd /var/named/ #進入到地址庫目錄 cp -p named.localhost tedu.cn.zone #複製模板文件 ls -l tedu.cn.zone #查看權限 vim tedu.cn.zone #文件開頭可保持不變 tedu.cn. NS svr7 #證明DNS服務器主機名 svr7 A 192.168.4.7 #解析DNS服務器主機名對應IP www A 192.168.4.8 ftp A 192.168.4.9
6、重啓服務
systemctl restart named
7、修改客戶端DNS服務器並測試
echo nameserver 192.168.4.7 >/etc/resolv.conf nslookup www.tedu.cn
8、DNS的特殊解析記錄
- 輪詢解析:
vim /var/named/tedu.cn.zone www A 192.168.4.11 www A 192.168.4.20 www A 192.168.4.21
- 泛域名解析
vim /var/named/tedu.cn.zone .. .. * A 119.75.217.56
-
特殊的泛域名解析:
stu1.tedu.cn ------》192.168.10.1 stu2.tedu.cn ------》192.168.10.2 stu3.tedu.cn ------》192.168.10.3 stu4.tedu.cn ------》192.168.10.4 ...... stu50.tedu.cn ------》192.168.10.50 內置函數 可以產生連續的數字 $GENERATE vim /var/named/tedu.cn.zone $GENERATE 1-50 stu$ A 192.168.10.$
9、DNS子域授權
父域 www.qq.com
子域 www.bj.qq.com
將客戶端B搭建DNS服務,負責bj.qq.com
yum install -y bind bind-chroot
vim /etc/name.conf #建立新配置
options {
directory "/var/named"; #配置文件要以;號結尾
};
zone "bj.qq.com" {
type master;
file "bj.qq.com.zone";
};
vim /var/named/bj.qq.com.zone
.. .. #文件開頭不變
bj.qq.com. NS pc207 #本區域負責的FQDN
pc207 A 192.168.4.207
www A 200.0.0.1
重啓服務 測試子域
10、在父域上配置子域授權
vim /var/named/qq.com.zone
qq.com. NS svr7
bj.qq.com. NS pc207
svr7 A 192.168.4.7
pc207 A 192.168.4.207
www A 1.2.3.4
重啓服務 測試子域授權
nslookup www.bj.qq.com 192.168.4.7
Server: 192.168.4.7
Address: 192.168.4.7#53
Non-authoritative answer: #非權威解答
Name: www.bj.qq.com
Address: 200.0.0.1
* 子域轉發:子域可以解析父域
`vim /etc/named.conf #追加寫入
zone "qq.com" IN {
type forward; #類型爲轉發
forwarders { 192.168.4.7; }; #轉發給父域的IP地址
};`
11、遞歸查詢:
客戶端請求DNS服務器解析域名,DNS服務器與其他DNS服務器詢問,最終將查詢結果帶回來過程
options {
directory "/var/named";
recursion no; #是否啓用遞歸查詢
};
迭代查詢:
DNS服務器與其他DNS服務器詢問過程
12、
緩存DNS服務器,緩存解析記錄,加快解析速度
• 方式1:全局轉發
– 將請求轉發給指定的公共DNS(其他緩存DNS),請求遞歸服務
• 方式2:根域迭代
– 依次向根、一級、二級......域的DNS服務器迭代
* 配置:
C 主機安裝 dns服務 IP 192.168.4.254
cat /etc/resolv.conf
nameserver 202.106.196.115
vim /etc/named.conf
options {
directory "/var/named";
forwarders { 202.106.196.115; };
};
重啓服務,測試
在A主機上驗證
echo nameserver 192.168.4.254 >/etc/resolv.conf
nslookup www.qq.com
13、DNS分離解析(視圖解析)
* 能夠區分客戶機的來源地址
* 爲不同類別的客戶機提供不同的解析結果(IP地址)
* 當不同的客戶端解析同一域名,得到的結果不同
* 爲客戶端提供網絡最近的資源
1、環境及需求
– 權威DNS:svr7.tedu.cn 192.168.4.7
– 負責區域:tedu.cn
– A記錄分離解析 —— 以 www.tedu.cn 爲例
* 客戶機來自解析結果
192.168.4.207---------->192.168.4.100
其他地址 ----------> 1.2.3.4
在配置文件中,通過view視圖設置來區分不同客戶機,不同地址庫
view “視圖1” {
match-clients { 客戶機地址1; .. ..;}; #匹配第一類客戶
zone "tedu.cn" IN {
type master;
file 地址庫1;
};
};
view "視圖2" {
match-clients { 客戶機地址2; .. ..;}; #匹配第二類客戶
zone "tedu.cn" IN {
type master;
file 地址庫2;
};
};
.. ..
view "視圖n" {
match-clients { any; }; //匹配任意地址
zone "目標域名" IN { //同一個DNS區域
type master;
file "地址庫n"; //第n份地址庫
};
};
注意:
1.所有的客戶端到要匹配分類成功
2.由上及下,匹配及停止
3.所有的zone都要在view中
4.view中所有的zone數量必須保持一致
2.建立兩個地址庫文件tedu.cn.zone與tedu.cn.other寫入不同的解析結果
• 環境及需求
– 權威DNS:svr7.tedu.cn 192.168.4.7
– 負責區域:tedu.cn qq.com
– A記錄分離解析 —— 以 www.tedu.cn 爲例 以 www.qq.com 爲例
客戶機來自解析結果
192.168.4.207---------->192.168.4.100
其他地址 ----------> 1.2.3.4
options {
directory "/var/named";
};
view "聯通" {
match-clients { 192.168.4.207; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.zone";
};
zone "qq.com" IN {
type master;
file "qq.com.zone";
};
};
view "other" {
match-clients { any; };
zone "tedu.cn" IN {
type master;
file "tedu.cn.other";
};
zone "qq.com" IN {
type master;
file "qq.com.other";
};
};
-----