摘 要 DNS是因特網上主機之間相互通信的基礎,它提供了一個域名和IP地址之間的映射關系.在熟練掌握DNS的工作原理的前提下,合理規劃并完成相關網段的DNS服務器,對實現各服務器的正常查詢以及管理服務器來說非常重要。
【關鍵詞】DNS Redhat BIND
近年來,隨著互聯網的普及和發展,網絡用戶數目不斷攀升,而普通用戶的每一次網絡訪問都需通過域名解析系統來完成,域名解析的準確程度和響應速度影響著整個網絡服務質量。
1 DNS原理闡述
DNS(Domain Name System,域名系統),是因特網上作為域名和IP地址相互映射的一個分布式數據庫,能夠使用戶更方便的訪問互聯網,而不用去記住能夠被機器直接讀取的IP數串。DNS協議運行在UDP協議之上(當請求大于512字節時,使用TCP協議),使用端口號53。
域名空間分為若干層次:根域(頂級域)和次級域,呈樹形結構,因此域名空間也被稱為域名樹。其基本解析過程如下所示:
本地緩存dns --- 本地dns ---根域dns --- 二級域名服務器 --- 三級域名服務器--- 四級域名服務器---記錄緩存并匯報用戶。
2 搭建環境概述
此次搭建服務的使用的操作系統為Redhat(紅帽)6.5企業版,相對于Windows Server操作系統,Linux操作系統具有穩定性高、投入和維護成本低、保密性高以及完整的備份機制等特點。因此,Linux操作系統較為適合服務器系統搭建。
配置DNS系統的主要軟件為BIND,另外還需安裝bind-chroot(將某個目錄指定為BIND程序的根目錄。Redhat6.5默認將BIND鎖在/var/named/chroot中)。
3 DNS配置文件詳解
Bind軟件的主要配置文件為/etc/named.conf/,在此將其主要條目做解釋說明如下:
options {
listen-on port 53 { 127.0.0.1; }; //監聽端口如果想監聽全部網卡{ any; }
listen-on-v6 port 53 { ::1; }; //ipv6監聽端口,忽略
directory "/var/named"; // 存放區配置文件的目錄
allow-query { localhost; }; //允許哪些客戶端進行查詢;
recursion yes; //允許將自己視為客戶端的一種查詢模式
};
zone "." IN { //定義一個區,是根域
type hint; //區域的類型 hint:點 表示是根域
file "named.ca"; //區配置文件的名字
};
4 基本服務搭建
基本服務分別為:正向解析——由域名到IP;反向解析——由IP到域名
4.1 正向解析設置與測試
# vim /etc/named.conf //添加區域配置文件
Zone “sina.com” IN {type master; file “sina.com.zone”;}
# cd /var/named/
# cp -p named.localhost sina.com.zone //-p 帶屬性拷貝文件,非常重要,如果不加選項-p,則復制后的文件需要用chown改變屬組為named,否則DNS服務沒有權限讀取該區域配置文件。
#vim sina.com.zone:
IN NS master.sina.com.//指定域名服務器
Master.sina.com IN A 192.168.1.242//指定域名服務器IP
客戶端測試結果示例(客戶端測試之前,必須在/etc/resolv.conf內添加DNS服務器的地址,格式為:nameserver 192.168.1.242):
# host master.sina.com
master.sina.com has address 192.168.1.244
4.2 反向解析設置與測試
# vim /etc/named.conf
Zone “1.168.192.in-addr.arpa” IN {type master; file “1.168.192.rev”;}
# vim /var/named/1.168.192.rev
IN NS master.sina.com
242 IN PTR master.sina.com
客戶端測試結果示例:
# host 192.168.1.242
242.1.168.192.in-addr.arpa domain name pointer master.sina.com.
5 轉發DNS搭建實驗
假設公司里原有的DNS服務器(192.168.1.242)不能直接訪問外網的DNS服務器,但是公司里有一個節點(192.168.1.246)可以訪問外網的DNS,那么只能通過該節點轉發請求。
相關配置如下:
(1)原DNS服務器/etc/named.conf添加如下代碼:
allow-transfer { 192.168.1.246; }; //允許誰轉發,寫的是轉發服務器的IP地址
(2)轉發節點配置如下:
安裝BIND軟件并修改主配置文件/etc/named.conf添加如下代碼:
forwarders { 192.168.1.242; }; //真正的dns服務器的IP,把請求轉發給誰
(3)客戶端驗證如下:
# nslookup master.sina.com
Server: 192.168.1.246
Address: 192.168.1.246#53
Non-authoritative answer:
Name: master.sina.com
Address: 192.168.1.242
6 結束語
Linux以其穩定的性能和開源的優越性正得到日益廣泛的應用, Redhat應該說是在國內使用人群最多的Linux版本,而DNS服務則直接關系到整個網絡的正常使用。因此在Redha環境下搭建DNS服務,有著較高的實用價值和非常廣泛的應用空間。
參考文獻
[1]林天峰,譚志彬.linux服務器架設指南(第二版)[M].北京:清華大學出版社,2016.
[2]鳥哥.鳥哥的linux私房菜——服務器架設篇(第三版)[M].北京:機械工業出版社,2016.
作者簡介
孫佩娟(1984-),女,湖北省武漢市人。講師。研究生。主要研究方向為云計算。
作者單位
武漢傳媒學院傳媒技術學院 湖北省武漢市 430205endprint