DNS正向解析及案例

準備工作:將之前修改的hosts文件內容加#註釋掉,或者刪掉。


DNS服務器軟件:bind、bind-chroot 服務名稱:named
DNS客戶端軟件:bind-utils 可用命令:nslookup、dig、host
注:服務名稱中的d是daemon守護進程的縮寫。如named是name daemon的縮寫。

網絡拓撲結構:
DNS服務器:192.168.10.7(虛擬機)
DNS客戶機:192.168.10.8(虛擬機) 、192.168.10.1(物理機)

DNS服務器安裝:
0、臨時關閉安全防護功能
setenforce 0 #臨時關閉selinux
getenforce #查selinux狀態
systemctl stop firewalld #臨時關閉firewalld
systemctl status firewalld #查firewalld狀態

1、查軟件是否已安裝
rpm -q bind

2、安裝軟件
yum info bind 查bind軟件簡介
yum install -y bind 安裝bind軟件
rpm -q bind 查詢結果如下
bind-9.9.4-37.el7.x86_64

3、啓動服務
systemctl restart named 重啓named服務
systemctl enable named 設置named開機啓動

4、查狀態
systemctl status named
lsof -i:53 或 netstat -atnlp | grep :53

5、熟悉配置文件
rpm -qc bind 重要配置文件如下
/etc/logrotate.d/named 日誌輪滾策略文件
/etc/named.conf 主配置文件(存全局設置參數)
/etc/named.iscdlv.key 密鑰文件
/etc/named.rfc1912.zones 區域配置文件(存域名信息或網段)
/etc/named.root.key
/etc/rndc.conf DNS遠程管理的配置文件
/etc/rndc.key 遠程管理的密鑰文件
/etc/sysconfig/named
/var/named/named.ca 根域服務器的解析文件
/var/named/named.empty
/var/named/named.localhost localhost域名正向解析配置文件(資源記錄文件)
/var/named/named.loopback 127.0.0.0網段的反向解析配置文件(資源記錄文件)


案例:在192.168.10.7這臺DNS服務器上註冊登記域名baidu.com(正向解析),需要做如下管理操作。
1、修改/etc/named.conf主配置文件,將文件中所有的127.0.0.1和localhost修改成any。
cp -v /etc/named.conf{,.bak} 備份此配置文件
cp -v /etc/named.conf /etc/named.conf.bak (功能同上)
vim /etc/named.conf 修改後的結果如下(紅字部分,共修改了4處),用man named.conf查幫助手冊
options { 選項設置
listen-on port 53 { any; }; IPv4監聽端口和IP地址,多個IP用;分號分隔,any爲監聽所有的IP地址。默認是127.0.0.1。
listen-on-v6 port 53 { ::1; }; IPv6監聽端口和IP地址
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; }; 允許查詢的域名,默認是localhost。

    recursion yes;    允許遞歸查詢

    #dnssec-enable yes;     啓用dns安全策略(本案例註釋掉此行)
    #dnssec-validation yes;    啓用dns的valid安全策略(本案例註釋掉此行)
    bindkeys-file "/etc/named.iscdlv.key";      密鑰文件

    managed-keys-directory "/var/named/dynamic";     管理密鑰的工作目錄

    pid-file "/run/named/named.pid";     進程pid文件
    session-keyfile "/run/named/session.key";     會話密鑰文件

};

logging { 日誌設置
channel default_debug { 通道爲debug調試模式
file "data/named.run"; 文件路徑
severity dynamic; 模式爲動態
};
};

zone "." IN { 根域設置
type hint; 類型爲hint是根域,類型通常有hint、master主、slave從(輔助).
file "named.ca"; 文件名,文件位於/var/named目錄中
};

include "/etc/named.rfc1912.zones"; 包含的子配置文件,這個區域配置文件
include "/etc/named.root.key"; 包含的密鑰文件

重啓服務:systemctl restart named

2、在/etc/named.rfc1912.zones文件最後添加baidu.com域名的配置信息。
cp -v /etc/named.rfc1912.zones{,.bak}
vim /etc/named.rfc1912.zones 添加如下內容
zone "baidu.com" IN { 聲明區域名(或稱爲區域名設置)
type master; 類型爲master主DNS服務器
file "baidu.com.zx"; 解析的資源配置文件,文件位於/var/named目錄中
allow-update { none; }; 不允許update更新
allow-transfer { none;}; 允許傳輸。通常是指輔助DNS服務器的IP地址。
};

注:此步驟執行完畢後,並不能正常重啓named服務,因爲baidu.com.zx這個解析的資源配置文件還未創建。

3、在/var/named目錄中創建baidu.com域名正向解析的資源記錄配置文件baidu.com.zx。
cd /var/named
ls
cp -pv named.localhost baidu.com.zx 用-p實現帶屬性的複製(必須這樣做)
vim baidu.com.zx 修改後的參考內容如下(紅字爲修改後的內容)
$TTL 1D
@ IN SOA dns1.baidu.com. 12700696.qq.com. (
2017112701 ; serial 版本序號,通常用年月日數字(必須是10位以內的數字)
1D ; refresh 刷新時間爲1天
1H ; retry 重試時間爲1小時
1W ; expire 過期時間
3H ) ; minimum 最小緩存時間(即TTL的最小值)
NS dns1.baidu.com. ;NS記錄(Name Server),指定DNS服務器的名稱
dns1 A 192.168.10.7 ;A記錄(Address),指定域名、主機名對應的IP地址
AAAA ::1 ;IPv6的A記錄
www A 192.168.10.7
ftp A 192.168.10.8
mail A 192.168.10.9
linux A 192.168.10.1

