75
1 網網網網網網網網 (DNS) 網網網網網 網 網 網 網 網 網 網 網 網 網 網 網 [email protected] TANet DNS Tutorial Course, 88.06.04

網域名稱伺服系統 (DNS) 規劃與建置

  • Upload
    luce

  • View
    139

  • Download
    1

Embed Size (px)

DESCRIPTION

網域名稱伺服系統 (DNS) 規劃與建置. 交 通 大 學 計 算 機 中 心 陳 昌 盛 [email protected]. TANet DNS Tutorial Course, 88.06.04. 1999 TANet DNS Tutorial Course. DNS 入門簡介 (p.4-18) DNS 建置與規劃 (p.19-25) DNS 設定範例與解說 (p.26-53) 常見的 DNS 規劃與設定問題 (p.54-56) 附錄 (p.57-75). - PowerPoint PPT Presentation

Citation preview

Page 1: 網域名稱伺服系統  (DNS) 規劃與建置

1

網域名稱伺服系統 (DNS) 規劃與建置

交 通 大 學 計 算 機 中 心陳 昌 盛

[email protected]

TANet DNS Tutorial Course, 88.06.04

Page 2: 網域名稱伺服系統  (DNS) 規劃與建置

2

1999 TANet DNS Tutorial Course

• DNS 入門簡介 (p.4-18)

• DNS 建置與規劃 (p.19-25)

• DNS 設定範例與解說 (p.26-53)

• 常見的 DNS 規劃與設定問題 (p.54-56)

• 附錄 (p.57-75)

Page 3: 網域名稱伺服系統  (DNS) 規劃與建置

3

0. 從何處取得 DNS 系統的相關資訊 ?

• DNS Resource Directory– http://www.dns.net/dnsrd

• http://dnsrd.nctu.edu.tw ( 中文 )• the O’Reilly DNS bible ‘DNS and BIND’

– 第 3 版已出書 , 有介紹 BIND 8.x

• DNS related RFC ( Request For Comments )– RFC 1033, 1034, 1035, ..., 1912, ...

• Newsgroups:– ‘comp.protocols.tcp-ip.domains’ ( 行政管理 )

– comp.protocols.dns.* ( 技術 )

Page 4: 網域名稱伺服系統  (DNS) 規劃與建置

4

1. DNS 入門

(1.0) 什麼時候會用到 DNS 系統 ?– 往外連線時 (out-going 連線 )– 存取檢查 , 系統記錄 (incoming 連線 )

(1.1) DNS 系統的做用– 定義網域名稱 – 提供網域名稱查詢

(1.2) DNS 實務操作及應用

Page 5: 網域名稱伺服系統  (DNS) 規劃與建置

5

1.1.1 定義網域名稱• 網域授權 (domain zone -> NS RR)

• 網域名稱 ( domain name -> A RR)– telnet bbs.cis.nctu.edu.tw

• 電子郵件交換 ( mail exchange -> MX RR)– mail [email protected]

• 網址對應 (pointer -> PTR RR)– 140.113.1.1 -> ns1.nctu.edu.tw

• 常用別名 (alias naming -> CNAME RR)– proxy.nctu.edu.tw -> wproxy1.nctu.edu.tw

• 其他功能

Page 6: 網域名稱伺服系統  (DNS) 規劃與建置

6

網域名稱系統 (Domain Name System)

• 網域名稱系統 , 按英文常簡稱 DNS 系統 .

• DNS 系統 , 概分成三個部份– 網域空間 (Domain Name Space )– 網域名稱伺服系統 (Domain Name Server)

• BIND/named, ...

– 網域名稱解譯程式 (Domain Name Resolver)

• DNS client, agent, server

Page 7: 網域名稱伺服系統  (DNS) 規劃與建置

7

網域空間 (Domain Name Space)

• 分散式 與 階層式 的組織架構– tree-structure vs. DAG-structure– 地理區域 與 功能組織 的分類組合方式

• 正解網域 (forward domain zones): – ‘tw’, ‘edu.tw’, ...

• 反解網域 (reverse domain zones): – ‘113.140.in-addr.arpa’, ‘1.113.140.in-addr.arpa.

’, ...

Page 8: 網域名稱伺服系統  (DNS) 規劃與建置

8Fig.1 DNS 運作基本架構圖

com, org,netcn,hk,..cn,hk,..tw

gov, mil

Arpa

in-addr

INT

IP6

root servers

140

org org gov,migov,milledu

nctucomcom

netnet

hchc

hchshchs

wwwwww

cis

hgshhgshnckuncku

203203www . ... ..

127127cc

ns1

ccserv2

113

6250

2

114114 eeee

bbs......

......

nehsnehs

ccserv2.cc.nctu.edu.tw<=> 140.113.6.2

.... mailmail

192

. . .

NSAP

..

Page 9: 網域名稱伺服系統  (DNS) 規劃與建置

9

1.1.2 DNS - 提供查詢• DNS 相關程式

– client( 用戶端 ), agent( 代理查詢 ), server( 伺服器 )• DNS 查詢 (query)

– iterative mode ( 往復式 ; referral) – recursive mode ( 遞迴式 )

• DNS server ( 伺服系統 )– primary/master ( 原始資料 server) vs secondary/slave– caching, forwarder ( 查詢轉送 )

• DNS caching – Time-To-Live (TTL; 資料有效期限 )– positive caching( 正確資料 ) vs negative caching

Page 10: 網域名稱伺服系統  (DNS) 規劃與建置

10

DNS - 提供網路查詢 ( 續 )

• 資料項 round-robin mode ( 輪流 ) • load sharing/balancing

– round-trip-time ( RTT; 來回傳送時間 )

• reverse pointer query (IP addr. 反解查詢 )– inverse query ( 廣義反向查詢 )

Page 11: 網域名稱伺服系統  (DNS) 規劃與建置

11

1.2 DNS 實務操作及應用

• Domain Zone 的註冊與授權– forward / reverse domain zones– Primary/master; Secondary/slave DNS server

• DNS 上容易有錯誤觀念與設定的地方• 電子郵件轉接轉送 (Mail Relay) 服務• Anti-SPAM checking ( access control)

– 正反解 DNS 資料項 , 必須匹配• DNS 查詢轉送 (forwarders; 參見 3.2.2 )

Page 12: 網域名稱伺服系統  (DNS) 規劃與建置

12

1.2.1 正解 Domain Zone 註冊問題

• nctu.edu.tw ( 到 MOECC 登記 )

• csie.nctu.edu.tw ( 到 NCTU-CC 登記 )

• ck.tp.edu.tw ( 臺北建國高中 )– 直接由 MOECC 負責 (edu.tw)

• thps.hc.edu.tw ( 新竹市載熙國小 )– hc.edu.tw 目前由新竹區域網路中心負責

Page 13: 網域名稱伺服系統  (DNS) 規劃與建置

13

1.2.2 反解 Domain Zone 註冊問題

• 140.113 ( Class B; 透過 MOECC 向 InterNIC 註冊 )

• 140.126.3 ( 由 class B 分割 ; 到區域網路中心註冊 )

– 140.126 (Class B; 透過 MOECC 向 InterNIC 註冊 )

• 192.83.166 ( 個別 class C )– 透過 MOECC 到 InterNIC 註冊 )

• 203.68.12 ( class C; 到 MOECC 註冊 )

– 203.68 ( 整批 class C 到 APNIC 註冊 )

Page 14: 網域名稱伺服系統  (DNS) 規劃與建置

14

1.2.3 DNS server 的網址選定

$Origin NCTU.edu.tw.@ IN NS ns.nctu.edu.tw.

IN NS ns1.nctu.edu.tw.IN NS ns2.nctu.edu.tw.IN NS ns3.nctu.edu.tw. ; TANet 骨幹

;ns IN A 140.113.250.135ns1 IN A 140.113.1.1 ; 指定 x.y.z.1ns2 IN A 140.113.6.2ns3 IN A 163.28.64.246 ; 高速專用道

Page 15: 網域名稱伺服系統  (DNS) 規劃與建置

15

1.2.4 容易有錯誤觀念與設定的地方

$Origin NCTU.edu.tw.nctu.edu.tw.IN NS ns.nctu.edu.tw.; domain zone ==> dig @ns.nctu.edu.tw www.edu.tw

nctu.edu.tw.7200 IN A 140.113.1.1; domain name ==> telnet nctu.edu.tw

nctu.edu.tw.IN MX 0 ns1.nctu.edu.tw.; mail exchange ==> E-mail: [email protected];-------------------------------------------------------------------------nctu.edu.tw.IN NS nctu.edu.tw.

Page 16: 網域名稱伺服系統  (DNS) 規劃與建置

16

1.2.5 Mail Relay 的相關設定

• DNS side :; e-mail 最終目的地cc.nctu.edu.tw. IN MX 10 ccserv6.cc.nctu.edu.tw.

; mail relay ==> 宜善加利用 , 可作為“備援與轉接”之用cc.nctu.edu.tw. IN MX 20 mx.nctu.edu.tw.

; 高速專用道 (MOECC)cc.nctu.edu.tw. IN MX 30 relay.edu.tw.

• Mail relay server side:轉接系統 (relay access permission) 借道權限 , 必須打開 (send

mail.cf) ==> mx.nctu.edu.tw + relay.edu.tw

Page 17: 網域名稱伺服系統  (DNS) 規劃與建置

17

1.2.6 Anti-SPAM checking (DNS entry 正反解必須匹配 )

• domain name 驗證流程 . reverse forward

IP addr. A ---------> domain name B ---------> IP addr. C

Fig. 2 anti-SPAM checking 圖示• 其中 , IP addr. C ( 可能是一個 group), 必

須包含或等於 A 才算通過 DNS 查驗 .

Page 18: 網域名稱伺服系統  (DNS) 規劃與建置

18

DNS 系統新設計的功能 ( 部份已完成實作 )

• New DNS RR (rfc 1183)– RP, AFSDB, ISDN, X25, RT

• resolver implicit search problem (rfc 1535)• LOC (rfc 1876)• IPv6 ( rfc 1886)

– AAAA (new record type), IP6.INT (new domain top )• incremental zone transfer IXFR ( rfc 1995 ) • DNS notify (rfc 1996) -> BIND_NOTIFY• SRV (rfc 2052)• Secure Zone• Dynamic update ( IP/host )

Page 19: 網域名稱伺服系統  (DNS) 規劃與建置

19

2. DNS Server Hosts 配置與規劃

• 主機系統選擇 ( platform/OS )– Unix , Windows NT, OS/2, ... ( 現階段 , 仍以 Unix 為佳 )

• 硬體設備需求 – 主要 memory size, 原則是 named 將 90% 以上的 dns

query 放在 RAM 中 caching 起來 , 不需用到 swap.

• 系統軟體 ( BIND/named, ... )

• 網路位址 ( 多重 servers)

– primary/secondary server host 分離 , 放在不同的網路區段 , 當然如果能放在不同單位 , 通常更好 .

Page 20: 網域名稱伺服系統  (DNS) 規劃與建置

20

2.1 關於 BIND 的許多資訊

• 目前最新版本 8.2-P1 (1999.03.16)– 4.9.7 ( 舊式 ); BIND 8.x ( 新式 )

• 如何得知系統上的 named 版本 ?• 多數 Unix 廠家目前支援的版本 4.8.3

– 有沒有 Windows 下的版本 ?• 不同版本 BIND 之間功能差別 ?

