DNS是什麼web
DNS:Domain Name System,域名系統數據庫
DNS做爲域名和IP地址相互映射的一個分佈式數據庫,可以讓用戶更方便的訪問互聯網。它的正向映射是把一個主機和IP地址關聯起來,它的反向映射則是IP地址到主機名。DNS使用TCP和UDP的53號端口。當前,對於每一級域名長度的限制是63個字符,域名總長度不能超過253個字符。vim
爲何要用DNS
centos
鏈接到互聯網的主機不可勝數。當我要訪問www.magedu.com這個網站。因爲底層網絡只能理解IP地址,而個人電腦不知道www.magedu.com這臺主機的IP地址。DNS服務器收到查詢請求以後,把查詢到的結果(IP:101.200.188.230)再返還給個人電腦。而後個人電腦再經過IP地址進行訪問。 緩存
如圖所示:bash
一、本機向DNS服務器發送查詢請求。服務器
二、DNS服務器將查詢的結果返還給本機。
網絡
三、本機經過IP地址訪問www.magedu.com。dom
域名:tcp
DNS名稱空間被組織成一個「樹」形結構。每一個完成的域名(例如,www.magedu.com)是這顆樹的分支上的一個節點。完整限定域名(FQDN,Fully Qualified Domain Name)是到一個DNS對象的完整路徑,包括最後一個點。
以上述的域名爲例說明,magedu網址是由兩部分組成,標號magedu是這個域名的主體,而最後的標號com則是該域名的後綴,表明的這是一個com國際域名,是頂級域名。而前面的www是網絡名,爲www的域名。DNS規定,域名中的標號由英文字母和數字組成,每一個組成部分(標號)不能超過63個字符,整個FQDN(完整域名)全長不超過256個字符。FQDN不區分大小寫,可是他們一般都採用小寫。RFC2181對域名放開了限制。
域名級別
域名分爲:
國際頂級域名:.com, .net, .org, .edu等
國家地區頂級域名:.cn, .de, .jp, .hk, .uk, .us等
除了頂級域名外,還有二級域名,就是靠近頂級域名左側的字段。如:www.magedu.com中,.magedu就是二級域名。接下來還有三級域名,即靠近二級域名的左側的字段,以此類推還有四級域名等。
DNS查詢類型:
遞歸查詢:客戶端向根服務器發送請求,根服務器並不返回真實的答案,而是推薦它下級的服務器,以此類推,直到查詢IP地址返回給客戶機。
迭代查詢:客戶機向DNS服務器發送請求,DNS服務器直接回復答案給客戶機。
域名解析
正向解析:FQDN到IP地址的解析。
反向解析:IP地址到FQDN的解析。
域名服務器的分類
服務器的類型 | 說明 |
主服務器 | 維護所負責解析的域內解析庫的服務器 |
從服務器 | 從主DNS服務器或其它從DNS服務器「複製」(區域傳送)一份解析庫 |
緩存服務器 | 緩存之前的查詢,一般沒有本地的區 |
轉發服務器 | 負責非本地域名的本地查詢 |
一次完整的查詢過程
以上述域名www.magedu.com爲例。客戶機向最近的遠端DNS服務器發送查詢請求,DNS服務器首先查看緩存中是否有www.magedu.com這條記錄。若是沒有就向根服務器發送查詢請求,根服務器會告訴你要去請求.com頂級服務器。以後DNS服務器再向頂級域名服務器發送查詢請求,獲得的回覆是向.magedu這個二級域名服務器發送查詢請求。最終,DNS服務器向二級域名發送請求並獲得正確答案返回給客戶機。同時將這次查詢的結果寫入緩存之中,以便下次的查詢。
資源記錄
DNS層次結構中的每個區(zone),都有與之相關的一組資源記錄。資源記錄的基本格式是:
name [TTL] IN rr_type value
記錄的類型
類型 | 名稱 | 功能 |
SOA | Start Of Authority | 定義一個DNS區 |
NS | Name Server | 標識服務器,受權子域 |
A | IPv4 Address | 名稱到地址的轉換 |
AAAA | IPv6 Address | 名稱到IPv6地址的轉換 |
PTR | Pointer | 地址到名字的轉換 |
MX | Mail Exchanger | 控制郵件的路由 |
CNAME | Canonical Name | 主機的呢稱或別名 |
記錄的類型解釋
SOA
一個SOA記錄標記出一個區,即位於DNS域名空間中相同位置的一組資源記錄的開始位置。一個DNS域的數據一般至少包括兩個區:一個區用來把主機名轉換成IP地址,稱爲正向區,其餘一些區把IP地址反向映射到主機名,稱爲反向區。
例如: magedu.com. 86400 IN SOA ns.magedu.com. admin.magedu.com. ( 2016040201 ; 序列號 2H ;刷新時間 10M ;重試時間 1W ;過時時間 1D ;否認答案的TTL值 )
NS
NS(域名服務器)記錄標識一個區的權威服務器(主服務器和從服務器),並把子域受權給其餘機構。NS記錄一般直接放在這個區的SOA記錄後面。
注意:一個區域能夠有多條NS記錄
例如: magedu.com. IN NS ns1.magedu.com. magedu.com. IN NS ns2.magedu.com. 注意: 相鄰的兩個資源記錄的name相同時,後續的能夠省略。 對NS記錄而言,任何一個NS記錄後面的服務器名字,都應該在後續有一個A記錄。
MX
電子郵件系統使用MX記錄來更有效地路由郵件。MX記錄優先於郵件發送方所指定的目的地址,在大多數狀況下,它將郵件指向接收方網點的郵件主機。
一個區域內,MX記錄可有多個,可是每一個記錄的value以前應該有一個數字(0-99)。表示此服務器的優先級,數字越小優先級越高。 例如: magedu.com. IN MX 10 mx1.magedu.com. IN MX 20 mx2.magedu.com. 注意: 對MX記錄而言,任何一個MX記錄後面的服務器名字,都應該在後續有一個A記錄。
A
A記錄是DNS數據庫的核心。它們提供了主機名到IP地址的映射,而這之前是在/etc/hosts文件中指定的。一個主機一般給它的每一個網絡端口都有一條A記錄。
例如: ns1 IN A 101.200.188.230
AAAA
AAAA記錄提供主機名到IPv6地址的映射。
PTR
PTR記錄提供IP地址到主機名的反向映射。反向映射記錄存在於in-addr.arpa這個域,而且以IP地址各字節逆序的形式命名。
例如: 101 IN PTR www.magedu.com.
CNAME
CNAME記錄爲以前多分配幾個名字。一般,這些別名要麼用來將某項功能與主機關聯起來,要麼用來縮短一個長主機名。
例如: web.magedu.com. IN CNAME www.magedu.com.
BIND
BIND指Berkeley Internet Name Domain(伯克利因特網域名)系統,它是ISC提供的一種開源軟件包,爲Linux、Unix、Mac OS和Windows系統實現了DNS協議。
BIND安裝
# yum -y install bind bind-utils
BIND簡介
dns:協議
bind:dns協議的一種實現
named:bind程序運行的進程名
bind-libs:被bind和bind-utils包中的程序共同用到的庫文件
bind-utils:bind客戶端程序集,例如:dig,host,nslookup等
bind:提供的dns server程序,已經幾個經常使用的測試程序
bind-chroot:選裝,讓named運行於jail模式下
bind配置文件說明
主配置文件:/etc/named.conf
或包含進來的其它文件
/etc/named.iscdly.key
/etc/named.rfc1912.zones
/etc/named.root.key
區域配置文件通常在/etc/named.rfc1912.zones,全局配置在/etc/named.conf中
一、主配置文件格式:
全局配置段:
options { ... }; #注意內容先後有空格,分號結尾
日誌配置段:
logging { ... };
區域配置段:
zone { ... };
配置那些由本機負責解析的區域,或轉發的區域
注意:每一個語句必須以分號結尾
二、緩存名稱服務器的配置:(注意此處的配置應該在使用前操做)
監聽能與外部主機通訊的地址:
listen-on port 53 { 192.168.130.242; };
通常狀況,建議關閉dnssec(基本上用不到,並且很麻煩,反正我是不知道。。)
dnssec-enable no;
dnssec-validation no;
dnssec-lookaside no; #或者在前面加倆個//;
修改僅容許本地查詢:
allow-query { any; }; #或者註釋掉
解析庫文件
/var/nanmed/目錄下:
通常名字爲:ZONE_NAME.zone
例如:bjwf.com.zone
192.168.130.zone
注意:
一、一臺DNS服務器可同時爲多個區域提供解析
二、必需要有跟區域解析庫文件:named.ca
三、還應該有兩個區域解析庫文件:localhost和127.0.0.1的正反向解析庫
正向:named.localhost
反向:named.loopback
檢查配置文件語法錯誤
named-checkconf [/etc/named.conf]
named-checkzone ZONE_NAME ZONE_FILE
# named-checkconf # named-checkzone bjwf.com /var/named/bjwf.com.zone zone bjwf.com/IN: loaded serial 2016061202 OK
測試及管理工具
dig命令:
語法:dig [ -t RR_TYPE] name [@SERVER] [query options]
做用:用於測試DNS系統,所以其不會查詢hosts文件
查詢選項:
+[no]trace:跟蹤解析過程
+[no]recurse:進行遞歸解析
#正向解析 # dig -t A ns1.bjwf.com @192.168.130.240 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t A ns1.bjwf.com @192.168.130.240 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 5996 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;ns1.bjwf.com. IN A ;; ANSWER SECTION: ns1.bjwf.com. 86400 IN A 192.168.130.240 ;; AUTHORITY SECTION: bjwf.com. 86400 IN NS ns2.bjwf.com. bjwf.com. 86400 IN NS ns1.bjwf.com. ;; ADDITIONAL SECTION: ns2.bjwf.com. 86400 IN A 192.168.130.241 ;; Query time: 1 msec ;; SERVER: 192.168.130.240#53(192.168.130.240) ;; WHEN: 一 6月 13 16:55:05 CST 2016 ;; MSG SIZE rcvd: 105 #反向解析 # dig -x 202.106.0.20 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -x 202.106.0.20 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 41309 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 ;; OPT PSEUDOSECTION: ; EDNS: version: 0, flags:; udp: 4096 ;; QUESTION SECTION: ;20.0.106.202.in-addr.arpa. IN PTR ;; ANSWER SECTION: 20.0.106.202.IN-ADDR.ARPA. 38400 IN PTR c1-xingfudajie-ns2. ;; Query time: 6 msec ;; SERVER: 202.106.0.20#53(202.106.0.20) ;; WHEN: 一 6月 13 17:31:52 CST 2016 ;; MSG SIZE rcvd: 111 #模擬徹底區域傳送 # dig -t axfr DOMAIN [@server] # dig -t axfr bjwf.com. @192.168.130.240 ; <<>> DiG 9.9.4-RedHat-9.9.4-29.el7_2.3 <<>> -t axfr bjwf.com. @192.168.130.240 ;; global options: +cmd bjwf.com. 86400 IN SOA ns1.bjwf.com. admin.bjwf.com. 2016061202 3600 300 604800 86400 bjwf.com. 86400 IN NS ns1.bjwf.com. bjwf.com. 86400 IN NS ns2.bjwf.com. ns1.bjwf.com. 86400 IN A 192.168.130.240 ns2.bjwf.com. 86400 IN A 192.168.130.241 www.bjwf.com. 86400 IN A 192.168.130.241 bjwf.com. 86400 IN SOA ns1.bjwf.com. admin.bjwf.com. 2016061202 3600 300 604800 86400 ;; Query time: 1 msec ;; SERVER: 192.168.130.240#53(192.168.130.240) ;; WHEN: 一 6月 13 17:33:44 CST 2016 ;; XFR size: 7 records (messages 1, bytes 192)
host命令:
host [ -t RR_TYPE] name SERVER_IP
# host 192.168.130.240 240.130.168.192.in-addr.arpa domain name pointer bogon. # host -t A www.bjwf.com www.bjwf.com has address 192.168.130.241
nslookup命令:
nslookup [ -options] [name] [server]
# nslookup www.bjwf.com Server: 127.0.0.1 Address: 127.0.0.1#53 Name: www.bjwf.com Address: 192.168.130.241
rndc命令:named服務控制命令
# rndc status version: 9.9.4-RedHat-9.9.4-29.el7_2.3 <id:8f9657aa> CPUs found: 4 worker threads: 4 UDP listeners per interface: 4 number of zones: 103 debug level: 0 xfers running: 0 xfers deferred: 0 soa queries in progress: 0 query logging is OFF recursive clients: 0/0/1000 tcp clients: 0/100 server is up and running
配置一個主DNS服務器
以bjwf.com域爲例:
一、定義主配置文件
# vim /etc/named.conf options { listen-on port 53 { 192.168.130.242; }; 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; }; recursion yes; dnssec-enable no; dnssec-validation no; /* Path to ISC DLV key */ bindkeys-file "/etc/named.iscdlv.key"; managed-keys-directory "/var/named/dynamic"; }; logging { channel default_debug { file "data/named.run"; severity dynamic; }; }; zone "." IN { type hint; file "named.ca"; }; include "/etc/named.rfc1912.zones"; include "/etc/named.root.key";
二、定義區域配置文件
# vim /etc/named.rfc1912.zones zone "bjwf.com" IN { type master; file "bjwf.com.zone"; }; zone "130.168.192.in-addr.arpa" IN { type master; file "192.168.130.zone"; }; #注意:區域名字即爲域名
三、創建區域數據文件(主要爲A或AAAA記錄等)
在/var/named/目錄下創建區域數據文件
# vim /var/named/bjwf.com.zone (正向區域文件) $TTL 86400 @ IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061301 1H 5M 7D 1D ) IN NS ns1.bjwf.com. IN NS ns2.bjwf.com. IN MX 10 mx1 IN MX 15 mx2 mx1 IN A 192.168.130.111 mx2 IN A 192.168.130.112 ns1 IN A 192.168.130.242 ns2 IN A 192.168.130.243 www IN A 192.168.130.240 # vim /var/named/192.168.130.zone (反向區域文件) $TTL 86400 @ IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061401 1H 5M 7D 1D ) IN NS ns1.bjwf.com. IN NS ns2.bjwf.com. 242 IN NS ns1.bjwf.com. 243 IN NS ns2.bjwf.com. 240 IN PTR www.bjwf.com. 245 IN PTR ftp.bjwf.com.
四、檢查配置文件並修改區域配置文件權限
#檢查語法 # named-checkconf # named-checkzone "bjwf.com" bjwf.com.zone zone bjwf.com/IN: loaded serial 2016061301 OK # named-checkzone "130.168.192.in-addr.arpa" 192.168.130.zone zone 130.168.192.in-addr.arpa/IN: loaded serial 2016061301 OK #修改權限及屬組 # chown root:named 192.168.130.zone # chown root:named bjwf.com.zone # chmod 640 192.168.130.zone # chmod 640 bjwf.com.zone # ll -rw-r----- 1 root named 261 Jun 14 11:01 192.168.130.zone -rw-r----- 1 root named 291 Jun 13 18:00 bjwf.com.zone
五、啓動服務器並查詢
# service named start Generating /etc/rndc.key: [ OK ] Starting named: [ OK ] # netstat -tunlp|grep 53 tcp 0 0 192.168.130.242:53 0.0.0.0:* LISTEN 3019/named tcp 0 0 127.0.0.1:953 0.0.0.0:* LISTEN 3019/named tcp 0 0 ::1:953 :::* LISTEN 3019/named udp 0 0 192.168.130.242:53 0.0.0.0:* 3019/named #查詢 # dig -t A www.bjwf.com @192.168.130.242 (正向) ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.bjwf.com @192.168.130.242 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2828 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;www.bjwf.com. IN A ;; ANSWER SECTION: www.bjwf.com. 86400 IN A 192.168.130.240 ;; AUTHORITY SECTION: bjwf.com. 86400 IN NS ns2.bjwf.com. bjwf.com. 86400 IN NS ns1.bjwf.com. ;; ADDITIONAL SECTION: ns1.bjwf.com. 86400 IN A 192.168.130.242 ns2.bjwf.com. 86400 IN A 192.168.130.243 ;; Query time: 0 msec ;; SERVER: 192.168.130.242#53(192.168.130.242) ;; WHEN: Tue Jun 14 13:22:16 2016 ;; MSG SIZE rcvd: 114 # dig -x 192.168.130.240 @192.168.130.242 (反向) ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.130.240 @192.168.130.242 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 49513 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;240.130.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 240.130.168.192.in-addr.arpa. 86400 IN PTR www.bjwf.com. ;; AUTHORITY SECTION: 130.168.192.in-addr.arpa. 86400 IN NS ns2.bjwf.com. 130.168.192.in-addr.arpa. 86400 IN NS ns1.bjwf.com. ;; ADDITIONAL SECTION: ns1.bjwf.com. 86400 IN A 192.168.130.242 ns2.bjwf.com. 86400 IN A 192.168.130.243 ;; Query time: 0 msec ;; SERVER: 192.168.130.242#53(192.168.130.242) ;; WHEN: Tue Jun 14 13:22:36 2016 ;; MSG SIZE rcvd: 140
配置從DNS服務器
一、定義主配置文件
# vim /etc/named.conf options { listen-on port 53 { 192.168.130.243; }; // listen-on-v6 port 53 { ::1; }; 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; }; recursion yes; # vim /etc/named.rfc1912.zones zone "bjwf.com" IN { #正向解析 type slave; #類型從DNS masters { 192.168.130.242; }; #主DNS的IP地址 file "slaves/bjwf.com.zone"; #bjwf.com.zone拷貝到slaves文件夾下 }; zone "130.168.192.in-addr.arpa" IN { #反向解析 type slave; #類型從DNS masters { 192.168.130.242; }; #主DNS的IP地址 file "slaves/192.168.130.zone"; #192.168.130.zone拷貝到salves文件夾下 }; # service named start #重啓服務 Generating /etc/rndc.key: [ OK ] Starting named: [ OK ] #查看同步過來的文件 # cat bjwf.com.zone $ORIGIN . $TTL 86400 ; 1 day bjwf.com IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061301 ; serial #版本號 3600 ; refresh (1 hour) #更新時間 300 ; retry (5 minutes) #更新失敗,重試更新時間 604800 ; expire (1 week) #更新失敗多長時間後此DNS失效時間 86400 ; minimum (1 day) #解析不到請求不予回覆的時間 ) NS ns1.bjwf.com. #域名服務器 NS ns2.bjwf.com. #域名服務器 $ORIGIN bjwf.com. ns1 A 192.168.130.242 #ns1域名服務器的地址 ns2 A 192.168.130.243 #ns2域名服務器的地址 www A 192.168.130.240 #www服務器的地址 # cat 192.168.130.zone $ORIGIN . $TTL 86400 ; 1 day 130.168.192.in-addr.arpa IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061401 ; serial 3600 ; refresh (1 hour) 300 ; retry (5 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns1.bjwf.com. NS ns2.bjwf.com. $ORIGIN 130.168.192.in-addr.arpa. 240 PTR www.bjwf.com. 242 NS ns1.bjwf.com. 243 NS ns2.bjwf.com. 245 PTR ftp.bjwf.com.
二、更新數據查看同步
# vim /var/named/bjwf.com.zone $TTL 86400 @ IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061302 #版本號修改了 1H 5M 7D 1D ) IN NS ns1.bjwf.com. IN NS ns2.bjwf.com. ns1 IN A 192.168.130.242 ns2 IN A 192.168.130.243 www IN A 192.168.130.240 p_w_picpath IN A 192.168.130.10 #新增A記錄 img IN CNAME p_w_picpaths #新增CNAME記錄 # vim /var/named/192.168.130.zone $TTL 86400 @ IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061402 #版本號加一 1H 5M 7D 1D ) IN NS ns1.bjwf.com. IN NS ns2.bjwf.com. 242 IN NS ns1.bjwf.com. 243 IN NS ns2.bjwf.com. 240 IN PTR www.bjwf.com. 245 IN PTR ftp.bjwf.com. 10 IN PTR p_w_picpath.bjwf.com. #新增的記錄 # rndc reload server reload successful #重載一下 #在從服務器上查看一下 # cat bjwf.com.zone $ORIGIN . $TTL 86400 ; 1 day bjwf.com IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061302 ; serial 3600 ; refresh (1 hour) 300 ; retry (5 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns1.bjwf.com. NS ns2.bjwf.com. $ORIGIN bjwf.com. p_w_picpath A 192.168.130.10 #新增的同步完成 img CNAME p_w_picpaths ns1 A 192.168.130.242 ns2 A 192.168.130.243 www A 192.168.130.240 # cat 192.168.130.zone $ORIGIN . $TTL 86400 ; 1 day 130.168.192.in-addr.arpa IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061402 ; serial 3600 ; refresh (1 hour) 300 ; retry (5 minutes) 604800 ; expire (1 week) 86400 ; minimum (1 day) ) NS ns1.bjwf.com. NS ns2.bjwf.com. $ORIGIN 130.168.192.in-addr.arpa. 10 PTR p_w_picpath.bjwf.com. #新增的同步完成 240 PTR www.bjwf.com. 242 NS ns1.bjwf.com. 243 NS ns2.bjwf.com. 245 PTR ftp.bjwf.com.
三、在從服務器上測試一下
# dig -t A img.bjwf.com @192.168.130.242 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A img.bjwf.com @192.168.130.242 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 1755 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;img.bjwf.com. IN A ;; ANSWER SECTION: img.bjwf.com. 86400 IN CNAME p_w_picpaths.bjwf.com. ;; AUTHORITY SECTION: bjwf.com. 86400 IN SOA ns1.bjwf.com. admin.bjwf.com. 2016061302 3600 300 604800 86400 ;; Query time: 1 msec ;; SERVER: 192.168.130.242#53(192.168.130.242) ;; WHEN: Tue Jun 14 15:23:41 2016 ;; MSG SIZE rcvd: 97 # dig -t A img.bjwf.com @192.168.130.243 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A img.bjwf.com @192.168.130.243 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN, id: 24987 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 0 ;; QUESTION SECTION: ;img.bjwf.com. IN A ;; ANSWER SECTION: img.bjwf.com. 86400 IN CNAME p_w_picpaths.bjwf.com. ;; AUTHORITY SECTION: bjwf.com. 86400 IN SOA ns1.bjwf.com. admin.bjwf.com. 2016061302 3600 300 604800 86400 ;; Query time: 0 msec ;; SERVER: 192.168.130.243#53(192.168.130.243) ;; WHEN: Tue Jun 14 15:23:53 2016 ;; MSG SIZE rcvd: 97 #能夠看出主從上都同樣 # dig -x 192.168.130.10 @192.168.130.243 #反向解析也沒有問題 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -x 192.168.130.10 @192.168.130.243 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 37022 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 2, ADDITIONAL: 2 ;; QUESTION SECTION: ;10.130.168.192.in-addr.arpa. IN PTR ;; ANSWER SECTION: 10.130.168.192.in-addr.arpa. 86400 IN PTR p_w_picpath.bjwf.com. ;; AUTHORITY SECTION: 130.168.192.in-addr.arpa. 86400 IN NS ns1.bjwf.com. 130.168.192.in-addr.arpa. 86400 IN NS ns2.bjwf.com. ;; ADDITIONAL SECTION: ns1.bjwf.com. 86400 IN A 192.168.130.242 ns2.bjwf.com. 86400 IN A 192.168.130.243
子域受權
1、子域配置
一、主域服務器配置
# vim /var/named/bjwf.com.zone $TTL 86400 @ IN SOA ns1.bjwf.com. admin.bjwf.com. ( 2016061303 1H 5M 7D 1D ) IN NS ns1.bjwf.com. IN NS ns2.bjwf.com. ns1 IN A 192.168.130.242 ns2 IN A 192.168.130.243 www IN A 192.168.130.240 p_w_picpath IN A 192.168.130.10 img IN CNAME p_w_picpaths test IN NS ns1.test.bjwf.com. ns1 IN A 192.168.130.244 # rndc reload #重載服務 server reload successful
二、子域服務器配置
(1)、修改主配置文件及區域定義文件
# vim /etc/named.conf options { listen-on port 53 { 192.168.130.244; }; 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; }; recursion yes; # vim /etc/named.rfc1912.zones zone "test.bjwf.com" IN { type master; file "test.bjwf.com.zone"; };
(2)、定義區域文件
# vim /var/named/test.bjwf.com.zone $TTL 86400 @ IN SOA ns1.test.bjwf.com. admin.test.bjwf.com. ( 2016061401 1H 2M 7D 1D ) IN NS ns1.test.bjwf.com. ns1 IN A 192.168.130.244 www IN A 192.168.130.20 # chown :named test.bjwf.com.zone # chmod 640 test.bjwf.com.zone # named-checkconf # named-checkzone "test.bjwf.com" test.bjwf.com.zone zone test.bjwf.com/IN: loaded serial 2016061401 OK # service named start #啓動子域進行測試 Starting named: [ OK ] # dig -t A www.test.bjwf.com @192.168.130.244 #經過子域測試能夠實現 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.244 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 2134 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.test.bjwf.com. IN A ;; ANSWER SECTION: www.test.bjwf.com. 86400 IN A 192.168.130.20 ;; AUTHORITY SECTION: test.bjwf.com. 86400 IN NS ns1.test.bjwf.com. ;; ADDITIONAL SECTION: ns1.test.bjwf.com. 86400 IN A 192.168.130.244 ;; Query time: 0 msec ;; SERVER: 192.168.130.244#53(192.168.130.244) ;; WHEN: Tue Jun 14 16:06:50 2016 ;; MSG SIZE rcvd: 85 # dig -t A www.test.bjwf.com @192.168.130.242 #經過主域查詢不到 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.242 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 20380 ;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 0 ;; QUESTION SECTION: ;www.test.bjwf.com. IN A ;; Query time: 1 msec ;; SERVER: 192.168.130.242#53(192.168.130.242) ;; WHEN: Tue Jun 14 16:06:53 2016 ;; MSG SIZE rcvd: 35
2、DNS轉發
DNS轉發,通常指向外網的dns服務器,當本地沒有記錄時會向外網dns服務器發起查詢請求。
注意:被轉發的服務器必須容許爲當前服務作遞歸;
一、區域轉發:僅轉發對某特定區域的解析請求:
zone "ZONE_NAME" IN {
type forward;
forward (first|only); #配置文件中不能有扣號。centos6.7中測試
};
first:首先轉發;轉發器不響應時,自行去迭代查詢;
only:只轉發;
二、全局轉發:針對凡本地沒有經過zone定義的區域查詢請求,統統抓給某轉發服務器。
options {
... ...
forward {only|first};
forwarders {SERVER_IP;};
... ...
};
(1)、首先在主從服務器上分別配置子域轉發。
# vim /etc/named.rfc1912.zones zone "test.bjwf.com" IN { type forward; forward only; forwarders { 192.168.130.244; }; }; # rndc reload 或 service named restart #分別主從DNS服務器上執行 #測試 # dig -t A www.test.bjwf.com @192.168.130.244 #在子域測試 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.244 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 22532 ;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.test.bjwf.com. IN A ;; ANSWER SECTION: www.test.bjwf.com. 86400 IN A 192.168.130.20 ;; AUTHORITY SECTION: test.bjwf.com. 86400 IN NS ns1.test.bjwf.com. ;; ADDITIONAL SECTION: ns1.test.bjwf.com. 86400 IN A 192.168.130.244 ;; Query time: 0 msec ;; SERVER: 192.168.130.244#53(192.168.130.244) ;; WHEN: Tue Jun 14 16:28:54 2016 ;; MSG SIZE rcvd: 85 # dig -t A www.test.bjwf.com @192.168.130.242 #主域測試 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.242 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 11415 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.test.bjwf.com. IN A ;; ANSWER SECTION: www.test.bjwf.com. 86284 IN A 192.168.130.20 ;; AUTHORITY SECTION: test.bjwf.com. 86284 IN NS ns1.test.bjwf.com. ;; ADDITIONAL SECTION: ns1.test.bjwf.com. 86284 IN A 192.168.130.244 ;; Query time: 1 msec ;; SERVER: 192.168.130.242#53(192.168.130.242) ;; WHEN: Tue Jun 14 16:28:56 2016 ;; MSG SIZE rcvd: 85 # dig -t A www.test.bjwf.com @192.168.130.243 #主域從服務器上測試 ; <<>> DiG 9.8.2rc1-RedHat-9.8.2-0.47.rc1.el6 <<>> -t A www.test.bjwf.com @192.168.130.243 ;; global options: +cmd ;; Got answer: ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 34667 ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 1, ADDITIONAL: 1 ;; QUESTION SECTION: ;www.test.bjwf.com. IN A ;; ANSWER SECTION: www.test.bjwf.com. 86343 IN A 192.168.130.20 ;; AUTHORITY SECTION: test.bjwf.com. 86343 IN NS ns1.test.bjwf.com. ;; ADDITIONAL SECTION: ns1.test.bjwf.com. 86343 IN A 192.168.130.244 ;; Query time: 1 msec ;; SERVER: 192.168.130.243#53(192.168.130.243) ;; WHEN: Tue Jun 14 16:28:59 2016 ;; MSG SIZE rcvd: 85
(2)、全局轉發這裏不在演示。。自行測試。。
大概寫到這吧。。之後可能還有補充。。寫的比較亂,比較雜,敬請諒解,有什麼不對的地方,麻煩朋友們告訴我。以上爲我的學習整理,若有錯漏,大神勿噴。。。