w CNAME www ;CNAME別名記錄(canonical name),格式爲 “別名 CNAME 原名”
ww CNAME www
web CNAME www

技巧:當正向解析配置文件中A記錄左邊的名稱爲空時,表明是同上。


內容解釋:
$TTL 1D:最大生命週期爲1天
@:是變量,代表named.rfc1912.zones文件中zone “baidu.com” IN定義的域名baidu.com.br/>SOA:是起始授權機構的縮寫。用來指定本例的域名baidu.com是保存在dns1.baidu.com這臺主機中。
12700696.qq.com:是DNS服務器管理員的郵箱。由於@在DNS解析配置文件中有特殊意義,所以郵箱的@必須用.來表示。
FQDN:全質量域名Full Quality Domain Name(即完整域名)。例:dns1.baidu.com.,最右邊點是根域。
NS記錄:記錄域名信息保存在的哪臺DNS服務器上
A記錄:記錄主機名對應的IP地址
CNAME:主機名的別名
PTR記錄:指針記錄,用來實現反向解析的,格式是“IP地址中的主機號 PTR 完整域名”
MX記錄:郵件交換記錄,用於指定郵件服務器。

4、重啓named服務。
systemctl restart named

5、用dns客戶端命令測試正向解析。
rpm -q bind-utils 查bind客戶端軟件
yum install -y bind-utils 安裝

DNS解析的臨時測試:
nslookup命令:nslookup 要解析的域名或IP DNS服務器IP地址
注:nslookup命令在linux和windows系統中都可以用。
例:nslookup www.baidu.com 192.168.10.7 結果如下
Server: 192.168.10.7 DNS服務器的IP
Address: 192.168.10.7#53 DNS服務器的IP和端口號

Name: www.baidu.com 要解析的域名
Address: 192.168.10.7 解析出來的域名的IP地址

例:執行如下解析測試命令,看解析結果是什麼。
nslookup web.baidu.com 192.168.10.7
nslookup dns1.baidu.com 192.168.10.7


nslookup交互式操作:
nslookup 打開nslookup軟件,執行如下操作
server 查看網卡設置中當前的dns服務器IP
server 192.168.10.7 臨時設置dns服務器的IP
www.baidu.com 正向解析測試
web.baidu.com 正向解析測試
127.0.0.1 反向解析測試
exit 退出軟件


host命令:host [選項] 域名 DNS服務器IP
例:host www.baidu.com 192.168.10.7
host web.baidu.com 192.168.10.7

dig命令:dig @server domain query-type query-class
注: dig @服務器IP 域名 查詢類型 網絡等級
功能:發送域名查詢信息包到域名服務器。幫助手冊:man dig
例:dig @192.168.10.7 www.baidu.com


小結:
DNS正向解析要處理三個配置文件:
1、/etc/named.conf 主配置文件(主要改了4行代碼,只需要改一次)
2、/etc/nemed.rfc1912.zones 區域配置文件(用來登記區域名稱及其相關參數的設置)
3、/var/named/* 區域解析的資源記錄文件(用來登記主機名和IP地址的對應關係)
注意:
1、解析的資源記錄文件中如果是FQDN完整域名,必須把根域的.點寫上,否則named服務運行不了。
2、NS記錄對應的域名必須有對應的A記錄。

DNS客戶端解析測試命令:
nslookup、dig、host


練習:在192.168.10.7這臺DNS服務器上登記sina.com這個域名的正向解析功能。其解析的資源記錄文件中的主機名和IP地址自己隨便定。最終用nslookup命令做正向解析測試。
第1步:vim /etc/named.rfc1912.zones 添加如下內容
zone "sina.com" IN { 聲明區域名(或稱爲區域名設置)
type master; 類型爲master主DNS服務器
file "sina.com.zx"; 解析的資源配置文件,文件位於/var/named目錄中
allow-update { none; }; 不允許update更新
allow-transfer { none;}; 允許傳輸。通常是指輔助DNS服務器的IP地址。
};

第2步:執行如下操作。
cd /var/named
cp -pv named.localhost sina.com.zx
vim sina.com.zx 修改後的內容如下
$TTL 1D
@ IN SOA dns1.sina.com. 12700696.qq.com. (
2017112701 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
NS dns1.sina.com.
dns1 A 192.168.10.7
AAAA ::1
www A 1.1.1.1
ftp A 1.1.1.2
mail A 1.1.1.3
linux A 1.1.1.4

w CNAME www
ww CNAME www
web CNAME www

第3步:平滑重啓named服務:systemctl reload named

第4步:解析測試
nslookup www.sina.com 192.168.10.7
nslookup web.sina.com 192.168.10.7

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章