DNS域名解析服務(一)

1、DNS 系統的做用
一、DNS 服務器
FQDN 格式(完整域名格式):在常見域名後添加「.」(根域)。例如:www.baidu.com.
DNS 系統在網絡中的做用就是維護着一個地址數據庫,其中記錄了各類主機域名;與 IP地址的對應關係,
以便爲客戶程序提供正向或反向的地址查詢服務,即正向解析與反向解析。
(1)正向解析:根據域名查 IP 地址,是 DNS 服務最經常使用的基本功能
(2)反向解析:根據 IP 查域名,不是很經常使用,應用於例如反垃圾郵件的驗證等
每臺 DNS 服務器都負責管理一個有限範圍(一個或幾個域)內的主機域名和 IP 地址的對應關係,
這些特定的 DNS 域或 IP 地址段稱爲「zone」(區域)。
二、DNS 服務器的常見分類
根據地址解析的方向不一樣,DNS 區域相應的分爲正向區域(包含域名到 IP 地址的解析記錄)和反向區域(包含 IP 地址到域名的解析記錄)。
根據管理的區域地址數據的來源不一樣,DNS 系統能夠分爲不一樣的類型:
(1)緩存域名服務器
只提供域名解析結果的緩存功能,目的在於提升數據查詢速度和效率,可是沒有本身控
制的區域地址數據。
(2)主域名服務器
維護某一個特定 DNS 區域的地址數據庫,對其中的解析記錄具備自主控制權,是指定
區域中惟一存在的權威服務器、官方服務器。
(3)從域名服務器
與主域名服務器提供徹底相同的 DNS 解析服務,一般用於 DNS 服務器的熱備份。
同一臺 DNS 服務器,能夠是A區域的主域名服務器,同時也能夠是B區域的從域名服務器。
(4)轉發器
不訪問根域,不緩存解析結果,只轉發給指定的服務器
三、DNS 服務器的查詢模式
(1)DNS 服務器遞歸查詢:當客戶機向 DNS 服務器發出解析請求,DNS 服務器從服務
器本地的惟高速緩存中查詢出結果,反饋給客戶機,此過程稱爲遞歸查詢,即 Client-Server。
(2)DNS 服務器迭代查詢:當客戶機向 DNS 服務器發出解析請求,DNS 服務器從服務
器本地的惟高速緩存中查詢發現沒有結果,此時該DNS服務器以DNS客戶的身份向其餘DNS
服務器發送解析請求或向根域名服務器發送請求,此過程稱爲迭代查詢,即 Server-Server。
二、端口
TCP 53 端口
UDP 53 端口
2、BIND 的安裝和控制
一、RPM 包的主要做用
bind:提供了域名服務器的主要程序及相關文件
bind-utils:提供了對 DNS 服務器的測試工具程序,如 nslookup 等
bind-libs:提供了 bind、bind-utils 須要使用的庫函數
bind-chroot:爲BIND服務提供一個假裝的根目錄(將/var/named/chroot文件夾做爲BIND的跟目錄)以提升安全性。也稱爲 jail(監牢)機制。
二、配置文件
(1)主配置文件: /etc/named.conf
(2)區域配置文件: /var/named
3、DNS服務器的構建
(1)構建緩存域名服務器
[root@ns2 ~]# yum -y install bind bind-utils
[root@ns2 ~]# vi /etc/named.conf
options {
listen-on port 53 { 127.0.0.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 { localhost; }; //容許使用本DNS服務器的網段
recursion yes;
};
(2)構建主DNS域名解析服務器
root@localhost ~]# yum -y install bind bind-utils
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.200.111
nameserver 192.168.200.112
[root@localhost ~]# cat /etc/hosts
192.168.200.111 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com
[root@localhost ~]# cat /etc/named.conf
options {
directory "/var/named";
};
zone "crushlinux.com" IN { //正向區域
type master; //類型爲主要文件
file "crushlinux.zheng"; //區域數據文件
allow-transfer { 192.168.200.112; }; //容許下載的服務器地址
};
zone "200.168.192.in-addr.arpa" IN { //反向區域
type master;
file "crushlinux.fan";
allow-transfer { 192.168.200.112; };
};
[root@localhost ~]# cat /var/named/crushlinux.zheng
$TTL 86400 //有效記錄的生命週期
@ IN SOA crushlinux.com. admin.crushlinux.com. (
域名 認證受權 域名 管理員郵箱
20190817 //更新序號
3H //更新時間間隔
15M //更新失敗再次嘗試的間隔
1W //若一直失敗,嘗試一週後結束
1D //失敗解析記錄緩存時間
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
ns1 IN A 192.168.200.111
ns2 IN A 192.168.200.112
mail IN A 192.168.200.113
www IN A 192.168.200.114
* IN A 192.168.200.111
ftp IN CNAME wwwlinux

[root@localhost ~]# cat /var/named/crushlinux.fan
$TTL 86400
@ IN SOA crushlinux.com. admin.crushlinux.com. (
20190817
3H
15M
1W
1D
)
IN NS ns1.crushlinux.com.
IN NS ns2.crushlinux.com.
IN MX 10 mail.crushlinux.com.
111 IN PTR ns1.crushlinux.com.
112 IN PTR ns2.crushlinux.com.
113 IN PTR mail.crushlinux.com.
114 IN PTR www.crushlinux.com.
111 IN PTR ns1.crushlinux.com.
[root@localhost ~]# chown :named /var/named/crushlinux.*
[root@localhost ~]# named-checkconf -z /etc/named.conf
[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.zheng
[root@localhost ~]# named-checkzone crushlinux.com /var/named/crushlinux.fan
[root@localhost ~]# systemctl restart named
(3)構建從DNS域名解析服務器
[root@localhost ~]# cat /etc/resolv.conf
nameserver 192.168.200.111
nameserver 192.168.200.112
[root@localhost ~]# cat /etc/hosts
192.168.200.111 ns1.crushlinux.com
192.168.200.112 ns2.crushlinux.com
[root@localhost ~]# cat /etc/named.conf
options {
directory "/var/named";
};數據庫

zone "crushlinux.com" IN {
type slave;
file "slaves/crushlinux.zheng";
masters { 192.168.200.111; };
};
zone "200.168.192.in-addr.arpa" IN {
type slave;
file "slaves/crushlinux.fan";
masters { 192.168.200.111; };
};
[root@localhost ~]# systemctl restart named緩存

相關文章
相關標籤/搜索