1. 程式人生 > >DNS伺服器【Linux-shell】

DNS伺服器【Linux-shell】

DNS伺服器

    DNS伺服器是常用網路服務之一,當用戶利用計算機訪問網際網路之前,一個重要步驟是需要指定所要使用的DNS伺服器,它把使用者所請求的網際網路地址中的主機名解析成為IP地址。
    # http://www.example.com/index.html----->www.example.com:主機名;example.com:域名;index.html:www.example.com主機上的檔案。
    DNS即域名系統。對於計算機網路中的一臺主機來說,它往往並非一個孤立的存在而是屬於某個主機的集合,這個主機的集合就可稱為域。為了標識不同的主機集合,有必要賦予他們名字,即是域名的由來。正如現實世界中的許多事物都可以組織成為一個具有樹狀結構的系統一樣,同樣可以對網際網路上的每個域賦予一個特定的域名,並將這些域名組織成為具有樹狀結構的系統,該系統即:域名系統。

    BIND軟體(網際網路中使用最為廣泛的DNS伺服器軟體)的安裝:
    rpm -qa | grep bind #檢查是否已經安裝BIND軟體
sudo yum install bind #若先前未安裝,則開始安裝 sudo yum install bind-chroot #加強BIND伺服器安全性的軟體 #bind-chroot----->訪問檔案系統預設限制在/var/named/chroot目錄中。如,/etc/named.conf---->即/var/named/chroot/etc/named.conf tail /etc/sysconfig/named #bind-chroot設定檔案 mount #檢視繫結的目錄 ---------------------------------------------------------------------------------------------------------------------------------- 守護程序named: sudo service named start #啟動BIND的守護程序
#cat /var/log/messages #檢視日誌 netstat -lnp | grep named #檢視named程序監聽的埠 #埠: # 53埠:提供主機名查詢服務的埠; # 953埠:DNS伺服器監聽該埠並接受傳送過來的控制命令,是為了管理員能利用(rndc)程式遠端控制DNS伺服器而開放的埠。 iptables -L INPUT -------------------------------------------------------------------------------------------------------------------------------- 測試命令:【dig,nslookup,host等】 dig 【@DNS伺服器】 【主機名/域名】 【查詢型別選項】:查詢DNS伺服器並獲取相關結果 #【@DNS伺服器】通過【@IP地址指定】
查詢型別選項: -t:後加資源記錄型別引數,指定所要查詢的資源記錄型別。 -x:後加IP地址引數,用於反向查詢(即:以IP地址查詢對應主機名) #dig @208.67.222.222 www.kernel.org #208.67.222.222--免費公眾伺服器 --------------------------------------------------------------------------- 區與區檔案: 為了更有效地管理DNS,可將DNS的樹狀結構按區來劃分,由被授權的管理者負責管理一個區中的域名。區可以包含一個或多個域,一種常見的簡化情形是將單獨的一個域看作是一個區。 BIND軟體通過區檔案來記錄一個區中主機名與IP地址之間的對映關係。由主機名解析得到IP地址的過程被稱為正向解析,反之根據IP地址解析得到主機名便稱為反向解析,正向解析和反向解析結果分別記錄在正向區檔案和反向區檔案。 每個DNS伺服器在/var/named目錄中存放了關於一個名為named.ca檔案,它指出了根區伺服器的IP地址------>DNS伺服器在遇到自己無法解析的查詢要求時,將查詢要求轉發給根區的伺服器。獲取最新named.ca------>http://wwww.internic.net/domain/named.root cd /car/named cat named.ca ----------------------------------------------------------------------------------------------------------------- 資源記錄: 各欄位: 1)Name名字:表示這條記錄屬於改名字所指定的擁有者。 2)TTL記錄的生存期:表示當客戶端持有該記錄的(單位秒)時間超過了記錄的生存期時,應該丟棄該記錄並重新查詢。 3)記錄種類:表示記錄所屬的名字空間,該欄位一般記為IN,表示Internet 4)記錄型別:記錄資料所儲存的資訊型別,以下標誌: A:IPv4地址 AAAA:IPv6地址 NS:DNS伺服器的主機名 SOA:授權資訊的起始標誌, MX:郵件伺服器的主機名 CNAME:關於名字欄位的另一個表示,別名。 PTR:在反向區檔案中,即後面的記錄資料為IP地址所對應的主機名。 5)記錄資料:IP地址、DNS伺服器主機名等資訊。 域名---->用FQDN完全限定域名錶示(在資源記錄中) NS型別的資源記錄: dig -t NS kernel.org ![](http://i.imgur.com/IxBgf5u.png) dig -t A ns41.constellix.net #查詢 ns41.constellix.net對應的IP ![](http://i.imgur.com/xcA6xRs.png) dig @96.45.81.1 www.kernel.org ![](http://i.imgur.com/9DH9pV3.png) SOA:查詢授權資訊 dig -t SOA kernel.org #授權資訊包括:DNS主伺服器的主機名,域管理員的電子郵件地址,序列號,更新時間,重試時間,過期時間,快取時間。 ------------------------------------------------------------------------------------------------------- 正向區檔案與反向區檔案: 均儲存在/var/named目錄中,為便於辨認,可按"named.域名"的格式命名正向區檔案,而按"named.IP網段"的格式來命名反向區檔案。這兩種區檔案的內容實際是一組資源記錄,區檔案以;分號做註釋,必須包含SOA型別的資源記錄,可在開始處設定生存期等預設值。利用/var/named目錄中的區檔案模板的named.empty檔案建立區檔案。 正向區檔案例項:【named.example.com】-----> $TTL 86400 @ IN SOA dns.example.com. root.example.com.( 1;序列號 28800;更新時間 14400;重試時間 3600000;過期時間 96400;資源記錄的生存期 ) @ IN NS dns.example.com. dns.example.com. IN A 192.168.126.128 ftp IN A 192.168.126.130 反向區檔案例項:【named.192.168.126】-------------> $TTL 86400 @ IN SOA dns.example.com. root.example.com.( 1;序列號 28800;更新時間 14400;重試時間 3600000;過期時間 96400;資源記錄的生存期 ) @ IN NS dns.example.com. 128 IN PTR dns.example.com. 130 IN PTR ftp.example.com 設定關於域example.com的zone語句。named.con檔案加入:----> zone "example.com" IN{ type master; file "named.example.com"; }; zone "126.168.192.in-addr.arpa" IN{ type master; file "named.192.168.126"; };

補充: