DNS服務器的搭建與驗證(在Vmware Workstation中基於centos7.3虛擬機/centos7.4虛擬機)

前言:

瞭解下DNS服務器的作用和原理:
DNS是在互聯網上進行域名解析到對應IP地址的服務器,保存互聯網上所有的IP與域名的對應信息,然後將我們對網址的訪問,解析成IP地址並返回,然後電腦再去通過IP地址去訪問服務器,獲得數據。
首先就要講一下域名,這裏我拿百度的地址來進行講解:
www.baidu.com.
完整的域名,後面都是有一個“.”的,但是一般使用中都是默認省略點了,這是一個完整的域名。通過 “.” 來進行分割成三個部分:
www: www是 主機名
baidu: baidu是 域名
com: com是 類型

但是平時,我們習慣將整 域名+類型合起來成爲域名,主機名,稱之爲子域名。 而實際上並不是這樣的。嚴格來說就是 主機名,域名,類型。

然後,當我們訪問 www.baidu.com 時,電腦會先去dns服務器上查找與這個網址對應的 ip並返回。這個過程就是DNS解析。而DNS服務器又分爲下面幾種:

“.” :完整網址中最後的那個“.” 就代表DNS的根服務器,根服務器是DNS服務器中最上層的服務器,分佈在全球各地。其中保存着該區域的所有 的類型DNS服務器的IP地址
com : com是一個DNS類型,像常見的com,net,org,edu,gov是政府的規定的正式類型,還有常見的商用類型等。裏面保存着的都是類型爲 com 的域名服務器的IP地址。
baidu.com : baidu爲域名,是com的下級dns服務器,裏面保存着域名爲 baidu.com 的所有主機對應的IP地址
當我們訪問 www.baidu.com 時,會先去 根服務器中 查找所有的 com類型服務器的地址,然後再去com類型的服務器上查找所有 baidu.com 域名的服務器地址,最後再去 所有baidu.com的域名服務器上找到 www.baidu.com 這個網址對應的IP地址,然後返回給訪問www.baidu.com的電腦主機。 然後主機就用這個IP與服務器建立連接。
另外,所有這些不同層級DNS服務器都一般是由多臺服務器同時提供服務,做一個冗餘好可用,負載均衡。 在這上面分爲:
主服務器: 又名master服務器,所有其他從服務器和緩存服務器的域名解析信息都是由master服務器上抓取下來的,所有的修改都直接在master上修改就行了,別的自動同步
從服務器: 又名salve服務器,是作爲master服務器的冗餘備份,讓master故障後,salve還能繼續提供服務。
緩存服務器: 主要作用就是緩存DNS信息,提供服務給用戶查詢,並不能自定義域名配置進行解析。
然後再DNS服務器上進行查詢的時候,分爲兩種查詢模式,遞歸查詢和循環查詢:
遞歸查詢 :就時去去到一個dns服務器查詢到結果後,就將結果返回給查詢者,查詢者再去查詢別的DNS服務器,這樣一次一次的進行查詢返回,直到找到數據。
循環查詢: 循環查詢就是查詢者像一個DNS服務器發起查詢後,由這個DNS服務器去查詢別的服務器A,A又去查詢別的服務器B,直到找到結果,然後返回B,B返回給A,A 再返回給查詢者。
一般情況下,是我們個人主機,向我們網絡配置中配置的DNS服務器進行查詢,使用循環查詢,由指定的DNS服務器代替我們用遞歸查詢去網絡上查詢得到結果。然後返回給個人用戶主機。 這就是DNS服務器的工作原理。
而現在我們就是要搭建自己DNS服務器,讓公司內所有員工的DNS服務器地址都指向到這臺服務器上。通過這個本地的DNS服務器來進行解析,代替常用的DNS服務器,如果各大運行商的,114的,阿里雲的等等。
這樣做就可以自定義自己內部的域名,通過域名來訪問內網的服務器,像公司內網的論壇,內網的網站等等,都可以直接輸入網址進行訪問。

