DNS,全稱Domain Name System,即域名解析系統。DNS幫助用戶在互聯網上尋找路徑。在互聯網上的每個計算機都擁有一個惟一的地址,稱做「IP地址」(即互聯網協議地址)。因爲IP地址(爲一串數字)不方便記憶,DNS容許用戶使用一串常見的字母(即「域名」)取代。linux
dns做用:實現名稱和地址之間的解析數據庫
名稱---》地址 正向解析 windows
地址---》名稱 反向解析緩存
應用範圍: 服務器
hosts :小型 tcp
dns服務器:大型 ide
dns服務器的實現:1.bind 2.powerdns 3.mydns工具
fqdn:徹底合格的名稱spa
主機表示: www.cisco.com.server
域表示: cisco.com.
Dns服務的工做過程
當DNS 客戶機須要查詢程序中使用的名稱時,它會查詢本地DNS 服務器來解析該名稱。客戶機發送的每條查詢消息都包括3條信息,以指定服務器應回答的問題。
●指定的 DNS 域名,表示爲徹底合格的域名 (FQDN) 。
●指定的查詢類型,它可根據類型指定資源記錄,或做爲查詢操做的專門類型。
● DNS域名的指定類別。
對於DNS 服務器,它始終應指定爲 Internet 類別。例如,指定的名稱能夠是計算機的徹底合格的域名,如im.qq.com,而且指定的查詢類型用於經過該名稱搜索地址資源記錄。
DNS 查詢以各類不一樣的方式進行解析。客戶機有時也可經過使用從之前查詢得到的緩存信息就地應答查詢。DNS 服務器可以使用其自身的資源記錄信息緩存來應答查詢,也可表明請求客戶機來查詢或聯繫其餘 DNS 服務器,以徹底解析該名稱,並隨後將應答返回至客戶機。這個過程稱爲遞歸。
另外,客戶機本身也可嘗試聯繫其餘的 DNS 服務器來解析名稱。若是客戶機這麼作,它會使用基於服務器應答的獨立和附加的查詢,該過程稱做迭代,即DNS服務器之間的交互查詢就是迭代查詢。
服務器類型
1. 主dns服務器 存放原始記錄 能夠刪除 修改 添加
2. 輔助dns服務器 存放記錄副本 不能刪除 修改 添加記錄
3. caching-only
4. 存根dns服務器
區域類型
正向解析域:名稱解析地址
反向解析域 :地址解析名稱
正向域
SOA 3種信息{主dns服務器 管理員郵箱 刷新策略}
NS 該域dns服務器
@ IN NS ns.abc.com.
ns IN A 192.168.3.100
A
abc.com
www IN A 1.1.1.1
CNAME
abc.com
mail IN A 2.2.2.2
smtp IN CNAME mail
pop3 IN CNAME mail
MX
abc.com
mail INA 2.2.2.2
@ INMX 10 mail
反向域
SOA 3種信息{主dns服務器 管理員郵箱 刷新策略}
NS 該域dns服務器
PTR
10.168.192.in-addr.arpa
10 PTR www.baidu.com.
資源記錄(RR)的保存方式
1.文本
優勢:加載到內存,查詢速度快
缺點:加載慢,文件改動須要從新加載
2.數據庫
優勢:改動後當即生效
缺點:磁盤io頻繁
dns服務器的端口:udp 53 查詢 tcp 53 同步
主要目錄
1. /var/named/chroot
2. /var/named/chroot/etc/ dns服務器的配置文件
3. /var/named/chroot/var/named 區域文件
客戶端解析工具
windows :nslookup
linux :nslookup dig host
案例1 簡單域名解析
a) 在/var/named/chroot/etc/named.rfc1912.zones下作域的聲明
zone "a.com" IN {
type master;
file "a.com.zone";
allow-update { none; };
};
b) 在/var/named/下建立a.com.zone文件
$TTL 1D
@ IN SOA ns.a.com. master.a.com. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
@ IN NS ns.a.com.
ns IN A 192.168.3.48
www IN A 1.1.1.1
ftp IN A 2.2.2.2
mail IN A 3.3.3.3
smtp IN CNAME mail
pop3 IN CNAME mail
@ IN MX 10 mail
c) 在/etc/resolv.conf 修改DNS指向
Nameserver 192.168.3.48
案例 2 主輔同步 (注意主輔服務器的時鐘同步)
Linux主機作主DNS服務器:
a) 在/var/named/chroot/etc/named.rfc1912.zones下作域的聲明
zone "a.com" IN {
type master;
file "a.com.zone";
allow-update { none; };
};
b) 在/var/named/下建立a.com.zone文件
$TTL 1D
@ IN SOA ns.a.com. master.a.com. (
3 ; serial
2M ; refresh
1M ; retry
1W ; expire
3H) ; minimum
@ IN NS ns.a.com.
@ IN NS ns2.a.com.
ns IN A 192.168.3.48
ns2 IN A 192.168.3.200
www IN A 1.1.1.1
ftp IN A 2.2.2.2
mail IN A 3.3.3.3
smtp IN CNAME mail
pop3 IN CNAME mail
@ IN MX 10 mail
Linux主機作輔助DNS服務器:
c) 在/var/named/chroot/etc/named.rfc1912.zones下作域的聲明
zone "b.com" IN {
type slave;
masters { 192.168.3.200; };
file "slaves/b.com.zone";
};
/var/named/chroot/etc/named.conf
option {
allow-transfer { 輔助dns服務器地址; };
} //配置對全部的域都有效
/var/named/chroot/etc/named.rfc1912.zone
zone " 域名 fqdn" IN{
allow-transfer { 輔助dns服務器地址; };
//配置僅僅只對所在域有效
案例3 受權 轉發器概念
當子域的DNS服務器不能解析父域的資源記錄時:能夠添加根提示或者經過轉發器來實現。
linux主機上配置轉發器
【無條件轉發】/var/named/chroot/named.conf
option {
forwarders { 轉發的目標服務器地址; }; }
【有條件轉發】 /var/named/chroot/etc/named.rfc1912.zon zone "域名" IN {
type forward;
forwardes { 轉發的目標服務器地址; }; }
a) 在/var/named/chroot/etc/named.rfc1912.zones下作域的聲明
zone "c.com" IN {
type forward;
forward { 192.168.3.200 }
};
zone "sh.c.com" IN {
type master;
file "sh.c.com.zone";
allow-update { none; };
};
b) 在/var/named/下建立sh.c.com.zone文件
$TTL 1D
@ IN SOA ns.sh.c.com. master.c.com. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H ) ; minimum
@ IN NS ns.sh.c.com.
ns IN A 192.168.3.48
www IN A 1.1.1.1
mail IN A 3.3.3.3
smtp IN CNAME mail
@ IN MX 10 mail
Linux實現受權:
a) 在/var/named/下建立d.com.zone文件
$TTL 1D
@ IN SOA ns.d.com. master.d.com. (
3 ; serial
1D ; refresh
1H ; retry
1W ; expire
3H) ; minimum
@ IN NS ns.d.com.
ns IN A 192.168.3.48
sh.d.com. IN NS ns.sh.d.com.
ns.sh.d.com. IN A 192.168.3.200
www IN A 1.1.1.1
mail IN A 3.3.3.3
smtp IN CNAME mail
@ IN MX 10 mail