一、DNS域名解析服務
1)DNS(domain name system,域名系統)技術是一項用於管理和解析域名與IP直接對應關系的技術,DNS服務器主要分為三類:
主服務器:在特定區域內具有唯一性,負責維護該區域內的域名與IP地址之間的對應關系;
從服務器:從主服務器中獲取的域名與IP地址對應關系並進行維護,以防主服務器宕機的情況;
緩存服務器:通過向其他域名解析服務器查詢到域名與IP地址對應關系,並將經常查詢的域名信息保存到本地服務器,以提高重復查詢時的效率。
2)域名查詢的方式有遞歸查詢和迭代查詢兩種:遞歸查詢是指用戶向dns服務器發起請求時,dns服務器必須向用戶返回一個查詢結果,如果dns服務器本地沒有存在與之對應的信息,該服務器則向其他服務器發起請求,並由該服務器返回一個查詢結果給用戶;迭代查詢是指用戶向dns服務器發起請求時,dns服務器向用戶返回其他dns服務器的地址,用戶再向其他dns服務器發起請求,這樣依次重復,直到返回查詢結果。
二、安裝Bind服務程序
1)BIND(Berkeley Internet Name Domain,伯克利因特網名稱域)服務是全球范圍內使用最廣泛、最安全可靠且高效的域名解析服務程序。在生產環境中安裝部署bind服務程序時加上chroot(俗稱牢籠機制)擴展包,以便有效地限制bind服務程序僅能對自身的配置文件進行操作,以確保整個服務器的安全,安裝命令:yum install bind-chroot。
bind服務中有3個關鍵文件:
主配置文件(/etc/named.conf):只有58行,而且在去除注釋信息和空行之后,實際有效的參數僅有30行左右,這些參數用來定義bind服務程序的運行。
區域配置文件(/etc/named.rfc1912.zones):用來保存域名與IP地址對應關系的所有位置,類似於書本目錄。
數據配置文件目錄(/var/named):用於保存域名與IP地址真實的對應關系的數據配置文件。
2)bind服務程序的區域配置文件用來保存域名與IP地址對應關系的所在位置,該文件定義了域名與IP地址解析規則保存的文件位置以及服務類型,服務類型包含根域hint、主區域master、輔助區域slave,其中的master主區域和輔助區域slave就是常用在主服務器和從服務器中。
3)在實驗中啟動bind服務失敗時,可通過執行named-checkconf和named-checkzone分別檢查主配置文件和數據配置文件的語法錯誤或參數錯誤。
4)named服務開機自啟:systemctl enable named.service
三、DNS解析
1)正向解析:通過域名查找主機的IP地址
2)反向解析:通過主機IP地址查找主機域名
正向解析實驗:
1)修改主配置文件配置vi /etc/named.conf,修改監聽地址(端口)為any,修改允許客戶機更新為any;
2)設置dns地址為本機地址;
3)編輯區域配置文件vi /etc/named.rfc1912.zones,如下配置:
zone "test.com " IN {
type master; /* 服務類型 */
file “test.com.zone"; /* 配置文件所在的位置 */
allow-update {none;}; /* 允許哪些客戶機更新 */
};
4)區域配置文件完成后,下一步是配置數據配置文件,即域名與IP地址對應關系的文件,首先在 /var/named目錄喜復制一份數據配置模板:cp -a named.hostlocal test.com.zone ,cp 命令 -a 參數意思是保留原始文件的所有者,然后編輯數據配置文件 vi test.come.zone,數據配置如下:
$TTL 1D | #生存周期為1天 | ||||
@ | IN SOA | test.com. | root.test.com. | ( | |
#授權信息開始: | #DNS區域的地址 | #域名管理員的郵箱(不要用@符號) | |||
0;serial | #更新序列號 | ||||
1D;refresh | #更新時間 | ||||
1H;retry | #重試延時 | ||||
1W;expire | #失效時間 | ||||
3H;)minimum | #無效解析記錄的緩存時間 | ||||
NS | ns.test.com. | #域名服務器記錄 | |||
ns | IN A | 192.168.198.10 | #地址記錄(ns.test.com.) | ||
IN MX 10 | mail.test.com. | #郵箱交換記錄 | |||
IN A | 192.168.198.10 | #地址記錄(mail.test.com.) | |||
www | IN A | 192.168.198.10 | #地址記錄(www.test.com.) | ||
bbs | IN A | 192.168.198.20 | #地址記錄(bbs.test.com.) |
保存退出后,重啟named服務systemctl restart named ,然后通過nslookup命令 解析域名www.test.com得到192.168.198.10的IP地址。
反向解析實驗:
1)編輯區域配置文件vi /etc/named.rfc1912.zones
zone "198.168.192.in-addr.arpa " IN {
type master; /* 服務類型 */
file “198.168.192.arpa"; /* 配置文件所在的位置 */
};
2)從/var/named中復制一份反向解析模板命名為198.168.192.arpa:cp -a named.loopback 198.168.192.arpa,然后編輯反向解析數據配置文件vi 198.168.192.arpa,數據配置文件如下:
$TTL 1D | ||||
@ | IN SOA | test.com. | root.test.com. | ( |
0;serial | ||||
1D;refresh | ||||
1H;retry | ||||
1W;expire | ||||
3H);minimum | ||||
NS | ns.test.com. | |||
ns | A | 192.168.198.10 | ||
10 | PTR | ns.test.com. | #PTR為指針記錄,僅用於反向解析中。 | |
10 | PTR | mail.test.com. | ||
10 | PTR | www.test.com. | ||
20 | PTR | bbs.test.com. |
四、部署從服務器
1)配置流程為:
在主服務器的區域配置文件中允許從服務器的更新請求,並重新加載配置文件;
在從服務器配置文件中填寫主服務器地址與要抓取的區域配置,並重新加載配置文件;
在從服務器中查看/var/named/slaves目錄並使用nslookup命令驗證結果。
五、安全加密傳輸
1)第一步是在主服務器中生成密鑰:命令是dnssec-keygen -a HMAC-MD5 -b 128 -n HOST master-slave,-a參數是指定加密算法,-b參數是密鑰長度,-n是密鑰類型。這時會生成一個密鑰。
2)在主服務器中創建密鑰驗證配置文件,進入bind服務程序用於保存配置文件的目錄,把剛剛生成的密鑰名稱、加密算法和私鑰加密字符串按照下面格式寫入到tansfer.key傳輸配置文件中:
cd /var/named/chroot/etc/
vi /transfer.key
3)配置主/從服務器開啟密鑰驗證功能並重新加載named服務,即在主/從服務器的主配置文件中添加:include “/etc/transfer.key;'”