yum install bind bind-utils bind-chroot -y (bind-utils和bind-chroot dns的常用工具,不下也可以,不影響服務)
配置文件:
/etc/named.conf主配置文件
/etc/named/zone文件
如過你安裝了bind-chroot,則bind-chroot會將bind服務放置於一個僞根目錄下,這樣如何黑客攻破了你的服務器,進到來的就是在僞根目錄下,不會危害到你真正的根目錄,是一個安全的措施。
僞根目錄:
/var/named/chroot/etc/named.conf 紅色就是僞根目錄。
這個就是bind-chroot生成的僞根目錄。在這個目錄下,會生產完整的bind服務的結構,進到這個目錄下,會發現裏面基本沒有文件,只有目錄文件夾,這就需要你將真實的根目錄下的bind的配置文件和一些需要的文件都複製一份到這個僞根下,或創建一些基礎文件,給與權限啊等操作:
$ cp -R /usr/share/doc/bind-9.9.4/sample/var/named/* /var/named/chroot/var/named/
$ touch /var/named/chroot/var/named/data/cache_dump.db
$ touch /var/named/chroot/var/named/data/named_stats.txt
$ touch /var/named/chroot/var/named/data/named_mem_stats.txt
$ touch /var/named/chroot/var/named/data/named.run
$ mkdir /var/named/chroot/var/named/dynamic
$ touch /var/named/chroot/var/named/dynamic/managed-keys.bind
$ chmod -R 777 /var/named/chroot/var/named/data
$ chmod -R 777 /var/named/chroot/var/named/dynamic
$ cp -R /etc/named* /var/named/chroot/etc/
$ chown -R root.named /var/named/chroot/ ##直接將僞根目錄下的所有文件都給named用戶,讓其能夠修改。避免權限問題報錯。

注意:如果不使用 bind-chroot 的話,就不需要上面的操作!!!

Dns服務器所用命令:
14 systemctl stop firewalld
15 setenforce 0
17 yum -y install bind*
18 Ifconfig
20 ping 192.168.136.134
22 vi /etc/selinux/config
23 vim /etc/named.conf
24 cat /etc/named.conf
26 cp /etc/named.rfc1912.zones /etc/named.rfc1912.zones.bak
27 vim /etc/named.rfc1912.zones
28 cat /etc/named.rfc1912.zones
29 cp -p /var/named/named.localhost /var/named/zjs.zone
30 vim /var/named/zjs.zone
31 cat /var/named/zjs.zone
32 cp -p /var/named/named.empty /var/named/zjs.fan
33 vim /var/named/zjs.fan
37 cat /var/named/zjs.fan
39 named-checkconf -z /etc/named.conf
40 systemctl start named
42 named -checkzone

客戶機所用命令:
6 vi /etc/selinux/config
7 systemctl stop firewalld
8 setenforce 0
ifconfig
9 ping 192.168.136.133
10 vim /etc/sysconfig/network-scripts/ifcfg-ens33
11 cat /etc/sysconfig/network-scripts/ifcfg-ens33
13 service network restart
14 cat /etc/resolv.conf
15 ifcofig
18 nslookup

一 DNS服務器操作:

1安裝bind時網絡適配器在NAT模式下——成功。

2查看IP地址
我的dns是192.168.136.133
客戶端是192.168.136.134

3修改保護文件vi /etc/selinux/config
把中間的SELINUX=忘了
改爲SELINUX=disabled

4 關閉防火牆
systemctl stop firewalld
setenforce 0

5安裝bind
yum -y install bind*
(網絡適配器先在NAT模式下,裝好後再改到僅主機模式下)

6修改主配置文件vim /etc/named.conf
只需要改兩個地方
在這裏插入圖片描述

7修改 區域配置文件
在這裏插入圖片描述

8修改 正向解析文件 和 反向解析文件。
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
9. 全部配置文件編寫完成後可以使用以下命令對所有DNS相關的配置文件進行檢查,如有語法錯誤的地方,會依次指出。
在這裏插入圖片描述
10. 開啓服務systemctl start named

客戶機操作:

1.先修改保護文件
vi /etc/selinux/config
2.關閉防火牆
systemctl stop firewalld
setenforce 0
3.查看本機IP
Ifconfig
4.看一下客戶機和dns服務器能不能ping通
ping 192.168.136.133
5修改網卡文件
vim /etc/sysconfig/network-scripts/ifcfg-ens33
cat /etc/sysconfig/network-scripts/ifcfg-ens33
6重啓網卡
service network restart
7查看
cat /etc/resolv.conf
8用 nslookup進行驗證

我做了3遍但是都是正向解析成功,反向失敗,搜了很多也和同學討論但是都未能解決。
第一遍:
在這裏插入圖片描述

第二遍:

在這裏插入圖片描述

在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章