Page 21: 網域名稱伺服系統  (DNS) 規劃與建置

21

BIND ( Berkeley Internet Name Domain )

• Standalone Daemon ( named )

• UDP/TCP port 53– UDP query/response ( < 512 bytes )– TCP response(>512 bytes) + zone transfer

• DNS message format

– Question/Answer section

– Authority section

– Additional section

• example --> dig output

Page 22: 網域名稱伺服系統  (DNS) 規劃與建置

22

2.1.1 如何得知系統上的 named 版本 ?

• 通常可以這麼作 .– 1) 確定 named program 的 pathname.

e.g. /etc/named, /usr/sbin/in.named, ...

作法 : 使用 which, find, ...

-- 2) 用 what 配合 grep 找出相關字串% what /usr/sbin/named | grep namednamed:

named 8.1.1 Thu Jun 26 15:03:59 EAT 1997 root@ns:/home/DNS/bind-8.1.1-REL/src/bin/named

Page 23: 網域名稱伺服系統  (DNS) 規劃與建置

23

2.1.2 不同版本 BIND 之間功能的差別 ?

– V8.x 整套程式 , 重新改寫 – /etc/named.boot (v4) -> /etc/named.conf ( v8)

– zone transfer ( named vs named-xfer )• no more fork for each AFXR jobs

– ( for v 8.1.X and later )

– BIND 4.9.7/8.1.2 與先前版本的重大差異• 新的功能

– negative caching

– bind_notify, IPv6 support, RFC 1535 compliant, ...

Page 24: 網域名稱伺服系統  (DNS) 規劃與建置

24

2.1.3 從何處取得 BIND 原始程式 ?

• BIND home at the ISC– http://www.isc.org/bind.html

– ftp://ftp.isc.org/isc/bind/*

• NCTUCCCA & mirror sites– ftp://NCTUCCCA.edu.tw/packages/networking/bind/*

Page 25: 網域名稱伺服系統  (DNS) 規劃與建置

25

2.2 BIND V8.x/4.9.x 程式的安裝

• BIND 4.9.x compiling & installation– $bind-src/README, OPTIONS– $bind-src/conf/options.h – check and/or update /etc/named.boot

• BIND 8.x compiling & instatllation– $bind-src/INSTALL, README– $bind-src/port/README– check and/or update /etc/named.conf

• DNS syslogging– /etc/syslog.conf– /var/adm/messages

Page 26: 網域名稱伺服系統  (DNS) 規劃與建置

26

3. DNS 設定範例與說明

• BIND server options• /etc/named.boot 設定範例

– /etc/named.conf (V8.x) – 自動轉換程式 named-bootconf.pl

• zone data files 設定範例• /etc/resolv.conf ( resolver) 設定範例• 參見 http://dnsrd.nctu.edu.tw 上的範例

Page 27: 網域名稱伺服系統  (DNS) 規劃與建置

27

3.1 DNS Server Options

• primary/master vs. secondary/slave

• caching only server

• forwarders ( slave server)

• recursive vs. non-recursive

Page 28: 網域名稱伺服系統  (DNS) 規劃與建置

28

3.1.2 DNS server list of “NCTU.edu.tw “

• master/slave server 的差別 ? 如何分工 ?• 目前 domain zone “NCTU.edu.tw” 登記

有 4 個 DNS servers (*)– ns.nctu.edu.tw / 140.113.250.135 (primary/master)– ns1.nctu.edu.tw / 140.113.1.1 (secondary/slave)– ns2.nctu.edu.tw / 140.113.6.2 (secondary/slave)– ns3.nctu.edu.tw /163.28.64.246 ( 臨時增加 )

• master/slave servers 最好分佈在不同的 sub-nets

Page 29: 網域名稱伺服系統  (DNS) 規劃與建置

29

DNS Server options

; type domain source file or host;-------------------------------------------------------------------------------------directory /var/named;cache . named.root;primary localhost Localhostprimary 0.0.127.IN-ADDR.ARPA Rev-127.0; [ 省略 ]primary NCTU.edu.tw Zone.NCTUsecondary ADM.nctu.edu.tw 140.113.2.1 Zone.ADMprimary CC.nctu.edu.tw Zone.CC; [ 省略 ]. . .primary 113.140.IN-ADDR.ARPA R-140.113primary 1.113.140.in-addr.arpa. R-140.113.1secondary 2.113.140.in-addr.arpa. 140.113.2.1 R-140.126.2

3.2 DNS Server Options-- /etc/named.boot (v4.x)

Page 30: 網域名稱伺服系統  (DNS) 規劃與建置

30

DNS Server Options ( 續 )-- /etc/named.conf ( 新版 ; v8.x)

options { check-names master fail; check-names slave fail; // default warn directory "/var/named"; fake-iquery yes; // default warn forwarders { 163.28.1.103; 139.175.55.244; };}; zone "." { type hint; file "named.root"; }; // cache root.cachezone "localhost" { type master; file "Localhost” }; zone "0.0.127.IN-ADDR.ARPA" { type master; file "Rev-127.0"};zone "HC.edu.tw" { type slave; file "sec/zone-HC.edu.tw"; masters {140.113.250.135; }; };zone "237.126.140.IN-ADDR.ARPA" { type slave; file "sec/R-140.126.237"; masters {140.113.250.135;}; };

Page 31: 網域名稱伺服系統  (DNS) 規劃與建置

31

directory /var/named;cache . named.root;; BIND 4.9.x & latercheck-names primary fail ; default failcheck-names secondary fail ; default warn;check-names response fail ; default ignore; [ 省略 ]primary localhost Localhostprimary 0.0.127.IN-ADDR.ARPA Rev-127.0primary 0.IN-ADDR.ARPA Rev-0primary 255.IN-ADDR.ARPA Rev-255; [ 省略 ]options fake-iquery;

DNS Server options3.2.1 Caching Only Server

-- /etc/named.boot

Page 32: 網域名稱伺服系統  (DNS) 規劃與建置

32

3.2.2 DNS Server Options (2) - /etc/named.boot

directory /var/named;cache . named.root;

[ 省略 ]]

