DNS的簡單介紹
DNS 是計算機域名系統 (Domain Name System 或Domain Name Service) 的縮寫,它是由解析器和域名服務器組成的。域名服務器是指保存有該網絡中所有主機的域名和對應IP地址,並具有將域名轉換爲IP地址功能的服務器。其中域名必須對應一個IP地址,而IP地址不一定有域名。域名系統採用類似目錄樹的等級結構。域名服務器爲客戶機/服務器模式中的服務器方,它主要有兩種形式:主服務器和轉發服務器。將域名映射爲IP地址的過程就稱爲“域名解析”。在Internet上域名與IP地址之間是一對一(或者多對一)的,也可採用DNS輪循實現一對多,域名雖然便於人們記憶,但機器之間只認IP地址,它們之間的轉換工作稱爲域名解析,域名解析需要由專門的域名解析服務器來完成,DNS就是進行域名解析的服務器。DNS 命名用於 Internet的 TCP/IP網絡中,通過用戶友好的名稱查找計算機和服務。當用戶在應用程序中輸入 DNS 名稱時,DNS 服務可以將此名稱解析爲與之相關的其他信息,如 IP 地址。因爲,你在上網時輸入的網址,是通過域名解析系統解析找到了相對應的IP地址,這樣才能上網。其實,域名的最終指向是IP。(摘自百度)
DNS服務器的工作原理:
DNS服務器所提供的服務是完成將主機名和域名轉換爲IP地址的工作。爲什麼需要將主機名和域名轉換爲IP地址的工作呢?這是因爲,當網絡上的一臺客戶機訪問某一服務器上的資源時,用戶在瀏覽器地址欄中輸入的是便於識記的主機名和域名....
如果查詢的名稱沒有區域信息,則服務器檢查它能否通過本地緩存的先前查詢信息來解析名稱。如果從中發現匹配的信息,則服務器使用它應答查詢。接着,如果首選服務器可使用來自其緩存的肯定匹配響應來應答發出請求的客戶機,則此次查詢完成。
如果查詢名稱在首選服務器中未發現來自緩存或區域信息的匹配應答,則查詢過程可繼續進行,使用遞歸來完全解析名稱,包括來自其他 DNS 服務器的支持,以幫助解析名稱。在默認情況下,DNS 客戶服務要求服務器在返回應答前使用遞歸過程來代表客戶機完全解析名稱。在大多數情況下,DNS 服務器的默認配置支持遞歸過程,如下圖所示
DNS域名解析
DNS的解析過程:
第一步:客戶機提出域名解析請求,並將該請求發送給本地域名服務器。
第二步:當本地域名服務器收到請求後,就先查詢本地緩存,如果有該紀錄項,則本地域名服務器就直接把查詢結果返回。
第三步:如果本地緩存中沒該紀錄,則本地域名服務器就直接把請求發給根域名服務器,然後根域名服務器再返回給本地域名服務器一個所查詢域(根 子域)主域名服務器地址。
第四步:本地服務器再向第一步返回該域名服務器發送請求,然後接受請求服務器查詢自己緩存,如果沒該紀錄,則返回相關下級域名服務器地址。
第五步:重複第四步,直到找到正確紀錄。
第六步:本地域名服務器把返回 結果保存到緩存,以備下一次使用,同時還將結果返回給客戶機。
DNS服務器類型
主DNS服務器:用於記錄DNS數據
輔助DNS服務器:是主DNS記錄的副本
cache-only 不負責任何一個區域,只用作緩存
存根服務器 存放某一區域的DNS服務器指向
DNS的查詢方式
1.遞歸查詢:也就是DNS客戶端送出查詢要求後,如果DNS服務器內沒有需要的數據,則DNS服務器會代替客戶端向其他的DNS服務順查詢。
2.循環查詢:一般DNS服務器與DNS服務器之間的查詢屬於這種查詢方式。當第一臺DNS服務器在向第2臺DNS服務器提出查詢要求後,如果第2臺DNS服務器內沒有所需要的數據,則它會提供第3臺DNS服務器的IP地址給第1臺
3.反向查詢:可以讓DNS客戶端利用IP地址查詢其主機名稱。
DNS配置所需要了解的知識
/var/named/chroot DNS根目錄
/var/named/chroot/etc DNS服務器的配置文件
示例一:
[root@localhost etc]# ls
localtime named.conf rndc.key
named.caching-nameserver.conf named.rfc1912.zones
/var/named/chroot/var/named 區域文件
示例二:
[root@localhost named]# ls
localdomain.zone named.broadcast named.ip6.local named.zero
data localhost.zone named.ca named.local slaves
/var/named/chroot (DNS根目錄)
/var/named/chroot/etc/ (DNS服務器的配置文件)
/var/named/chroot/var/named/ (區域文件)
案例一:
如圖:不同網關的PC通過DNS服務器訪問www.abc.com
需要安裝的包有
第一步 安裝rpm -ivh 服務包
rpm -ivh caching -nameserver-9.3.6-4.pl.e15.i386.rpm
cd /var/named/chroot/etc/
cp -p named.caching -nameserver.conf named.conf
第二步 配置dns服務的主配置文件
在目錄/var/named/chroot/etc下cp -p named.caching-nameserver.conf named.conf
第三步 配置服務的區域文件 修改區域聲明
在目錄 /var/named/chroot/etc下
/var/named/chroot/etc
[root@server etc]# vim named.rfc1912.zones
在目錄 /var/named/chroot/var/named/ 下進行配置
/var/named/chroot/var/named
[root@server named]# cp -p localhost.zone abc.com.db
[root@server named]# cp -p localhost.zone bj.abc.com.db
[root@server named]# vim abc.com.db
第二修改SOA ,服務器名 並添加服務器
第三 配置轉發器
綜上所看,完成了解析。
案例二:
一. DNS服務器的配置:
修改主配置文件(/var/named/chroot/etc/named.conf):
二.添加兩個數據文件:
2.vim ca.com.db 3.vim ca.com.db1 $TTL 86400 @ IN SOA ns.ca.com. root ( 43 ; serial (d. adams) 3H ; refresh 15M ; retry 1W ; expiry 1D ) ; minimum @ IN NS ns.ca.com. ns IN A 192.168.100.25 www IN A 192.168.200.1 ftp IN A 192.168.100.2 在linux2中 1.vim /etc/sysctl.conf # Controls IP packet forwarding net.ipv4.ip_forward = 1 3.sysctl -p 4.iptables -t nat -A PREROUTING -d 192.168.2.100 -p udp --dport 53 -j DNAT --to 192.168.101.100 在PC中 1.ipconfig /flushdns 三 測試。 1.內網測試: 2.外網測試: