摘 要 DNS服務器是實現IP地址和域名之間轉換的服務器。在企業要上網訪問網頁,就必須搭建網站的服務器和域名解析的DNS服務器。主要講解如何利用Red Hat 7.0來構建DNS服務器。
關鍵詞 Linux;DNS服務器;IP地址;互聯網
中圖分類號:G712 文獻標識碼:B
文章編號:1671-489X(2019)08-0036-04
Construction of Enterprise DNS Server based on Linux Environ-
ment//ZHAO Xiuli
Abstract DNS server is a server that converts IP addresses and do-
main names. In order to access web pages on the Internet, companies
must build web site servers and DNS servers for domain name .This article mainly explains how to build DNS servers using Red hat 7.0.
Key words Linux; DNS server; IP addresses; internet
1 前言
互聯網新形勢下,信息化程度越來越高,隨著大數據、云計算、物聯網和人工智能等新技術的不斷涌現,網絡已經成為企業辦公不可缺少的工具,如何去構建一個安全、穩定、能夠滿足企業需求的DNS網絡服務器,已經成為社會的焦點。Linux作為網絡操作系統,較Window Server網絡操作系統有更好的安全性和穩定性。本文主要講如何利用Linux的Red Hat 7.0網絡操作系統搭建DNS主從服務器。
2 DNS服務器介紹
相對于由數字構成的IP地址,域名更容易被理解和記憶,人們通常更習慣通過域名的方式來訪問網絡中的資源,但是網絡中的計算機只能通過IP地址來識別對方身份。DNS實現IP地址和域名之間的轉換,是互聯網基礎設施的重要環節,為網民提供不間斷、穩定且快速的域名查詢服務,保證互聯網的正常運轉。DNS協議運行在UDP協議之上,使用端口號53,主要有三種類型的服務器,分別是主服務器、從服務器和緩存服務器。其中主服務器是主要用于管理域名和IP地址對應關系的真正服務器;從服務器幫助主服務器“打下手”,分散部署在各個國家、省市或地區,以便讓用戶就近查詢域名,從而減輕主服務器的壓力;緩存服務器不太常用,一般部署在企業內網的網關位置,用于加速用戶的域名查詢請求。
在執行用戶發起的域名查詢請求時,具有遞歸查詢和迭代查詢兩種方式。遞歸查詢是指DNS服務器在收到用戶發起的請求時,必須向用戶返回一個準確的查詢結果。如果DNS服務器本地沒有存儲與之對應的信息,則該服務器需要詢問其他服務器,并將返回的查詢結果提交給用戶。迭代查詢是指DNS服務器在收到用戶發起的請求時,并不直接回復查詢結果,而是告訴另一臺DNS服務器的地址,用戶再向這臺DNS服務器提交請求,這樣依次反復,直到返回查詢結果。但用戶向網絡指定的DNS發出域名請求時,通常情況不會由本地DNS服務器向上級DNS服務器發送迭代查詢請求,而是本地DNS服務器沒有要查詢的結果,才會向上一級DNS服務器發送迭代請求,直到獲得準確的查詢結果。
3 主DNS服務器搭建
在中小型企業中一般只要搭建一個DNS服務器即可,要配置主DNS服務器,首先需要安裝BIND服務,它是全球范圍內使用最廣泛、最安全且高效的域名解析服務程序。安裝BIND服務需要用的命令是yum install bind。若是沒有配置yum,需先配置yum文件。暗轉yum源文件的命令是先創建掛載的目錄mkdir /media/cdrom,再使用命令mount
/dev/cdrom /media/cdrom把鏡像文件掛載在這個目錄下,最后是vi /etc/yum.repos.d/文件名.repo,這個文件名能隨意起。添加如下幾行配置參數:
[文件名] //yum源的唯一標志,避免與其他倉庫沖突
Name= //yum軟件倉庫的名稱描述
Baseurl=file:///media/cdrom //提供方式
Enabled=1 //設置此源是否可用,0為禁用,1為啟用
Gpgcheck=0 //設置此源是否校驗文件,1為校驗,0為不校驗
其次,編輯域名解析服務程序的主配置文件。在Linux系統中,BIND服務程序的名稱為named。需要在超級用戶下用vi /etc/named.conf命令編輯域名解析服務程序的主配置文件,修改listen-on port 53所在行的地址為any,
即修改為listen-on port 53 {any;};,表示服務器上的所有IP地址均可提供DNS域名解析服務;修改allow-query
所在行的地址為any,即修改為allow-query {any;};,表示允許所有人對本服務器發送DNS查詢請求,修改完保存配置。這項修改完均使用ESC退出插入模式,使用:wq!保存修改。
在企業中,用戶輸入域名后就能訪問網頁,這是使用了DNS正向解析的工作模式。域名解析中主要分正向解析和反向解析,正向解析是指根據域名查找到對應的IP地址,也就是當用戶輸入一個域名后,BIND服務程序會自動進行查找,并將匹配的IP地址返給用戶,這是DNS最常用的工作模式。
1)正向解析配置。要實現DNS的正向解析功能,需要編輯區域配置文件,使用的命令是vi /etc/named.rfc1912.
zones。這個文件中已經默認有了一些解析參數,目的是讓用戶有個參考。可以把自己要添加的參數添加到區域配置文件最下面,也可以將原有信息全部刪除,添加自己的域名解析信息。具體添加如下配置參數:
Zone “區域名稱” IN { //lpszy.cn是區域名
Type master; //master是指主DNS服務器
File “正向解析的數據配置文件名”; //一般常用的格式是域名.zone
Allow-updata { none; }; //定義允許哪些客戶機動態更新解析信息
Allow-tranfer {從DNS服務器的IP地址}; //如果有從DNS服務器,允許它同步DNS文件;如果只有一個DNS服務器,不需要這條命令
};
編輯了區域配置文件后,就需要編輯數據配置文件了。數據配置文件都保存在/var/named下。上面剛建立的數據配置文件是空的,需要復制一份正向解析的模板文件。具體操作如下:
Cd /var/named
Cp -a named.localhost正向解析的區域文件名 //-a參數可以保留原始文件的所有者、所屬組、權限等屬性
接下來就是編輯數據配置文件,具體操作如下:
Vi 正向解析的數據配置文件名
$TTL 1D //生存周期為一天
@ IN SOA區域名稱. 域名管理員的郵箱地址. (
0;serial //更新序列號
1D;refresh //更新時間
1H;retry //重試延時
1W;expire //失效時間
3H);minimum //無效解析記錄的緩存時間
NS ns.區域名稱. //域名服務器的記錄
Ns IN A 域名服務器的IP地址 //域名服務器地址記錄
主機名 IN A 主機名對應的IP地址 //實現解析的地址記錄,表示主機名和IP地址的對應關系
2)反向解析的配置。編輯區域配置文件vi /etc/named.rfc1912.zones,添加如下配置參數:
Zone “網絡號.in-addr.arpa” IN {
Type master ; //master是指主DNS服務器
File “反向解析的數據配置文件名”; //一般常用的格式是網絡號.zone
Allow-updata { none; }; //定義允許哪些客戶機動態更新解析信息
Allow-tranfer {從DNS服務器的IP地址}; //如果有從DNS服務器,允許它同步DNS文件;如果只有一個DNS服務器,不需要這條命令
};
Cd /var/named
Cp -a named.loopback 反向解析的區域文件名 //-a參數可以保留原始文件的所有者、所屬組、權限等屬性
編輯數據配置文件:
Vi 反向解析的數據配置文件名
$TTL 1D //生存周期為一天
@ IN SOA區域名稱. 域名管理員的郵箱地址. (
0;serial //更新序列號
1D;refresh //更新時間
1H;retry //重試延時
1W;expire //失效時間
3H);minimum //無效解析記錄的緩存時間
NS ns.區域名稱. //域名服務器的記錄
Ns A 域名服務器的IP地址 //域名服務器地址記錄
主機號 RTP 主機名.域名對應的IP地址 //指針記錄,表示IP地址和主機名的對應關系
退出保存后要重啟服務器,所用的命令是systemctl restart named。把Linux系統網卡中的DNS地址參數修改成本機的IP地址,就能夠進行域名解析了。
4 部署從DNS服務器
從DNS服務器從主DNS服務器上獲取指定的區域數據文件,起到備份解析記錄和負載均衡的作用。作為重要的互聯網基礎設施服務,保證DNS域名解析服務的正常運轉十分重要,在大企業中一般都部署從DNS服務器,這樣才能提供穩定、快速且不間斷的域名查詢服務。
從DNS服務器的搭建一般分為三步。
第一步:安裝BIND程序。
第二步:編輯區域配置文件。具體操作如下:
Vi /etc/named.rfc1912.zones
Zone “ 區域名稱 “ IN {
Type slave ; //slave是指從DNS服務器
Masters {主DNS服務器的IP地址};
File “slaves/lpszy.com.zone”; //把從主DNS拷貝過來的數據配置文件放在/var/named/slaves下
Materfile-format text; //防止拷貝過來的文件是亂碼
};
Zone “ 網絡號.in-addr.arpa “ IN {
Type slave; //slave是指從DNS服務器
Masters {主DNS服務器的IP地址};
File “slaves/反向解析的數據配置文件名”; //把從主DNS拷貝過來的數據配置文件放在/var/named/slaves下
Materfile-format text; //防止拷貝過來的文件是亂碼
};
第三步:退出保存后重啟服務器,這樣從DNS服務器就能正常工作了。
5 主從DNS服務器在企業中應用的配置案例
某企業要架設兩臺DNS服務器,一臺為主DNS,一臺為從DNS,負責lpszy.com域的域名解析工作。主DNS服務器的IP地址為192.168.20.10,從DNS服務器的IP地址為192.168.20.20。要求為企業以下域名實現正反向域名解析服務:
1)企業財務部所在的網址是cwb.lpszy.com,對應的IP地址是192.168.20.10;
2)企業技術部所在的網址是jsb.lpszy.com,對應的IP地址是192.168.20.20;
3)企業銷售部所在的網址是xsb.lpszy.com,對應的IP地址是192.168.20.30。
分析本企業需求是構建主從DNS服務器,下面分別搭建主從DNS服務器。
1)主DNS服務器。
①安裝BIND程序:
Yum install bind
②編輯主配置文件。修改以下兩個參數:
Vi /etc/named.conf
listen-on port 53 {any;};
allow-query {any;}
③編輯區域配置文件:
Vi /etc/named.rfc1912.zones
Zone “lpszy.com” IN {
Type master ;
File “lpszy.com.zone”;
Allow-updata { none; };
Allow-tranfer {192.168.20.20};
Zone “20.168.192.in-addr.arpa” IN {
Type master ;
File “192.168.10.zone”;
Allow-updata { none; };
Allow-tranfer {192.168.20.20};
};
④編輯數據配置文件。
正向解析配置:
Cd /var/named
Cp -a named.localhost lpszy.com.zone
Vi lpszy.com.zone
$TTL 1D
@ IN SOA lpszy.com. root.lpszy.com. (
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NS ns.lspzy.com.
Ns IN A 192.168.20.10
cwb IN A 192.168.20.10
jsb IN A 192.168.20.20
xsb IN A 192.168.20.30
反向解析配置:
Cd /var/named
Cp -a named.loopback 192.168.10.zone
Vi 192.168.10.zone
$TTL 1D
@ IN SOA lpszy.com. root.lpszy.com. (
0;serial
1D;refresh
1H;retry
1W;expire
3H);minimum
NS ns.lspzy.com.
Ns A 192.168.20.10
10 PTR cwb.lpszy.com
20 PTR jsb.lpszy.com
30 PTR xsb.lpszy.com
⑤重啟服務器systemctl restart named,檢驗是否能夠實現域名解析工作,如能實現,則主DNS服務器就搭建好了。
2)搭建從DNS服務器。
①安裝BIND程序:
Yum install bind
②編輯區域配置文件:
Vi /etc/named.rfc1912.zones
Zone “lpszy.com” IN {
Type slave ;
Masters {192.168.20.10};
File “slaves/lpszy.com.zone”;
Masterfile-format text;
};
Zone “20.168.192.in-addr.arpa” IN {
Type master ;
Masters {192.168.20.10};
File “slaves/192.168.10.zone”;
Masterfile-format text;
};
③重啟服務器systemctl restart named,檢驗是否可以正常工作,如能正常工作,則從DNS服務器就搭建好了。
6 企業中主從DNS搭建應注意的問題
在有從DNS服務器的主DNS服務器搭建中,一定要保證主從DNS服務器能夠相互ping通,在編輯區域配置文件時一定要加allow-transfer{從DNS服務器IP地址},使從DNS能夠同步主DNS文件,否則從DNS得不到主DNS的數據配置文件,不能完成解析工作。
在從DNS搭建中,在編輯數據配置文件中一定要加Materfile-format text;,防止拷貝過來的文件是亂碼。在主DNS數據配置文件的編輯中,地址記錄格式是:主機名(Tab鍵)+IN(空格)+A(Tab鍵)+IP地址。在從DNS數據配置文件的編輯中,指針記錄格式是:主機號(Tab鍵)+IN(空格)+A(Tab鍵)+域名。
參考文獻
[1]惠嘉榮,胡曦明.DNS查詢原理與實驗[J].電腦知識與技術,2017(16):33-34,40.
[2]楊龍.DNS服務器淺談[J].電腦知識與技術,2017(21):38-39.
項目來源:貴州省質量提升工程省級在線精品課程“Linux網絡系統與服務配置”。
作者:趙秀麗,六盤水職業技術學院,講師,研究方向為計算機網絡(553000)。