dns正向解析實現
一.資源記錄
區域解析庫是由眾多資源記錄(resource record,簡稱:"rr"1>.資源記錄定義的格式)組成。資源記錄由 a,aaaa,,ptr,,soa,ns,cname,mx,txt,spt等記錄型別組成。
接下來我們一起來介紹一下常用的記錄型別含義:
soa:
全稱為: "start of authority",即起始授權記錄。
乙個區域解析庫有且僅能有一條soa記錄,必須位於解析庫的第一條記錄。
a:internet address,作用是將fqdn解析為ipv4位址。
aaaa:
作用是將fqdn解析為ipv6位址。
pir:
pointer,反向解析記錄,將ip位址解析為fqdn。
ns:全稱為:name server,專用於標明當前區域的dns伺服器。
cname:
canonical name,別名記錄。
mx:mail exchanger,郵件伺服器。
txt:
對網域名稱進行標識和說明的一種方式,一般做驗證記錄時會使用此項,如spf(反垃圾郵件)記錄,https驗證等。
無論你想定義的資源記錄定義型別是哪個,他都遵循以下定義的格式2>.3>二.配置"yinzhengjie.com"網域名稱的區域解析記錄語法:name [ttl] in rr_type value
1>.修改主配置
[[email protected] ~]# vim /etc/named.rfc1912.zones[[email protected] ~]#
[[email protected] ~]# egrep -v "
^//|^$
" /etc/named.rfc1912.zones # 修改bind程式的自配置檔案,新增我們要維護的網域名稱資訊。
2>.配置區域解析資料庫檔案
[[email protected] ~]#
[[email protected] ~]# cat /var/named/yinzhengjie.com.zone
$ttl 1d
@ in soa @ rname.invalid. (
0; serial
1d ; refresh
1h ; retry
1w ; expire
3h ) ; minimum
ns @
a
127.0.0.1
aaaa ::
1docker201
300 in a 172.200.1.201
dns53.yinzhengjie.com. in a
172.200.1.53
[[email protected] ~]#
[[email protected] ~]# chown root:named /var/named/yinzhengjie.com.zone # 此步驟千萬別忘記,否則named使用者將無許可權訪問root建立的檔案喲~
[[email protected] ~]#
[[email protected] ~]# named-checkzone yinzhengjie.com /var/named/yinzhengjie.com.zone # 驗證區域檔案的語法是否正確!
(1)上面的記錄請主管朱最後兩條記錄,其他的照抄dns已有的本地解析檔案的模板即可;
(2)我們可以指定ttl的值,若不指定單位,預設為秒,上面為為docker201這個主機指定的ttl為300秒,但我並未dns53主機指定ttl,因此它使用配置檔案首行定義的變數"
$ttl
",即預設的ttl為1天;
(3)通常情況下,我們無需再第一列寫上完整的fqdn,如果要寫,請一定要將根域(就是最後乙個點號)寫上,否則bind程式會誤以為你寫的是主機名,後自動在給你補乙個當前網域名稱(本案是"
yinzhengjie.com):
a)以上面的案例為例,當我寫的第一列是"
docker201
"是,則bind程式會隱式為我們補上網域名稱,即:"
docker.yinzhengjie.com.";
b)如果第一列寫的是
"docker201.yinzhengjie.com
",注意哈,此時我沒有寫最後乙個點號(也就是我們所說的根域),因此bind程式依舊會為我們補上網域名稱,即:"
docker201.yinzhengjie.com.yinzhecngjie.com.
",很顯然不是我們想要的結果;
c)如果第一列寫的是
"docker201.yinzhengjie.com.
",注意哈,此時我寫了最後乙個點號(也就是此處我寫了根域),此時bind程式發現竟然是以"
yinchengjie.com.
"結尾的,因此就不會在去補充一次啦。
3>.驗證解析結果
[[email protected] ~]# dig dns53.yinzhengjie.com; <<>> dig 9.11.4-p2-redhat-9.11.4-26.p2.el7_9.3
<<>>dns53.yinzhengjie.com
;; global options: +cmd
;; got answer:
;; ->>header<
id: 44863
;; flags: qr aa rd ra; query:
1, answer: 1, authority: 1, additional: 3
;; opt pseudosection:
; edns: version:
0, flags:; udp: 4096
;; question section:
;dns53.yinzhengjie.com. in a
;; answer section:
dns53.yinzhengjie.com.
86400 in a 172.200.1.53
;; authority section:
yinzhengjie.com.
86400
in ns yinzhengjie.com.
;; additional section:
yinzhengjie.com.
86400 in a 127.0.0.1
yinzhengjie.com.
86400 in aaaa ::1
;; query
time: 0
msec
;; server:
172.200.1.53#53(172.200.1.53
);; when: 四 12月
三.
shell指令碼實現DNS正向解析
root bogon cat dns.sh bin bash 檢測是否掛載 df grep sr0 if eq 0 then 掛載則直接安裝dns軟體包 yum y install bind dev null 將標準輸出 標準錯誤輸出匯入到黑洞檔案中 else mount dev sr0 mnt d...
DNS正向解析 反向解析
dns a 直接解析到空間ip位址 cname 解析到別名 mx 電子郵件系統發郵件時根據收信人的位址字尾來定位郵件伺服器,是設定企業郵箱的 ns 指dns,用預設的就行,一般不用修改 txt 一般指為某個主機名或網域名稱設定的說明,是企業郵箱的輔助設定。1.安裝dns網域名稱系統 yum inst...
DNS正向解析部署
yum安裝 root miwifi r4cm srv yum install bind.x86 64 y 啟動 root miwifi r4cm srv systemctl start named 開機自啟動 root miwifi r4cm srv systemctl enable named r...