DNS伺服器
應用到的軟體bind
遞歸查詢:一般客戶機和伺服器之間屬于遞歸查詢,即當客戶機向DNS伺服器送出請求,若DNS不能解析,則會向其他的DNS伺服器發出查詢請求,得到查詢結果後轉交給客戶機。
疊代查詢:一般DNS伺服器之間屬于疊代查詢
階層式管理主機名對應IP的系統,稱為Berkeley Internet Name Domain (BIND)
域名系統(Domain Name System,DNS)
DNS是一種網際網路通信協定名稱,BIND則是提供DNS服務的軟體。
域名系統伺服器(named)
域名系統解析庫
域名系統伺服器調試程式
區分domain name 和host name
例如www.junxi.com www是主機名,junxi.com 是域名,也可以将ftp 伺服器,mail伺服器內建在一台linux主機上。
在整個DNS伺服器最上方一定是 . (小數點)這個DNS伺服器(稱為root),有.com、.edu、.org、.net這種特殊區域,以及以國家為分類的第二層主機名,這兩者稱為Top Level Domains(TLDs)。
通過DNS查詢主機名IP的流程
由于DNS是以樹形目錄的形态進行主機名管理,是以每一台DNS伺服器都僅管理自己的下一層主機名的轉譯,當在浏覽器輸入http://www.ksu.edu.tw,在linux下面利用/etc/resolv.conf所提供的DNS的IP進行連接配接查詢。
1.收到使用者查詢請求,檢視本身有無記錄,若無就向.(root)查詢
2.向最頂層.(root)查詢
3.向第二層 .tw 伺服器查詢
4.向第三層 .edu.tw 伺服器查詢
5.向第四層 .ksu.edu.tw伺服器查詢
6.記錄緩存并回報給使用者
DNS使用53端口
通常DNS是以UDP這個較快的資料傳輸協定來檢視,但是萬一沒有辦法檢視完整的資訊,就會再次以TCP這個協定來重新查詢。
是以啟動DNS的daemon(守護程序)的時候,會同時啟動TCP和UDP的port53,是以防火牆也要同時放行TCP.UDP port53。
DNS 中記錄的資訊一個是伺服器所在的NS(Name Server)标志,另一個是記錄主機名對應的A(Address)标志。
DNS資料庫的記錄:正解、反解、Zone的意義
從主機名查詢到IP的流程:正解
從IP泛解析到主機名的流程:反解
不管是正解還是反解,每個域的記錄就是一個區域(zone)
注意每一台DNS伺服器可以管理多個區域,不管是正解還是反解
正解的設定權限以及DNS正解Zone記錄的标志
1.SOA:就是開始驗證(Start of Authority(授權))的縮寫
2.NS:就是名稱伺服器(Name Server)的縮寫,後面記錄的資料是DNS伺服器
3.A:就是位址,後面對應的是IP
反解Zone : PTR(PoinTeR)的縮寫,後面記錄的是反解到的主機名
主機名對應IP的方法有兩種
1.早期寫入/etc/hosts,這個是最早的Hostname對應的IP的檔案
2./etc/resolv.conf,就是ISP的DNS記錄處
3./etc/nsswitch.conf 決定使用/etc/hosts 還是/etc/resolv.conf
DNS伺服器IP的值可以設定多個,因為當第一台DNS當機時,用戶端可以使用第二台。
DNS的正解、反解查詢指令 :host .nslookup.dig
host is a simple utility/實用/ for performing DNS lookups.
host www.junxi.com 列出主機IP
host -a www.junxi.com 列出該主機所有的相關資訊,包括IP ,TTL 與排錯資訊
host -l www.junxi.com 如果www.junxi.com允許allow-transfer ,則列出該domain 所管理的所有主機名對應的資料
nslookup
1.可以直接在nslookup後面加待查詢的主機名,或者IP,[server]可有可無
2.如果在nslookup 後面沒有加上任何主機名或者IP,則進入nslookup 的查詢功能,在nslookup的查詢功能中,可以輸入set type=any ;set type=mx 進行特殊查詢
dig [options] FQDN [@server]
首先FQDN 是Fully Qualified Domain Name 即完整的域名,例如一台主機的hostname 是www,域字尾domain name 是example.com ,那麼主機的FQDN應該是www.example.com
@server 如果不以/etc/resolv.conf 的設定作為DNS查詢,可以在此處填入其他IP
+trace :就是從 . 開始追蹤
-t type :查詢的資料主要有MX,NS,SOA
-x :查詢反解資訊
dig www.junxi.com
QUESTION(問題):顯示所要查詢的内容(A Address)
ANSWER(回答) : 依據剛剛的QUESTION去查詢所得到的結果,回答為IP
AUTHORITY(驗證):可以知道www.junxi.com是哪台DNS伺服器所提供的答案
實驗步驟:
1.更改配置檔案/etc/named.conf 改為any
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
2. 在/etc/named.rfc1912.zones 添加正向方向zone
zone "junxi.com" IN {
type master;
file "junxi.com.zone";
};
zone "200.168.192.in-addr.arpa" IN {
file "junxi.com";
3.複制local檔案到junxi.com.zone ,反向寫入junxi.com
/var/named
編輯junxi.com.zone
NS @
A 192.168.200.50
www A 192.168.200.50
ftp A 192.168.200.50
mail A 192.168.200.50
@ MX 10 mail
www2 CNAME www
編輯junxi.com
NS @
PTR junxi.com.
50 PTR www.junxi.com.
50 PTR ftp.junxi.com.
50 PTR mail.junxi.com.(注意最後有個.代表根)
4.将組root 換為named
chown root:named junxi.com.zone
chown root:named junxi.com
5.啟動apache
/etc/init.d/httpd start
在apache的家目錄/var/www下面建立/html/index.html
編輯/etc/sysconfig/network-scripts/ifcfg-br0中寫入
DNS1=192.168.200.50
然後/etc/init.d/network force-reload
這樣 host -t a www.junxi.com 解析為本機作為伺服器IP
添加windows2003元件IIS,建立站點
在windows2003中預設站點停止,建立站點,寫入IP,選擇目錄,
要是分離使用者檔案夾,建立public 建立對應使用者的檔案,添加使用者,在計算機管理->使用者,
建立站點,隔離使用者,檔案夾右擊屬性給不同使用者不同權限,2014-07-2310:04:28
cache-only DNS Server
配置 /etc/named.conf
注意: 注釋資料放在兩條斜線“//”後面接的資料
每個段落結尾都需要“;”作為結尾
預設listen-on port 53 { 127.0.0.1; };監聽這台主機上面的哪個網絡接口
listen-on port 53 { any; };
listen-on-v6 port 53 { ::1; };
directory "/var/named";
dump-file "/var/named/data/cache_dump.db";
statistics-file "/var/named/data/named_stats.txt";
memstatistics-file "/var/named/data/named_mem_stats.txt";
allow-query { any; };
recursion yes;
清除DNS緩存 windows ipconfig/flushdns
linux 是用DNS緩存程式NSCD(name service cache daemon)負責管理DNS緩存 /etc/init.d/nscd restart
配置輔助DNS伺服器
輔助DNS是從主DNS複制來的,安裝bind.x86_64
然後編輯
vi /etc/named/named.frc1912.zones
type slave;
file "slaves/junxi.com.zone";
masters { 192.168.200.50; };
隻要啟動輔助DNS區域配置檔案就會從主DNS伺服器複制過來到/var/named/slaves 中junxi.com.zone
修改IP 中DNS1=指主DNS,重新開機
DNS 輪詢
vim /var/named.junxi.com.zone
一個域名兩個IP(失敗)
需要在主DNS伺服器/var/named/junxi.com.zone中
A 192.168.200.50
www 0 A 192.168.200.50
0 A 192.168.200.56
ftp A 192.168.200.50
mail A 192.168.200.50
@ MX 10 mail
vim /var/www/html/index.html
curl 指令模式下的浏覽器curl www.junxi.com
ping www.junxi.com
windows ipconfig /flushdns
vim /var/named/junxi.com.zone 把緩存屏掉,純輪詢
14:41:35
排錯工具named-checkconf /etc/named.rfc1912.zones
named-checkzone junxi.com
RNDC +SSH加密