DNS的概念: 即域名系統,它是一種將ip地址轉換成對應的主機名或將主機名轉換成與之相對應ip地址的一種服務,其中通過域名解析出ip地址的叫做正向解析,通過ip地址解析出域名的叫做反向解析。
下面對DNS的工作流程及原理進行簡要說明
DNS的查詢流程:先看本機的/etc/hosts;如果查不到,就看本地的DNS緩存服務器;在查不到就查找所屬域的首選DNS服務器;最後查不到的話就向根發送請求,進行遞歸+迭代查詢。
DNS 的查詢規則:遞歸+迭代;遞歸即用戶向DNS Server發出解析請求,DNS服務器不論是自身直接解析還是無法解析,總會由其向用戶返回一個結果;迭代即接收 client解析請求的DNS Server,若其能夠解析則直接返回結果,若其不能解析將把解析請求交給其他DNS服務器,而不是自己親自將解析過程完成。
DNS記錄的類型:
A:主機域名向ip地址轉換的記錄;
NS:代表域內的dns服務器;
MX:代表域內的郵件服務器;
CNAME:域名的別名;
SOA:用於標示域內主DNS服務器。
爲了便於大家理解,我在下面做幾個案例,供大家參考
DNS案例1《簡單的域名解析》
域名 abc.com
DNS服務器 192.168.1.249
www 1.1.1.1
ftp 2.2.2.2
首先安裝軟件bind bind-chroot bind-utils
[root@zhao Packages]# yum install bindbind-chroot bind-utils //安裝三個軟件
找到DNS的根目錄下的配置目錄,並且查看裏面文件,然後重啓DNS服務,會發現配置文件裏面多出幾個文件
[root@zhao ~]# cd /var/named/chroot/etc/
啓動後的配置文件
生成密鑰
[root@zhao etc]# rndc-confgen –a //產生密鑰
配置named.conf
[root@zhao etc]# vim named.conf //編輯配置文件
完成保存退出
然後編輯named.rfc1912.zones
[root@zhao etc]# vim named.rfc1912.zones
保存退出,然後找到配置文件中的rndc.key文件,改變所屬組爲named,並且賦予可讀權限
[root@zhao etc]# chgrp named rndc.key //改變所屬組
[root@zhao etc]# chmod g+r rndc.key //改變同組成員具有可讀權限
以上完成以後執行語法檢測
最後來/var/named/chroot/var/named/文件中編寫區域文件
[root@zhao named]# cp -p named.localhostabc.com.zone //拷貝模板
[root@zhao named]# vim abc.com.zone //編輯區域文件
保存退出
重啓服務
[root@zhao named]# rndc reload //刷新數據
然後另外打開一臺電腦,並且兩臺電腦之間可以通信,把DNS指向改成192.168.1.249,進行域名解析
DNS案例2《主輔同步》
域名 abc.com
主DNS服務器 192.168.1.249
輔DNS服務器 192.168.1.248
www 1.1.1.1
ftp 2.2.2.2
主DNS服務器配置基本不變,輔助服務器就是改變個地方,首先主配置文件named.conf
其餘配置和主DNS服務一樣,然後在主DNS的abc.com.zone區域文件裏面增加一個mail爲3.3.3.3,序列號增加一,然後rndc reload更新數據,在輔助服務器上測試,可以發現數據已經同步
測試結果
完成
案例3《授權與轉發》
父域對子域授權,子域對父域轉發,拓撲圖如下
修改192.168.1.249服務[root@zhao ~]# vim /var/named/chroot/etc/named.rfc1912.zones
[root@zhao ~]# cd /var/named/chroot/var/named/ //進到這個文件下,生成a.abc.com的子域
[root@zhao named]# cp -p named.localhost a.abc.com
[root@zhao named]# vim a.abc.com.zone //編輯子域
[root@zhao named]# vim abc.com.zone //編輯父域對子域授權
配置192.168.1.248服務器
[root@zcl etc]# vim named.rfc1912.zones
[root@zcl etc]# vim named.conf //配置文件,實現轉發
[root@zcl named]# cp -p named.localhost b.abc.com.zone
[root@zcl named]# vim b.abc.com.zone //編輯區域文件
案例4《視圖》
從拓撲圖可知從lan訪問abc.com和從Internet訪問abc.com解析出不同的DNS
服務器在這裏我們採用案例1,只需修改一些主配置文件
編輯主配置文件named.conf
生成區域文件
[root@zhao named]# cp -p named.localhost abc.com.lan
[root@zhao named]# cp -p named.localhost abc.com.int
分別編輯這兩個區域文件
完成後保存退出
重啓服務