; 設定 DNS forwarders, 以轉送 DNS query ( 末端網路節點適用 );---------------------------------------------------------------------------------forwarders 140.113.1.1 163.28.1.2;; options forward-only

xfernets 140.113.0.0 140.126.237.12&255.255.255.255;bogusns 203.74.66.1

Page 33: 網域名稱伺服系統  (DNS) 規劃與建置

33

3.2.3 DNS Server Options (3)- /etc/named.boot

directory /var/named;cache . named.root;

. .[ 省略 ]

options fake-iquery; options non-recursion; options forwarder-only; options query-log

Page 34: 網域名稱伺服系統  (DNS) 規劃與建置

34

3.3 Domain Zone files 設定

• Basic DNS Resource Record Types

– SOA, NS, A, PTR, CNAME, MX

– TXT, WKS, HINFO

– RP, AFSDB, AAAA ( IPv6) , LOC, SRV, ...

Page 35: 網域名稱伺服系統  (DNS) 規劃與建置

35

3.3.1 Special Symbols on DNS database

• Special Symbols for defining the DNS database– “@”, current origin– “*,” wildcard ( only for some of the types )– “ . ” , root domain & domain separator– “ ; ” , for comment lines– “( )”, grouping data which crossing a line

--> only work for SOA RR (now)– “\X”, --> escape character ; “\@”– “\DDD”, octal number ; -> “\345”

Page 36: 網域名稱伺服系統  (DNS) 規劃與建置

36

;; for forward/reverse Domain Zones. ;;----------------------------------------------------------------------------------- @ IN SOA ns.NCTU.edu.tw. hostmaster.nctu.edu.tw. ( 1997090200 ; Serial number 86400 ; Refresh - 1 days 1800 ; Retry 1728000 ; Expire - 20 days 259200 ) ; Minimum TTL - 3 days ;;------------------------------------------------------------------------------------ IN NS NCTU.edu.tw. IN NS ns.NCTU.edu.tw. ; primary / master IN NS ns2.nctu.edu.tw. ; localhosts. IN A 127.0.0.1 ; forward case ;; 1 IN PTR localhost. ; reverse case

3.3.2 SOA ( Start Of Authority ) RR

Page 37: 網域名稱伺服系統  (DNS) 規劃與建置

37

; forward domain zones ( 正解 );------------------------------------------------------------------; 上下兩層 “ NCTU.edu.tw” & “CSIE.NCTU.edu.tw” 的設定檔 ,; 都應該有對應的 Name Server 記錄項目 ( NS RR );-----------------------------------------------------------------$ORIGIN CSIE.NCTU.edu.tw.@ IN NS csie.nctu.edu.tw. ; FQDN IN NS operator

IN NS ccsun7 ; hostname;; Glued Recordscsie.nctu.edu.tw. IN A 140.113.17.171 IN A 140.113.209.171operator IN A 140.113.209.1ccsun7 IN A 140.113.17.6

3.3.3 Domain Zone delegation ( 授權)

-- NS (Name Server) RR

Page 38: 網域名稱伺服系統  (DNS) 規劃與建置

38

; 上下兩層 “ 113.140.in-addr.arpa.” & “23.113.140.in-addr.arpa” 的

; 設定檔 , 都應該有對應的 Name Server 記錄項目 ( NS RR )

; domain zone “23.113.140.in-addr.arpa” [ A]$ORIGIN 113.140.in-addr.arpa.23 IN NS cisserv.CIS..nctu.edu.tw. IN NS cissol1.CIS.nctu.edu.tw .; No Gluded Records

; domain zone “23.113.140.in-addr.arpa” [ B]$ORIGIN 23.113.140.in-addr.arpa.@ IN NS cisserv.cis.nctu.edu.tw. IN NS cissol1.cis.nctu.edu.tw.

NS RR (2) -- reverse domain ( 反解)

Page 39: 網域名稱伺服系統  (DNS) 規劃與建置

39

NS RR (3) - 錯誤示範* RFC 1034,1035,1912

; case 1 -> 任意指定 2nd NS RR ( 常犯錯誤 );--------------------------------------------------------$Origin NCTU.edu.tw.err1 IN NS ns-OK.NCTU.edu.tw.

IN NS No-named-Host.NCTU.edu.tw. ; LameIN NS moevax.edu.tw. ; 誤設

; case 2 -> NS 指到一個 alias ( CNAME ), intermittent error;-----------------------------------------------------$Origin 200.113.140.in-addr.arpa.err2 IN NS alias-ns.NCTU.edu.tw. ; 間些性 error

IN NS ns-OK.NCTU.edu.tw.

Page 40: 網域名稱伺服系統  (DNS) 規劃與建置

40

NS RR (4) -- 錯誤示範 * RFC 1034,1035,1912

; case 3 -> NS 指到一個 IP address;-------------------------------------------$Origin NCTU.edu.tw.err3 IN NS 140.113.1.1 ; 應為 fqdn/hostnam

e

; case 4 -> NS 指到一個不存在的機器;$Origin 200.113.140.in-addr.arpa.err4 IN NS Non-existent.NCTU.edu.tw.

IN NS ns-OK.nctu.edu.tw.

Page 41: 網域名稱伺服系統  (DNS) 規劃與建置

41

NS RR (5) --> Lame Servers* RFC 1034,1035,1912

; case 5 -> 上一層有額外指定 2nd NS RR ( 常犯錯誤 ); 但對應的 entry, 卻不在下一層中 .;------------------------------------------------------------------$Origin NCTU.edu.tw.err5 IN NS ns-OK.NCTU.edu.tw.

