1、DNSlinux
DNS:Domain Name System,域名系統數據庫
做爲域名和IP地址相互映射的一個分佈式數據庫,可以使用戶更方便的訪問互聯網,而不用去記住可以被機器直接讀取的IP數串。經過主機名,最終獲得該主機名對應的IP地址的過程叫作域名解析(或主機名解析)。數組
協議:緩存
UDP:53bash
TCP:53服務器
實現:BIND(Berkeley Internet Name Domain),PowerDNS,dnsmasq網絡
MAC-->IP-->主機名稱-->DNSdom
名稱解析:將一種格式的信息轉化爲另一種格式,以某關鍵字爲標準查找某一數據庫的過程tcp
passwd <--> nsswitch轉換分佈式
login:nsswitch爲login提供服務
nsswitch配置文件在/etc/nsswitch
/etc/hosts:存放的爲主機與ip、別名
namespace:名稱空間
分佈式數據庫:將數據庫切割,放在不一樣的服務器上
根域(.)-->一級域/頂級域(ICCNA)-->二級域(組織域)
一級域:
組織域:.com,.org,.mil,.gov,.edu,.net,
國家域:.cn,.hk,.tw,.jp,.ir(伊朗),.iq(伊拉克),.us,.uk
反向域:.in-addr.arpa,
二級域:申請
查詢:
遞歸查詢:只發起一次請求,最終能獲得答案
迭(die)代查詢:發起一次請求,不必定獲得答案
客戶端指向的DNS服務器,必定是容許給本地主機作遞歸的
根拒絕回答遞歸問題
區域傳送:
輔助DNS服務器從主DNS服務器或其它的輔助DNS服務器請求傳輸數據的過程
徹底區域傳送:傳送區域的全部數據,AXFR
增量區域傳送:傳送區域中改變的數據部分,IXFR
FQDN:Full Qualified Domain Name 徹底域名解析
FQDN --> IP 正向解析
IP --> FQDN 反向解析
DNS服務器的類型
主DNS服務器
輔助DNS服務器
緩存名稱服務器
資源記錄(Resource Record):
數據庫每個條叫一個資源記錄,資源記錄有類型,用於表示資源的功能
SOA:Start Of Authority,起始受權
NS:Name Server,域名服務器
MX:mail eXchanger:郵件交換器
A:Address,(FQDN-->IP)地址記錄
PTR: PoiTeR,(IP-->FQDN)
AAAA:Address,FQDN-->IPv6
CNAME:Canonical Name,正式名稱(別名記錄)
DNS:FQDN --> IP
正反向解析技術不一樣,所以不該該存放於同一個數據庫文件中進行
域:Domain,邏輯概念
區域:zone,物理概念
DNS的數據庫文件(區域數據文件,區域自身有名字):文本文件,只能包含資源記錄或宏定義,每行一個
資源記錄的格式:
name [ttl(緩存有效時間)] IN 資源記錄類型(RRtype) Value
例子:
www 600(單位s) IN A 1.2.3.4
www.magedu.com. 600 IN A 1.2.3.4
SOA:
只能有一個
name:只能是區域名稱,例如:magedu.com.一般能夠簡寫爲@,
value:有n個數值,最主要的是主DNS服務器的FQDN,點不可省略
注意:SOA必須是區域數據庫文件第一條記錄
例子:
@ 600 IN SOA na.magedu.com. 管理員郵箱(dnsadmin.magedu.com.)(
序列號(serial number) ;註釋內容,十進制數據,不能超過10位,一般使用日期,例如2015092017
刷新時間(refresh time) ;即每隔多久到主服務器檢查一次
重試時間(retry time) ;應該小於refresh time
過時時間(expire time)
netgative answer ttl ;否認答案的ttl
)
NS:
能夠有多條
name:區域名稱,一般能夠簡寫爲@
value:DNS服務器的FQDN(可使用相對名稱)
例子:
@ 600 IN NS ns
A:
只能定義在正向區域數據文件中
name:FQDN(可使用相對名稱)
value:IP
例子:
www 600(單位s) IN A 1.2.3.4
www 600(單位s) IN A 1.2.3.5
可作輪詢,效果很差(緩存),
www 600(單位s) IN A 1.2.3.4
ftp 600(單位s) IN A 1.2.3.4
但凡以FQDN作爲其值的記錄,應該給這個值作一條A記錄
AAAA:
MX:能夠有多個
name:區域名稱,用於標識smtp服務器
value:包含優先級和FQDN
優先級:0-99,數字越小,級別越高,
例子:
@ 600 IN MX 10 mail
@ 600 IN MX 20 mail2
CNAME:
name :FQDN
value :FQDN
例子:
ftp IN CNAME www
PTR:IP --> FQDN,指針記錄,只能定義在反向區域數據文件中,反向區域名稱爲逆向網絡地址加.in.addr.arpa.後綴組成
name:IP,逆向的主機地址,例如172.16.100.7的name爲7.100,徹底格式爲7.100.16.172.in-addr-arpa.
value:FQDN
例子:
4.3.2 600 IN PTR www.magedu.com.
2、BIND
isc(www,isc.org)
DNS,bind,named
案例:magelinux.com
192.168.100.
mail,172.16.100.21
pop-->mail 別名
ftp-->www 別名
dns:192.168.100.20
主配置文件:
主配置文件:定義區域,/etc/named.comf 屬主root,數組named,權限:640
區域數據文件:/var/named/ 屬主root,數組named,權限:640
至少有三個區域:
根
localhost
127.0.0.1
named:
用戶:named
組:named
主配置文件:
options {
//全局選項
}
zone "ZONENAME" { #經測試這裏區域名後面帶不帶.均可以
//定義區域
}
logging {
//定義日誌系統
}
格式:以分號結尾,{}間有空格
type {hint|master|slave|forward}
配置示例:
一、bind主配置文件:/etc/named.conf添加解析區域
bind主配置文件:
[root@xxj ~]# cat /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "locahost" IN { type master; file "named.localhost"; }; zone "localhost.localdomain" IN { type master; file "named.localhost"; }; zone "1.0.0.127.in-addr.arpa." IN { type master; file "named.loopback"; }; zone "magelinux.com" IN { type master; file "magelinux.zone"; }; [root@xxj ~]# service named configtest #檢測配置文件是否有錯 zone locahost/IN: loaded serial 0 zone localhost.localdomain/IN: loaded serial 0 zone 1.0.0.127.in-addr.arpa/IN: loaded serial 0 [root@xxj ~]# named-c named-checkconf named-checkzone named-compilezone [root@xxj ~]# named-checkconf [root@xxj named]# chown root:named named.conf #更改屬主屬組 [root@xxj named]# chmod 640 named.conf #更改權限
二、添加區域數據/資源記錄/DNS數據庫文件: [root@xxj named]# cat magelinux.zone $TTL 6000 @ IN SOA dns.magelinux.com admin.magelinux.com. ( 2015091019 2H 10M 7D 1D ) @ IN NS dns @ IN MX 10 mail dns IN A 192.168.100.20 mail IN A 192.168.100.21 WWW IN A 192.168.100.22 pop IN CNAME mail ftp IN CNAME www [root@xxj named]# chown root:named magelinux.zone [root@xxj named]# chmod 640 magelinux.zone [root@xxj named]# named-checkconf [root@xxj named]# named-checkzone [root@xxj named]# vi magelinux.zone [root@xxj named]# named-checkzone "magelinux.zone" /var/named/magelinux.zone zone magelinux.zone/IN: loaded serial 2015091019 OK [root@xxj named]# killall -1 named named: no process killed
測試命令:
dig:
dig [-t type] [-x addr] [name] [@server]
+[no]trace
+[no]recurse
+[no]tcp
host:
host [-t type] {name} {server}
nslookup:
nslookup>
server DNS_server_ip
set -q=TYPE
{name}
[root@xxx named]# dig -t NS magelinux.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t NS magelinux.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 45888 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; QUESTION SECTION: #問題部分 ;magelinux.com. IN NS ;; ANSWER SECTION: #回答部分 magelinux.com. 6000 IN NS sbsb.magelinux.com. ;; ADDITIONAL SECTION: #附加部分 sbsb.magelinux.com. 6000 IN A 192.168.100.20 ;; Query time: 1 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 01:40:58 2015 ;; MSG SIZE rcvd: 66
[root@xxx named]# dig -t MX magelinux.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t MX magelinux.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41791 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;magelinux.com. IN MX ;; ANSWER SECTION: magelinux.com. 6000 IN MX 10 mail.magelinux.com. ;; AUTHORITY SECTION: #權威部分 magelinux.com. 6000 IN NS sbsb.magelinux.com. ;; ADDITIONAL SECTION: mail.magelinux.com. 6000 IN A 192.168.100.21 sbsb.magelinux.com. 6000 IN A 192.168.100.20 ;; Query time: 2 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 01:42:42 2015 ;; MSG SIZE rcvd: 103 [root@xxx named]# dig -t A mail.magelinux.com ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -t A mail.magelinux.com ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 64745 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;mail.magelinux.com. IN A ;; ANSWER SECTION: mail.magelinux.com. 6000 IN A 192.168.100.21 ;; AUTHORITY SECTION: magelinux.com. 6000 IN NS sbsb.magelinux.com. ;; ADDITIONAL SECTION: sbsb.magelinux.com. 6000 IN A 192.168.100.20 ;; Query time: 1 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 01:43:49 2015 ;; MSG SIZE rcvd: 87
[root@xxx named]# host -t NS magelinux.com magelinux.com name server sbsb.magelinux.com. [root@xxx named]# host -t mx magelinux.com magelinux.com mail is handled by 10 mail.magelinux.com. [root@xxx named]# host -t A www.magelinux.com www.magelinux.com has address 192.168.100.22 [root@xxx named]# host -t A www.magedu.com 8.8.8.8 Using domain server: Name: 8.8.8.8 Address: 8.8.8.8#53 Aliases: www.magedu.com has address 101.200.188.230 [root@xxx named]# host -t A www.magedu.com 192.168.100.20 Using domain server: Name: 192.168.100.20 Address: 192.168.100.20#53 Aliases: www.magedu.com has address 101.200.188.230 [root@xxx named]# host -t A www.baidu.com 192.168.100.20 Using domain server: Name: 192.168.100.20 Address: 192.168.100.20#53 Aliases: www.baidu.com is an alias for www.a.shifen.com. www.a.shifen.com has address 112.80.248.73 www.a.shifen.com has address 112.80.248.74 [root@xxx named]# host -t A www.magelinux 192.168.100.20 Using domain server: Name: 192.168.100.20 Address: 192.168.100.20#53 Aliases: Host www.magelinux not found: 3(NXDOMAIN) [root@xxx named]# host -t A www.magelinux.com 192.168.100.20 Using domain server: Name: 192.168.100.20 Address: 192.168.100.20#53 Aliases: www.magelinux.com has address 192.168.100.22
[root@xxx named]# nslookup > server 192.168.100.20 Default server: 192.168.100.20 Address: 192.168.100.20#53 > set q=A > www.magelinux.com Server: 192.168.100.20 Address: 192.168.100.20#53 Name: www.magelinux.com Address: 192.168.100.22 > set q=a > mail.magelinux.com Server: 192.168.100.20 Address: 192.168.100.20#53 Name: mail.magelinux.com Address: 192.168.100.21 >
[root@xxx ~]# dig -x 192.168.100.20 [root@xxx ~]# dig -x 192.168.100.21 #由於尚未配置反向解析,因此這裏解析不了 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 192.168.100.21 ;; global options: +cmd ;; connection timed out; no servers could be reached [root@xxx ~]# dig -x 127.0.0.1 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 59577 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;1.0.0.127.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.0.0.127.in-addr.arpa. 86400 IN PTR localhost. ;; AUTHORITY SECTION: 1.0.0.127.in-addr.arpa. 86400 IN NS 1.0.0.127.in-addr.arpa. ;; ADDITIONAL SECTION: 1.0.0.127.in-addr.arpa. 86400 IN A 127.0.0.1 1.0.0.127.in-addr.arpa. 86400 IN AAAA ::1 ;; Query time: 0 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 12:07:58 2015 ;; MSG SIZE rcvd: 121
添加反向解析:
一、先添加反向解析區域
[root@xxx ~]# cat /etc/named.conf options { directory "/var/named"; }; zone "." IN { type hint; file "named.ca"; }; zone "locahost" IN { type master; file "named.localhost"; }; zone "localhost.localdomain" IN { type master; file "named.localhost"; }; zone "1.0.0.127.in-addr.arpa." IN { type master; file "named.loopback"; }; zone "magelinux.com." IN { type master; file "magelinux.zone"; }; zone "100.168.192.in-addr.arpa." IN { type master; file "192.168.100.zone"; };
二、添加資源記錄
[root@xxx named]# cat 192.168.100.zone $TTL 6000 @ IN SOA sbsb.magelinux.com admin.magelinux.com. ( 2015091019 2H 10M 7D 1D ) IN NS sbsb.magelinux.com. 20 IN PTR sbsb.magelinux.com. 21 IN PTR mail.magelinux.com. 22 IN PTR www.magelinux.com. [root@xxx named]# [root@xxx named]# dig -x 192.168.100.20 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 192.168.100.20 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 33192 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;20.100.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 20.100.168.192.in-addr.arpa. 6000 IN PTR sbsb.magelinux.com. ;; AUTHORITY SECTION: 100.168.192.in-addr.arpa. 6000 IN NS sbsb.magelinux.com. ;; ADDITIONAL SECTION: sbsb.magelinux.com. 6000 IN A 192.168.100.20 ;; Query time: 0 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 15:22:25 2015 ;; MSG SIZE rcvd: 107 [root@xxx named]# dig -x 127.0.0.1 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.37.rc1.el6_7.4 <<>> -x 127.0.0.1 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49959 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 2 ;; QUESTION SECTION: ;1.0.0.127.in-addr.arpa. IN PTR ;; ANSWER SECTION: 1.0.0.127.in-addr.arpa. 86400 IN PTR localhost. ;; AUTHORITY SECTION: 1.0.0.127.in-addr.arpa. 86400 IN NS 1.0.0.127.in-addr.arpa. ;; ADDITIONAL SECTION: 1.0.0.127.in-addr.arpa. 86400 IN A 127.0.0.1 1.0.0.127.in-addr.arpa. 86400 IN AAAA ::1 ;; Query time: 0 msec ;; SERVER: 192.168.100.20#53(192.168.100.20) ;; WHEN: Wed Sep 16 15:22:33 2015 ;; MSG SIZE rcvd: 121
反向解析區域數據庫文件:區域名稱以逆向的網絡地址,並以.in-addr.arpa爲後綴
第一條必須爲SOA
應該具備NS記錄,但不能出現MX和A記錄
較常見的即爲PTR記錄
名稱爲逆向的主機地址,