linux之dns簡單介紹及配置

一丶定義

1.dns是什麼

DNS 是域名系統 (Domain Name System) 的縮寫,它是由解析器和域名服務器組成的。域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換爲IP地址功能的服務器。

2.dns域名結構

linux之dns簡單介紹及配置
根域
一級域名:Top Level Domain: tld,com, edu, mil, gov, net, org, int,arpa
二級域名
三級域名
最多127級域名

3.dns解析流程

DNS是應用層協議,事實上他是爲其他應用層協議工作的,包括不限於HTTP和SMTP以及FTP,用於將用戶提供的主機名解析爲ip地址。具體過程如下:
①用戶主機上運行着DNS的客戶端,就是我們的PC機或者手機客戶端運行着DNS客戶端了
②瀏覽器將接收到的url中抽取出域名字段,就是訪問的主機名,比如http://www.baidu.com/, 並將這個主機名傳送給DNS應用的客戶端
③DNS客戶機端向DNS服務器端發送一份查詢報文,報文中包含着要訪問的主機名字段
④該DNS客戶機最終會收到一份回答報文,其中包含有該主機名對應的IP地址
⑤一旦該瀏覽器收到來自DNS的IP地址,就可以向該IP地址定位的HTTP服務器發起TCP連接

一次完整的查詢請求經過的流程:
Client -->hosts文件 -->DNS Service Local Cache --> DNS Server (recursion) --> Server Cache --> iteration(迭代) --> 根--> 頂級域名DNS-->二級域名DNS…

4.dns服務器類型

1)DNS服務器的類型:
主DNS服務器:管理和維護所負責解析的域內解析庫的服務器
從DNS服務器:從主服務器或從服務器“複製”(區域傳輸)解析庫副本
緩存DNS服務器(轉發器)

----序列號:解析庫版本號,主服務器解析庫變化時,其序列遞增
----刷新時間間隔:從服務器從主服務器請求同步解析的時間間隔
----重試時間間隔:從服務器請求同步失敗時,再次嘗試時間間隔
----過期時長:從服務器聯繫不到主服務器時,多久後停止服務
“通知”機制:主服務器解析庫發生變化時,會主動通知從服務器

二丶dns設置

部署lzh.com 正向解析記錄
首先確定自己是否安裝軟件包,若沒有請先安裝
~]# yum install bind
1.配置主配置文件
~]# vim /etc/named.conf
listen-on port 53 { localhost; };
allow-query { any; };

include "/etc/named.lzh.zones";

2.編制區域配置文件
~]# cp -p /etc/named.rfc1912.zones /etc/named.lzh.zones

~]# vim /etc/named.lzh.zones
zone "lzh.com" IN {
type master;
file "lzh.com.zone";
};

4.解析庫文件
[root@centos7 ~]# cd /var/named/
[root@centos7 named]# cp -p named.localhost lzh.com.zone
[root@centos7 named]# vim lzh.com.zone
$TTL 1D
@ 10D IN SOA @ admin (
------------------------------------- 0 ; serial
------------------------------------- 1D ; refresh
------------------------------------- 1H ; retry
------------------------------------- 1W ; expire
-------------------------------------- 3H ) ; minimum
------- NS ------ ns1.lzh.com.
ns1 -- A -------- 192.168.123.7
@ ---- A -------- 10.12.11.1
centos6 -- A -- 192.168.123.100
www -- CNAME -- centos6
mail ------- A ---- 2.2.2.2
*.lzh.com. -- A --- 8.8.8.9

檢查語法是否錯誤
在centos7中
~ ]# named-checkconf lzh.com /var/named/lzh.com.zone
zone lzh.com/IN: loaded serial 0
OK
在centos6中也可以使用
~]# /etc/init.d/named configtest

重新緩存dns
~]# rndc reload
server reload successful

~]# systemctl reload named
查詢
~]# dig www.magedu.com @192.168.123.7

三丶測試命令dig

1.用法

dig [-t type] name [@SERVER] [query options]
dig只用於測試dns系統,不會查詢hosts文件進行解析

2.查詢選項:

+[no]trace:跟蹤解析過程 : dig +trace magedu.com
+[no]recurse:進行遞歸解析
測試反向解析:
dig -x IP = dig –t ptr reverseip.in-addr.arpa
模擬區域傳送:
dig -t axfr ZONE_NAME @SERVER
dig -t axfr magedu.com @10.10.10.11
dig –t axfr 100.1.10.in-addr.arpa @172.16.1.1
dig -t NS . @114.114.114.114
dig -t NS . @a.root-servers.net

四丶重載rndc命令

1.用法

rndc --> rndc (953/tcp)
rndc COMMAND

2.COMMAND:

reload: 重載主配置文件和區域解析庫文件
reload zonename: 重載區域解析庫文件
retransfer zonename: 手動啓動區域傳送,而不管序列號是否增加
notify zonename: 重新對區域傳送發通知
reconfig: 重載主配置文件
querylog: 開啓或關閉查詢日誌文件/var/log/message
trace: 遞增debug一個級別
trace LEVEL: 指定使用的級別
notrace:將調試級別設置爲 0
flush:清空DNS服務器的所有緩存記錄

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