IN NS No-Good-ns.NCTU.edu.tw. ; 上一個 NS entry , 下一層 domain 中 , 未定義

;$Origin err5.NCTU.edu.tw.@ IN NS ns-OK.nctu.edu.tw.

IN NS ns2-OK.nctu.edu.tw.; It’s Ok ! 雖然 , 上一層沒有對應的 NS RR; 用途 , inside firewall, ...

Page 42: 網域名稱伺服系統  (DNS) 規劃與建置

42

3.3.4 A (Address) RR

; 一個 IP addr. , 但同時有多個 FQDN

$Origin NCTU.edu.tw.@ IN A 140.113.1.1 ; nctu.edu.tw.ns1 IN A 140.113.1.1 ; ns1.nctu.edu.tw.;www IN A 140.113.250.5;; 一個 FQDN, 但有好幾個對應的 IP addr.

$Origin CSIE.nctu.edu.tw.@ IN A 140.113.17.171 ; multi-home

dIN A 140.113.209.171

Page 43: 網域名稱伺服系統  (DNS) 規劃與建置

43

A RR -- 錯誤示範 (1)

; zone file “NCTU.edu.tw”;----------------------------------$Origin NCTU.edu.tw. ( 往下授權 );CIS IN NS CisServ.CIS.nctu.edu.tw.

IN NS CisSol1.CIS.nctu.edu.tw.CisServ.CIS IN A 140.113.23.1 ; glued recordCisSol1.CIS IN A 140.113.23.101;err-A.CIS IN A 140.113.23.254 ; 無效的設定

; zone file “CIS.nctu.edu.tw”$Origin CIS.nctu.edu.tw.CIS-gw IN A 140.113.23.254 ; OK

Page 44: 網域名稱伺服系統  (DNS) 規劃與建置

44

A RR -- 錯誤示範 (2)

$Origin NCTU.edu.tw.@ IN NS nctu.edu.tw ; IN A 140.113.1.1 ; OK;

IN NS ns2.nctu.edu.tw.IN A 140.113.6.2 ; invalid

; 這行有 語意問題 , nctu.edu.tw -> 140.113.6.2

; It might induce some mail routing problem(s).

IN NS ns.NCTU.edu.tw.ns IN A 140.113.250.135

Page 45: 網域名稱伺服系統  (DNS) 規劃與建置

45

3.3.5 PTR (Pointer) RR

; zone file “113.140.in-addr.arpa”$Origin 113.140.in-addr.arpa.1 IN NS ns.nctu.edu.tw. IN NS ns2.nctu.edu.tw. .[ 省略 ]; 140.113.254.99.254 IN PTR CSIE-gw.nctu.edu.tw.

;-------------> 上下兩 file 分開 <-----------------------; zone file “1.113.140.in-addr.arpa”$Origin 1.113.140.in-addr.arpa.@ IN NS ns.nctu.edu.tw. IN NS ns2.nctu.edu.tw.

.[ 省略 ]1 IN PTR NCTU.edu.tw.110 IN PTR moesun.NCTU.edu.tw.

Page 46: 網域名稱伺服系統  (DNS) 規劃與建置

46

;;------------------------------------------------------------------;; for both normal mail exchange & mail relay;; --> DNS & Sendmail;;-----------------------------------------------------------------

$ORIGIN CC.NCTU.edu.tw.; mail exchange@ IN MX 0 CC.nctu.edu.tw. ; FQDN

IN MX 0 ccserv6 ; hostname

; mail relayIN MX 20 mx.NCTU.edu.tw.

; mx wildcarding; must be used very carefully* IN MX 0 cc.nctu.edu.tw. ; Dis-courag

ed

3.3.6 MX ( Mail eXchange) RR

Page 47: 網域名稱伺服系統  (DNS) 規劃與建置

47

; Zone file for domain <NCTU.edu.tw > $Origin NCTU.edu.tw.news IN MX 0 news.cc.nctu.edu.tw. ; FQ

DN. . .

; news IN A ??? ; No such records

;; < another zone data file >$Origin cc.NCTU.edu.tw.@ IN MX 0 CC.nctu.edu.tw.

. . .cc.nctu.edu.tw. IN A 140.113.6.2

MX RR (2)

Page 48: 網域名稱伺服系統  (DNS) 規劃與建置

48

; zone file 1$Origin NCTU.edu.tw.;netnews IN CNAME news2.nctu.edu.tw. ; fqdn

; zone file 2$Origin EDU.tw.ftp IN CNAME nctuccca ; hostna

me;; zone file 3$Origin TWNIC.net.archie IN CNAME nctuccca.edu.tw

3.3.7 CNAME (Canonical NAME) RR

Page 49: 網域名稱伺服系統  (DNS) 規劃與建置

49

CNAME RR-- 常見錯誤實例 (1)

$Origin NCTU.edu.tw.; case 1 -> cname loopingcname-chain IN CNAME cname-chain.nctu.edu.t

w.

; case 2 -> ns-cname chaining ( 不能用 alias )err-ns IN CNAME ns-OK.NCTU.edu.tw. ; FQ

DNerr6 IN NS err-ns.NCTU.edu.tw. ; alias

Page 50: 網域名稱伺服系統  (DNS) 規劃與建置

50

CNAME RR-- 常見錯誤實例 (2)

$Origin NCTU.edu.tw.

; case 3 -> mx-cname chaining 連鎖 ( 不能用 alias )err-mail IN CNAME mx-host.nctu.edu.tw. err-mx-zone IN MX 10 err-mail.NCTU.edu.t

w.

; case 4 -> cname-cname chaining ( 不宜 ; 雖然現在可以用 )

alias1 IN CNAME host1.NCTU.edu.tw. ; FQDN

