DNS(Domain Name System,域名系統)用于決議域名與IP地址的映射關系,根據主機名(域名)決議對應的IP地址稱之為正向決議,根據IP地址決議對應的主機名(域名)稱為之反向決議,
DNS服務器又分為主服務器、從服務器和快取服務器,主服務器在特定區域內具有唯一性、負責維護該區域內的域名與IP地址映射關系,從服務器拷貝主服務器中域名與IP地址的映射關系,以防止主服務器宕機等情況,快取服務器通過向其他域名決議服務器查詢獲得域名與IP地址映射關系,從而提高重復查詢時的效率,
BIND(Berkeley Internet Name Domain,伯克利因特網名稱域)服務是全球范圍內使用最廣泛、最安全可靠且高效的域名決議服務程式,在生產環境中安裝部署bind服務程式時加上chroot(俗稱牢籠機制)擴展包,可以有效地限制bind服務程式僅能對自身的組態檔進行操作,以確保整個服務器的安全,
一、安裝bind及其相關軟體
使用bind部署DNS服務器,通常會安裝bind、bind-chroot、bind-utils和bind-libs四個軟體,bind提供了域名服務的主要程式及相關軟體,bind-utils提供了對DNS服務器的測驗工具程式(比如:nslookup),bind-libs提供了bind、bind-utils需要使用的庫函式,bind-chroot為Bind服務提供一個偽裝的根目錄(將var/named/chroot檔案夾作為Bind的根目錄),以提高安全性,
1、查看系統中已安裝的bind及其相關軟體,
rpm -aq | grep bind

2、安裝bind及其相關軟體,根據步驟1,系統默認已安裝utils和libs,因此只需要安裝bind、bind-chroot,
yum -y install bind bind-chroot
二、bind組態檔簡述
配置DNS服務,需要編輯bind相關的組態檔,相關的組態檔有三類(4個)組態檔,分別是DNS主組態檔(/etc/named.conf)、區域組態檔(/etc/named.rfc1912.zones)和資料檔案,資料檔案分為正向決議資料檔案和反向資料決議模版,正向決議資料檔案可以通過正向決議資料模版檔案(/var/named/named.localhost)來創建,反向資料決議資料檔案可以通過反向決議資料模版檔案(/var/named/named.loopback)來創建,
1、編輯DNS主組態檔,
把第13行127.0.0.1修改為any,表示服務器上的所有IP地址均可提供DNS域名決議服務,
把第19行的localhost修改為any,表示本服務器接受所有DNS查詢請求,
vim /etc/named.conf
12 options {
13 listen-on port 53 { any; };
14 listen-on-v6 port 53 { ::1; };
15 directory "/var/named";
16 dump-file "/var/named/data/cache_dump.db";
17 statistics-file "/var/named/data/named_stats.txt";
18 memstatistics-file "/var/named/data/named_mem_stats.txt";
19 allow-query { any; };
三、DNS正向決議
1、編輯區域組態檔中正向決議部分,
洗掉已有的所有內容,并添加下面5行,
vim /etc/named.rfc1912.zones
1 zone "lw.com.cn" IN { #維護的正向區域(lw.com.cn);
2 type master; #設定服務器型別為主服務器;
3 file "lw.com.cn.zone"; #設定正向決議資料檔案的名稱;
4 allow-update { none; }; #不允許動態更新決議資訊;
5 };
2、復制正向決議資料檔案模板,作為服務器的正向決議資料檔案,
cp -a /var/named/named.localhost /var/named/lw.com.cn.zone
說明:
檔案名必須和區域組態檔中定義的file的名稱相同,
3、編輯正向決議資料檔案,
注意域名后面的“.”,不要漏了,
vim /var/named/lw.com.cn.zone
1 $TTL 1D
2 @ IN SOA lw.com.cn. root.lw.com.cn. ( #域名=lw.com.cn. root的郵箱=root.lw.com.cn.
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS ns.lw.com.cn. #域名服務器記錄
9 ns IN A 192.168.10.10 #地址記錄
10 www IN A 192.168.10.10 #地址記錄
11 mail IN A 192.168.10.10 #地址記錄
4、重啟named服務并將其設定為開機啟動,
systemctl restart named
systemctl enable named
如果出現錯誤提示:Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.請認真檢查前面的配置,直到使用命令systemctl restart named重啟named服務不出現錯誤提示為止,
5、在服務器上進行測驗,使用命令ping和nslookup進行測驗,
[root@localhost ~]# ping www.lw.com.cn
PING www.lw.com.cn (192.168.10.10) 56(84) bytes of data.
64 bytes from localhost.localdomain (192.168.10.10): icmp_seq=1 ttl=64 time=0.015 ms
[root@localhost ~]# nslookup
> www.lw.com.cn #在這里輸入需要決議的域名
Server: 127.0.0.1
Address: 127.0.0.1#53
Name: www.lw.com.cn
Address: 192.168.10.10
> exit
6、若要使用DNS客端使用命令ping或命令nslookup進行測驗,需要在DNS服務器上設定或關閉防火墻,還需要在客戶端設定首選DNS的IP(192.168.10.10)地址,設定DNS的IP地址比較簡單這里省略該設定,
firewall-cmd --permanent --add-service=dns #默認區域添加dns服務
firewall-cmd --reload #重新加載防火墻
或
systemctl stop firewalld #關閉防火墻
systemctl disable firewalld #禁用防火墻
四、DNS反向決議
1、編輯區域組態檔中反向決議部分,
正向決議部分配置了5行,反向決議部分從第6行開始,也配置5行,
vim /etc/named.rfc1912.zones
6 zone "10.168.192.in-addr.arpa" IN { #設定維護的反向區域;
7 type master; #設定服務器型別為主服務器;
8 file "192.168.10.arpa"; #設定反向決議資料檔案的名稱;
9 allow-update { none; }; #不允許動態更新決議資訊;
10 };
2、復制反向決議資料檔案模板,作為服務器的反向決議資料檔案,
cp -a /var/named/named.loopback /var/named/192.168.10.arpa
說明:
檔案名必須和區域組態檔中定義的file的名稱相同,
3、編輯反向決議資料檔案,
注意域名后面的“.”,不要漏了,
vim /var/named/192.168.10.arpa
1 $TTL 1D
2 @ IN SOA lw.com.cn. root.lw.com.cn. ( #域名=lw.com.cn.root的郵箱=root.lw.com.cn.
3 0 ; serial
4 1D ; refresh
5 1H ; retry
6 1W ; expire
7 3H ) ; minimum
8 NS ns.lw.com.cn. #域名服務器記錄
9 ns IN A 192.168.10.10 #地址記錄
10 10 PTR www.lw.com.cn. # PTR為指標記錄,僅用于反向決議;
11 10 PTR mail.lw.com.cn. # PTR為指標記錄,僅用于反向決議;
4、重啟named服務,
systemctl restart named
如果出現錯誤提示:Job for named.service failed because the control process exited with error code. See "systemctl status named.service" and "journalctl -xe" for details.請認真檢查前面的配置,直到使用命令systemctl restart named重啟named服務不出現錯誤提示為止,
5、在服務器或客戶端使用命令nslookup進行測驗,
[root@localhost ~]# nslookup
> 192.168.10.10 #在這里輸入需要決議的IP地址,
Server: 127.0.0.1
Address: 127.0.0.1#53
10.10.168.192.in-addr.arpa name = mail.lw.com.cn.
10.10.168.192.in-addr.arpa name = www.lw.com.cn.
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/203148.html
標籤:其他
上一篇:NodeJS實作JWT原理
