DNS:domain Name Service 監聽在53/udp, 53/tcp
C/S架構:S(bind)、C(共享)
bind:bekerley internet name domain
FQDN:Full Qualified Domain Name完全限定域名
www.magedu.com.: FQDN
magedu.com:域名
主機名解析 :把一種名稱轉換為另一種名稱的過程 ,一般指字串和數字之間的轉換。
解析庫:某種存儲
username (主機名)<--> uid(IP)
某種存儲:
文本檔案
關系型資料庫
LDAP:Lightweight Directory Access Protocol(輕量目錄通路協定),監聽在 389/tcp
解析:根所使用者所提供一種名稱,去查詢解析庫,以得到另一種名稱
解析的過程為,先讀取hosts檔案中有沒有定義,如果沒有去本地緩存查找,再去權威伺服器緩存查找,最後向根伺服器送出請求,中心伺服器傳回查找路徑資訊,再由權威伺服器發起請求。知道傳回請求IP。
根域:root domain
一級域:top-level domain
二級域:公司、組織、個人使用
主機:www
遞歸:
A --> B --> C --> D
疊代:
A --> B
A --> C
A --> D
DNS解析過程中:主機向權威DNS伺服器請求是遞歸,權威伺服器請求解析的過程是疊代。
DNS中的名稱與對應的主機的主機名不要求是一樣的。
一個名稱可以對應多個IP
一個IP上也可以多個名稱
一級域:
組織域:.com, .org, .net, .mil, .edu, .gov, .info, .cc, .me, .tv
國家域:.cn, .us, .uk, .jp, .tw, .hk, .iq, .ir
反向域:.in-addr.arpa
域:domain, 區域:zone
域:每一個域都要有正反向解析檔案,是一個實體概念,域和域之間是互聯的
區域:是一個域的範圍,裡邊包含這個區域的所有主機。
DNS正向解析:FQDN --> IP
正向解析庫
DNS反向解析:IP --> FQDN
反向解析庫
區域解析庫:
資源記錄:rr(resource record)
有類型的概念:用于此記錄解析的屬性
SOA: Start Of Authority,主DNS伺服器 起始授權記錄,一個區域檔案隻能有一個;
NS:Name Server ,從DNS伺服器。
MX: Mail eXchange, 郵件交換器,MX記錄有優先級屬性(0-99);
A:FQDN --> IP,專用于正向解析庫
PTR: IP --> FQDN,專用于反向解析庫
AAAA:FQDN --> IPv6,專用于正向解析庫
CNAME: Canonical Name,正式名稱
解析庫檔案同步的過程:區域傳送 (單方向傳送) zone transfer
完全區域傳送:axfr
增量區域傳送: ixfr
主從伺服器之間解析庫的同步是通過:周期性檢查 + 通知 維護的,查詢基于UDP協定,傳送基于TCP協定。
資源記錄類型:
任何解析庫檔案的第一個記錄的類型必須是SOA
格式:name [ttl] IN RRType value(IP位址)
name: 區域名稱,通常可以簡寫為@
value: 主DNS伺服器的FQDN,也可以目前區域的區域名稱;
主DNS伺服器配置:
例如:@ IN SOA ns.magedu.com. admin.magedu.com. (
serial number ;解析庫的版本号,例如2014080401
refresh time ;周期性同步的時間間隔
retry time ;重試的時間間隔
expire time ;過期時長
negative answer ttl ;否定答案的統一緩存時長
)
從DNS伺服器配置:
NS:name server
name: 區域名稱
value: DNS伺服器的FQDN
例如:@ IN NS ns.magedu.com.
注意:
如果有多台NS伺服器,每一個都必須有對應的NS記錄;
對于正向解析檔案來講,每一個NS的FQDN都應該有一個A記錄;
MX:Mail eXchanger
name: 區域名稱
value: 郵件伺服器的FQDN
例如:
@ IN MX 10 mail.magedu.com.
@ IN MX 20 mail2.magedu.com.
注意:
如果有多台MX伺服器,每一個都必須有對應的MX記錄;但各MX記錄還有優先級屬性
對于正向解析檔案來講,每一個NS的FQDN都應該有一個A記錄;
A: Address
name: FQDN
value: IP
例如:
www.magedu.com. IN A 1.1.1.1
www.magedu.com. IN A 1.1.1.2
pop3.magedu.com. IN A 1.1.1.3
imap.magedu.com. IN A 1.1.1.3
CNAME: Canonical Name
name: FQDN
value: FQDN
例如:
www.magedu.com. IN A 1.1.1.5
web.magedu.com. IN CNAME www.magedu.com.
PTR: pointer
name: 逆向的主機IP位址加字尾in-addr.arpa,例如172.16.100.7/16, 網絡位址為172.16, 主機位址為100.7,其name為7.100.in-addr.arpa.
value: FQDN
例如:
7.100.in-addr.arpa. IN PTR www.magedu.com.
DNS伺服器的基本配置步奏:
(1)首先安裝bind程式包。
(2)修改主配置檔案。
1)定義區域
/etc/named.conf
options {
全局配置段;
// directory "/var/named";
};
zone "ZONE_NAME" IN {
type {master|slave|hint|forward};
file "mageedu.com.zone";
};
logging {
日志;
};
服務腳本:/etc/rc.d/init.d/named
主配置檔案:/etc/named.conf, /etc/named.rfc1912.zones
zone "localhost.localdomain" IN {
type master;
file "named.localhost";
allow-update { none; };
}; ------------------>解析式解析為/etc/named.conf中定義的IP
zone "localhost" IN {
type master;
file "named.localhost";
allow-update { none; };
}; ------------------->解析式解析為/etc/named.conf中定義的IP
zone "1.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.0.ip6.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
}; -------------------->ipv6本地位址的反向解析
zone "1.0.0.127.in-addr.arpa" IN {
type master;
file "named.loopback";
allow-update { none; };
}; --------------------->127.0.0.1的反向解析
zone "0.in-addr.arpa" IN {
type master;
file "named.empty";
allow-update { none; };
}; ----------------------->空位址的反向解析
zone "aolens.com" IN {
type master;
file “/etc/named/aolens.com.zone"; -------->aolens.com.zone檔案存在于directory定義的目錄下/etc/named/
}; ------------------------>自定義的解析名
檢查name.conf檔案有沒有錯誤
name-checkconf
service named configtest
還可以檢查某一塊是否有錯誤;
如果應為随機數不夠而卡在這個步奏,一個是多敲鍵盤,另一個是改變/etc/rc.d/init.d/named檔案中在
service named status
rndc: remote name domain controller 遠端域名控制 監聽在953/TCP端口。
重新載入檔案rndc redoad
區域解析庫檔案:/var/named/zone_name.zone
我們在/etc/named.conf, /etc/named.rfc1912.zones 中配置了aolens.com.zone檔案,那麼便要配置此檔案,沒有建立,命名為aolens.com.zone
并且配置此檔案的屬組和權限
屬組要求為named
權限要求644
檢測配置檔案是否有錯
service named configtest或
named-checkconf檢測完整檔案
named-checkzone "aolens.com" /var/named/aolens.com.zone檢測部分塊
service named reload重新載入 或者 rndc reload 隻有不改監聽的端口就可以使用reload
第一次ping www.aolens.com 沒有ping通,我們發現是/etc/resolv.conf檔案中IP沒有指向自己,改為aolens.com指向的IP就可以了。
而ping指令測試略顯拙劣,我們bind-utils程式包裡有一下測試工具,常用的就 dig、host、nslookup
而使用這三款工具時/etc/resolv.conf中的IP指向誰都沒問題。
(1)host
host -t RRType NAME [SERVER]
解析出www.aolens.com
檢視aolens.com的DNS伺服器的域名是什麼?
(2)nslookup
nslookup >
server IP
set type={A|SOA|NS|MX|...}
name 例如在此例子中是www.aolens.com
(3)dig
dig -t TYPE name @server
dig -t A www.aolens.com @192.168.1.159
AXFR完全區域傳送
我們連上網
dig -t A www.baidu.com 下邊便是www.baidu.com的解析過程
dig: 查詢選項
+trace
+notrace
+recurse
+norecurse
反向區域:
區域名稱為逆向網絡位址加.in-addr.arpa做字尾
在主配置檔案:/etc/named.conf, /etc/named.rfc1912.zones
添加
zone "1.168.192.in-addr.arpa." IN {
type master;
file "1.168.192.zone";
};
named-checkconf檢測有無文法錯誤
建立1.168.192.zone檔案在/var/named/
内容:
$TTL 3600
@ IN SOA ns.aolens.com. admin.aolnes.com. (
2014080401
2H
10M
7D
2D )
IN NS ns.aolens.com.
159 IN PTR ns.aolens.com.
161 IN PTR www.aolens.com
named-checkzone "1.168.192.in-addr.arpa" /var/named/1.168.192.zone檢測有無文法錯誤。
service named reload加載
host -t PTR 192.168.1.161 192.168.1.159解析161的主機名
反解成功!!!
轉載于:https://blog.51cto.com/aolens/1536624