alias2 IN CNAME alias1.NCTU.edu.tw. ; alias

Page 51: 網域名稱伺服系統  (DNS) 規劃與建置

51

3.4 Resolver related Configuration- /etc/resolv.conf

; comment lines

# another comment <- Not supported by ALL

domain local-domain

search search-list

nameserver server-address

sortlist sort-list

options option-list

Page 52: 網域名稱伺服系統  (DNS) 規劃與建置

52

3.4.1 Resolver related Configuration (2)- - /etc/resolv.conf

; domain & Search Directives are mutual exclusive; search CC.nctu.edu.tw NCTU.edu.tw CSIE.nctu.edu.tw;domain nctu.edu.tw; 最多 3 個 nameserver nameserver 140.113.1.1nameserver 140.113.250.135nameserver 140.113.17.171

Page 53: 網域名稱伺服系統  (DNS) 規劃與建置

53

3.4.2 Implict search problem (RFC 1535)- [email protected]

• non RFC 1535 compliant (before V 4.9.3)– [email protected].– [email protected][email protected][email protected][email protected]

• RFC 1535 compliant– [email protected][email protected][email protected][email protected][email protected]

• another example - [email protected] vs [email protected]

Page 54: 網域名稱伺服系統  (DNS) 規劃與建置

54

4. 常見的 DNS 規劃與設定問題

• forward/reverse DNS database 登錄不全• domain zones 中完全沒有 secondary DNS servers.• 同一 DNS server, 多重 domain zones 的設定問題 .• 不正確的 secondary server caching 做法 .• 取不適當的 domain zone and/or invalid hostname• 使用版本過舊的 DNS server 軟體 .• 基本資料設定錯誤

– CNAME, Lame server,...

Page 55: 網域名稱伺服系統  (DNS) 規劃與建置

55

4.1 常見的 DNS 設定錯誤

• named.cache (/etc/named.boot) 的誤用 • DNS secondary caching (/etc/named.boot) 嚴重誤用 • 同一系統上 , 多重 domain zones 的設定問題• Bad referral, 不正確的 SOA 記錄 • Forwarding loop, SOA 設定問題 • Lame Server, 配合不良的 NS 指標記錄 • NS -> CNAME pointer• MX -> CNAME pointer• Illegal char, DNS database 中不正確的字元 • domain RR 忘了結尾的 '.' 點

Page 56: 網域名稱伺服系統  (DNS) 規劃與建置

56

4.2 DNS error logging messages

• Mar 7 08:00:21 ns1 named[169]: "NCHU.edu.tw IN NS" points to a CNAME (pds.nchu.edu.tw)

• Mar 30 12:09:31 ns named[3544]: Lame server on 'www.catv.com.tw' (in 'catv.COM.tw'?): [203.67.199.1].53 'igndns.gcn.net.tw': learnt (A=203.77.2.139, NS=140.92.1.50)

• Apr 4 08:45:40 ns named[3544]: ns_forw: query(FPGEDU.fpg.com.tw) forwarding loop (top1.ficnet.net.tw:203.67.236.100) learnt (A=140.111.1.2 :NS=140.111.1.2)

• Jul 21 21:56:32 alpha named[4234]: host name "secc_fs3.secc.fju.edu.tw" (owner "2.201.136.140.in-addr.arpa") IN (primary) is invalid - rejecting

