DNS伺服器的搭建與測試紅帽
『壹』 建立自有遞歸DNS伺服器
建立自有遞歸DNS伺服器
在構建DNS伺服器時,選擇遞歸DNS伺服器是關鍵步驟,它能讓所有DNS請求向權威伺服器進行查詢。本教程將指引您使用unbound軟體建立一個遞歸DNS伺服器,適用於學習解析過程。操作環境為Rocky linux 8。
首先,關閉防火牆和SElinux以確保伺服器運行的順暢。本教程旨在建立一個簡單的、可用的DNS遞歸伺服器,適合小規模使用。
了解遞歸DNS與權威DNS的區別至關重要。權威DNS伺服器是經過授權解析域名的伺服器,能向下級轉授解析許可權。例如,COM頂級伺服器的NS.ABC.COM為ABC.COM的實際權威伺服器。我們通常通過權威DNS伺服器解析域名到IP地址或其他記錄。
遞歸DNS伺服器負責接受用戶對任意域名的查詢,並返回結果給用戶。這類伺服器對公眾開放服務,通常由網路運營商提供。它們具備緩存功能,提升查詢效率。例如,谷歌的8.8.8.8和8.8.4.4,以及114的114.114.114.114和114.114.115.115,都是典型的遞歸DNS伺服器。本地電腦設置的DNS多數也屬於這一類。
轉發DNS伺服器接收用戶查詢,並將結果轉發給用戶,而結果通常不是通過標准域名解析過程獲得的。這類伺服器具備緩存功能,適用於無直接互聯網連接但能連接到遞歸DNS的情況。例如,路由器內置的DNS即屬於此類,本地電腦的DNS通常為192.168.1.1。
深入理解DNS遞歸伺服器的解析過程,可藉助DNS根伺服器的介紹。具體安裝、配置、啟動和驗證過程,請參考紅帽文檔。
通過這些步驟,您將能夠構建自己的遞歸DNS伺服器,提升本地網路的DNS查詢效率,同時為學習DNS解析過程提供實踐平台。
『貳』 linux dns伺服器怎麼設置
在linux系統中一般通過bind軟體包來提供dns服務。
1、環境准備:
臨時關閉selinux和iptables
#setenforce0
#serviceiptablesstop
2、查詢相關軟體包:
[root@localhost~]#yumsearchbind
Loadedplugins:proct-id,refresh-packagekit,subscription-manager
UpdatingRedHatrepositories.
======================================================================================N/SMatched:bind======================================================================================
PackageKit-device-rebind.i686:
bind.i686:TheBerkeleyInternetNameDomain(BIND)DNS(DomainNameSystem)server
bind-chroot.i686:,named(8)
bind-utils.i686:
其中各軟體包的作用如下:
1)、bind: 提供域名服務的主要程序及相關文件。
2)、bind-chroot:為bind提供一個偽裝的根目錄以增強安全性。
3)、bind-utils:提供對DNS伺服器測試的工具程序(如nslookup、dig等)。
3、安裝BIND軟體包
#yuminstall*bind*
4、配置DNS伺服器:
1)、bind伺服器端程序
主要執行程序:/usr/sbin/named
服務腳本:、etc/init.d/named
默認監聽埠:53
主配置文件: /etc/named.conf
保存DNS解析記錄的數據文件: /var/named/chroot/var/named
2)、查詢bind程序的配置文件列表
[root@localhost~]#rpm-qcbind
/etc/logrotate.d/named
/etc/named.conf
/etc/named.iscdlv.key
/etc/named.rfc1912.zones
/etc/named.root.key
/etc/rndc.conf
/etc/rndc.key
/etc/sysconfig/named
/var/named/named.ca
/var/named/named.empty
/var/named/named.localhost
/var/named/named.loopback
3)、查看主配置文件named.conf
#vim/etc/named.conf
4)、主配置文件解析:
a、全局配置部分,默認的全局配置項如下:
options{
11listen-onport53{127.0.0.1;};//監聽的埠和介面IP地址
12listen-on-v6port53{::1;};
13directory"/var/named";//dns區域的數據文件默認存放位置
14mp-file"/var/named/data/cache_mp.db";
15statistics-file"/var/named/data/named_stats.txt";
16memstatistics-file"/var/named/data/named_mem_stats.txt";
17allow-query{localhost;};//允許dns查詢的客戶機列表,any表示所有
18recursionyes;//是否允許客戶機進行遞歸查詢
19
20dnssec-enableyes;
21dnssec-validationyes;
22dnssec-lookasideauto;
23
24/*PathtoISCDLVkey*/
25bindkeys-file"/etc/named.iscdlv.key";
26};
全局配置中還有如下選項:
//將本域名伺服器不能解析的條目轉發給其它DNS伺服器的IP地址
forwarders{202.102.24.68;12.3.3.3;};
b、默認的區域配置項如下:
35zone"."IN{
36typehint;//區域類型。hint為根區域;master為主區域;slave為輔助區域
37file"named.ca";//該區域對應的區域數據配置文件名
38};
區域配置中還有如下選項:
//允許下載區域資料庫的從域名伺服器IP地址
allow-transfer{189.98.90.23;};
//允許動態更新的客戶端IP地址(none表示全部禁止)
allow-update{none;};
添加如下區域配置:
zone「my.com」IN{
typemaster;//主區域
file「my.com」;//該區域對應的區域數據配置文件名
allow-transfer{192.168.153.1;};//允許下載區域資料庫的從域名伺服器IP地址
allow-update{none;};
};
zone「153.168.192.in-addr.arpa」IN{//表示針對IP192.168.153.130反向解析
typemaster;//主區域
file「192.168.153.my.arpa」;//該區域對應的區域數據配置文件名
};
5)、配置完了,可以執行如下命令對named.conf文件進行語法檢查。
#named-checkconf
注意:倒序網路地址.in-addr.arpa 表示反向區域
主配置文件最後還有一行是:
//該文件包含/etc/named.rfc1912.zones文件
include「/etc/named.rfc1912.zones」
區域數據配置文件:
先看一下named.localhost的內容:
$TTL1D//timetolive生存時間
@[email protected].(//」rname.invalid」DNS區域地址
0;serial//更新序列號
1D;refresh//更新時間
1H;retry//重試延時
1W;expire//失效時間
3H);minimum//無效地址解析記錄的默認緩存時間
NS@//nameserver域名服務記錄
A127.0.0.1//address只用在正向解析的區域數據文件中
AAAA::1
新建2個對應的區域數據配置文件:
#touchmy.com
#touch192.168.153.my.arpa
#vimmy.com
$TTL86400
@INSOAmy.com.admin.my.com(//admin.my.cm為該區域管理員的郵箱地址
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.//當前域的DNS伺服器地址
INMX10mail.my.com.//用於設置當前域的郵件伺服器域名地址,數字10表示優先順序別,數字越大優先順序越低
ns1INA192.168.153.130
mailINA192.168.153.130
wwwINA192.168.153.130
ftpINCNAMEwww//CNAME別名(canonicalname)記錄,表示ftp.my.com和www.my.com對應同一個IP.
[root@localhostnamed]#vim192.168.153.my.arpa
$TTL86400
@INSOAmy.com.admin.my.com(
200900201
3H
15M
1W
1D
)
@INNSns1.my.com.
130INPTRftp.my.com
啟動DNS服務
[root@localhost~]#servicenamedstart
4、測試:
配置一台ftp伺服器用於測試:
#servicevsftpdstart//啟動vsftpd服務
當前網卡的配置:
eth0:192.168.0.1/24
eth1:192.168.153.130/24
[root@localhostnamed]#nslookup192.168.153.130
Server:127.0.0.1
Address:127.0.0.1#53
130.153.168.192.in-addr.arpaname=www.my.com.
[root@localhost~]#nslookupftp.my.com
Server:127.0.0.1
Address:127.0.0.1#53
ftp.my.comcanonicalname=www.my.com.
Name:www.my.com
Address:192.168.153.130