• Jul 22 08:38:33 ns1 named[28511]: bad referral (127.140.in-addr.arpa !< 79.127.140.IN-ADDR.ARP

• caetjy.eng.tku.edu.tw.142.13.163.in-addr.arpa (e.g., last output )

Page 57: 網域名稱伺服系統  (DNS) 規劃與建置

57

5. 附錄– Debugging 偵錯工具使用與介紹– Where to Learn More

– Chinese Big5 DNS Resource Directory

Page 58: 網域名稱伺服系統  (DNS) 規劃與建置

58

5.1 DNS Debugging Tools

• nslookup ( default built-in on most systems )• dig• host ( zone transfer )• dnswalk, doc ( PERL scripts )• Misc utility programs

– $BIND-src/contrib/*– http://dnsrd.dns.net/dnsrd

Page 59: 網域名稱伺服系統  (DNS) 規劃與建置

59

5.1.1 DIG output

ns1% dig cis.nctu.edu.tw ns; <<>> DiG 2.2 <<>> cis.nctu.edu.tw ns;; res options: init recurs defnam dnsrch;; got answer:;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6;; flags: qr rd ra; Ques: 1, Ans: 2, Auth: 0, Addit: 2;; QUESTIONS:;; cis.nctu.edu.tw, type = NS, class = IN

;; ANSWERS:cis.nctu.edu.tw. 86400 NS cisserv.cis.nctu.edu.tw.cis.nctu.edu.tw. 86400 NS cissol1.cis.nctu.edu.tw.

;; ADDITIONAL RECORDS:cisserv.cis.nctu.edu.tw. 86400 A 140.113.23.1cissol1.cis.nctu.edu.tw. 86400 A 140.113.23.101

;; Total query time: 8 msec;; FROM: ns1 to SERVER: default -- 140.113.1.1;; WHEN: Wed Sep 17 11:44:04 1997;; MSG SIZE sent: 33 rcvd: 109

Page 60: 網域名稱伺服系統  (DNS) 規劃與建置

60

5.1.2 nslookup 工具程式使用與介紹 (1)

1. nslookup 程式功能列表 ( 參見附錄 ) 2. 奇怪的 nslookup output 3. 某 domain name, A RR 查詢

( 正常 ; FQDN -> IP addr. ) 4. 某 domain name, PTR RR 查詢

( 正常 ; IP addr. -> FQDN ) 5.某 domain name, CNAME RR 查詢

( 正常 ; CNAME -> FQDN/IP addr. )

Page 61: 網域名稱伺服系統  (DNS) 規劃與建置

61

nslookup 工具程式使用與介紹 (2)

6. 某 domain name, MX RR 查詢 ( 正常 ; MX -> FQDN/IP addr. )

7. 某 domain zone 的 SOA RR 的查詢 ( 正常 )

8. 某 domain zone 的 NS RR 的查詢 ( 正常 ) 9. 對某 domain zone 進行 zone transfer ( 正常 ;debug)

Page 62: 網域名稱伺服系統  (DNS) 規劃與建置

62

<2>. 奇怪的 nslookup output

} 本校的 dns 主機是 sun os 4.1.3 ip 203.68.38.1

} 而我的主機是 solaris 2.5.1 ip 203.68.38.2} /etc/resolv.conf 設定如下} domain tlhc.ylc.edu.tw} nameserver 203.68.38.1} nameserver 140.111.1.2

} 而本人在 sun sparc solaris 輸入 nslookup, 均會顯示如下訊息

# nslookup> *** Can't find server name for address 203.68.38.1 : Non......> Default Server : moevax.edu.tw> Address: 140.111.1.2

Page 63: 網域名稱伺服系統  (DNS) 規劃與建置

63

<3>. domain name 的 A RR 查詢 (1)

# nslookupDefault Server: ns.NCTU.edu.twAddress: 140.113.250.135

> netnews.nctu.edu.tw. ; 內定 query type, FQDN --> IP addr.Server: ns.NCTU.edu.twAddress: 140.113.250.135

Name: news2.nctu.edu.tw <-- 這筆資料 , 完全由本 DNS server 負責提供

Address: 140.113.4.120 ( or 經由網路查詢而來 )Aliases: netnews.nctu.edu.tw

> # exit

Page 64: 網域名稱伺服系統  (DNS) 規劃與建置

64

<3>. domain name, A RR 查詢 (2)

# nslookupDefault Server: ns.NCTU.edu.twAddress: 140.113.250.135

> news.edu.tw.Server: ns.NCTU.edu.twAddress: 140.113.250.135

Non-authoritative answer: <-- 如果出現這行 , 則表示 , 取自 named cache

Name: news.edu.tw || 原始答案 , 由其他負責 DNS server 處得來Address: 192.83.166.5> # exit

Page 65: 網域名稱伺服系統  (DNS) 規劃與建置

65

<4>. domain name, PTR RR 查詢 (1)

% nslookupDefault Server: ns.NCTU.edu.twAddress: 140.113.250.135

> set type=ptr ; 設定 query type, PTR --> FQDN> 5.250.113.140.in-addr.arpa. ; 反解 (倒著寫 ) reverse domain entryServer: ns.NCTU.edu.twAddress: 140.113.250.135

5.250.113.140.in-addr.arpa name = www.nctu.edu.tw

250.113.140.IN-ADDR.ARPA nameserver = nctu.edu.tw250.113.140.IN-ADDR.ARPA nameserver = ns.nctu.edu.tw250.113.140.IN-ADDR.ARPA nameserver = ns2.nctu.edu.twnctu.edu.tw internet address = 140.113.1.1ns.nctu.edu.tw internet address = 140.113.250.135ns2.nctu.edu.tw internet address = 140.113.6.2> % exit

Page 66: 網域名稱伺服系統  (DNS) 規劃與建置

66

<4.> domain name, PTR RR 查詢 (2) -- ( 幾乎除了 SunOS 4.x 以外 )

% nslookup

Default Server: ns.NCTU.edu.twAddress: 140.113.250.135

> 140.113.250.5 ; 自動 轉成 5.250.113.140.in-addr.arpa. Server: ns.NCTU.edu.twAddress: 140.113.250.135

5.250.113.140.in-addr.arpa name = www.nctu.edu.tw

250.113.140.IN-ADDR.ARPA nameserver = nctu.edu.tw250.113.140.IN-ADDR.ARPA nameserver = ns.nctu.edu.tw250.113.140.IN-ADDR.ARPA nameserver = ns2.nctu.edu.twnctu.edu.tw internet address = 140.113.1.1ns.nctu.edu.tw internet address = 140.113.250.135ns2.nctu.edu.tw internet address = 140.113.6.2> % exit

Page 67: 網域名稱伺服系統  (DNS) 規劃與建置

67

<5>. domain name, CNAME RR 查詢 (1)

# nslookupDefault Server: ns.NCTU.edu.twAddress: 140.113.250.135

> proxy.nctu.edu.tw ; 使用內定的 query typeServer: ns.NCTU.edu.twAddress: 140.113.250.135

Name: w3-proxy.nctu.edu.tw ; w3-proyx 為 Canonical name.Address: 140.113.250.130 ; alias --> FQDN/IP addr.Aliases: proxy.nctu.edu.tw ; 發現本 domain entry 為 alias name.

> # exit

Page 68: 網域名稱伺服系統  (DNS) 規劃與建置

68

<5>. domain name, CNAME RR 查詢 (2)

# nslookupDefault Server: ns.NCTU.edu.twAddress: 140.113.250.135

> set type=any ; 第 2 種方法 , query type 設成 ANY> proxy.nctu.edu.tw. ; 列出 , 所有相關記錄 ( RR )Server: ns.NCTU.edu.twAddress: 140.113.250.135

proxy.nctu.edu.tw canonical name = w3-proxy.nctu.edu.twnctu.edu.tw nameserver = nctu.edu.twnctu.edu.tw nameserver = ns.nctu.edu.twnctu.edu.tw nameserver = ns2.nctu.edu.twnctu.edu.tw internet address = 140.113.1.1ns.nctu.edu.tw internet address = 140.113.250.135ns2.nctu.edu.tw internet address = 140.113.6.2> # exit

Page 69: 網域名稱伺服系統  (DNS) 規劃與建置

69

% nslookup[省略 ]

> set type=mx ; 設定 query type> cc.nctu.edu.tw. ; MX RR -> FQDN/IP addr.Server: ns.NCTU.edu.twAddress: 140.113.250.135

cc.nctu.edu.tw preference = 0, mail exchanger = cc.nctu.edu.twcc.nctu.edu.tw preference = 0, mail exchanger = ccserv6.cc.nctu.edu.twcc.nctu.edu.tw preference = 5, mail exchanger = ns.NCTU.edu.twcc.nctu.edu.tw nameserver = ns.NCTU.edu.twcc.nctu.edu.tw nameserver = ns1.NCTU.edu.twcc.nctu.edu.tw nameserver = ns2.NCTU.edu.twcc.nctu.edu.tw internet address = 140.113.6.2ccserv6.cc.nctu.edu.tw internet address = 140.113.6.6ns.NCTU.edu.tw internet address = 140.113.250.135ns1.NCTU.edu.tw internet address = 140.113.1.1ns2.NCTU.edu.tw internet address = 140.113.6.2> % exit

<6>. domain name, MX RR 查詢

Page 70: 網域名稱伺服系統  (DNS) 規劃與建置

70

% nslookup[ 省略 ]

> set type=soa ; 設定 query type> nthu.edu.tw. ; 正解 forward domain zone

[ 省略 ]Non-authoritative answer: ; 由 named cache 處取得的答案nthu.edu.tw origin = nthu.edu.tw mail addr = net-service\@nthu.edu.tw serial = 9708081 refresh = 28800 (8H) retry = 7200 (2H) expire = 1209600 (2W) minimum ttl = 604800 (1W)

Authoritative answers can be found from: ; 原始資料 , 可自底下幾個取得nthu.edu.tw nameserver = sphinx.cc.nthu.edu.twnthu.edu.tw nameserver = cs.nthu.edu.twnthu.edu.tw nameserver = nthu.edu.twsphinx.cc.nthu.edu.tw internet address = 140.114.65.27cs.nthu.edu.tw internet address = 140.114.77.1cs.nthu.edu.tw internet address = 140.114.87.1nthu.edu.tw internet address = 140.114.64.10

<7>. forward domain name 的 SOA RR 查詢

Page 71: 網域名稱伺服系統  (DNS) 規劃與建置

71

<7>. reverse domain name 的 SOA RR 查詢

% nslookup[ 省略 ]

> set type=soa ; 設定 query type

> 110.140.in-addr.arpa. ; 反解 reverse domain zoneServer: ns.NCTU.edu.twAddress: 140.113.250.135

110.140.in-addr.arpa origin = dns.nchc.gov.tw mail addr = a00zjw00.nchc.gov.tw serial = 970803 refresh = 10800 (3H) retry = 3600 (1H) expire = 3600000 (5w6d16h) minimum ttl = 86400 (1D)> % exit

Page 72: 網域名稱伺服系統  (DNS) 規劃與建置

72

<8>. forward domain name 的 NS RR 查詢

% nslookup

> set type=ns <-- 設定 query type

> ntu.edu.tw. <-- 正解 forward domain zoneServer: ns.NCTU.edu.tw

Address: 140.113.250.135

Non-authoritative answer:ntu.edu.tw nameserver = netnews.ntu.edu.tw

ntu.edu.tw nameserver = NTU3.ntu.edu.tw

ntu.edu.tw nameserver = dns.ntu.edu.tw

Authoritative answers can be found from:netnews.ntu.edu.tw internet address = 140.112.2.197

NTU3.ntu.edu.tw internet address = 140.112.2.2

dns.ntu.edu.tw internet address = 140.112.254.4

Page 73: 網域名稱伺服系統  (DNS) 規劃與建置

73

% nslookup

> set type=ns <-- 設定 query type> 112.140.in-addr.arpa. <-- 反解 reverse domain zoneServer: ns.NCTU.edu.tw

Address: 140.113.250.135

Non-authoritative answer:112.140.in-addr.arpa nameserver = ntu3.ntu.edu.tw112.140.in-addr.arpa nameserver = netnews.ntu.edu.tw112.140.in-addr.arpa nameserver = dns.ntu.edu.tw

Authoritative answers can be found from:ntu3.ntu.edu.tw internet address = 140.112.2.2netnews.ntu.edu.tw internet address = 140.112.2.197dns.ntu.edu.tw internet address = 140.112.254.4

> % exit

<8>. reverse domain name 的 NS RR 查詢

Page 74: 網域名稱伺服系統  (DNS) 規劃與建置

74

5.2 Where to Learn More

• DNS Resource Directory– http://www.dns.net/dnsrd

• the related RFC repertory ( 相關標準文件 )• the O’Reilly DNS bible ‘DNS and BIND’

– 第 3 版已出版 , 有介紹 BIND 8.x

• the related Usenet newsgroups– comp.protocols.tcp-ip.domains ( FAQ )– comp.protocols.dns.bind– comp.protocols.dns.std– comp.protocols.dns.op

Page 75: 網域名稱伺服系統  (DNS) 規劃與建置

75

5.3 Chinese Big5 code DNS Resource Directory- http://dnsrd.nctu.edu.tw

• 中文 DNS 相關知識資訊站 – 本 地 的 DNS 相 關 系 統 規 劃 與 建 置 問 題 探 討 – 提 供 簡 單 與 複 雜 的 DNS 系 統 設 定 範 例 – DNS/BIND 的 最 新 發 展 與 相 關 的 工 具 程 式 簡 介 – Case Study - 部份系統設定錯誤實例分析 – 其 他和 DNS 系 統 相 關 的 網 路 系 統 應 用與 管 理 課 題

>>> End of the Notes <<<