1 / 75

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

網域名稱伺服系統 (DNS) 規劃與建置. 交 通 大 學 計 算 機 中 心 陳 昌 盛 cschen@cc.nctu.edu.tw. 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).

luce
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 網域名稱伺服系統 (DNS)規劃與建置 交 通 大 學 計 算 機 中 心 陳 昌 盛 cschen@cc.nctu.edu.tw TANet DNS Tutorial Course, 88.06.04

  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)

  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.* ( 技術)

  4. 1. DNS 入門 (1.0) 什麼時候會用到 DNS 系統 ? • 往外連線時 (out-going 連線) • 存取檢查, 系統記錄 (incoming 連線) (1.1) DNS 系統的做用 • 定義網域名稱 • 提供網域名稱查詢 (1.2) DNS 實務操作及應用

  5. 1.1.1 定義網域名稱 • 網域授權 (domain zone -> NS RR) • 網域名稱( domain name -> A RR) • telnet bbs.cis.nctu.edu.tw • 電子郵件交換 ( mail exchange -> MX RR) • mail cschen@cc.nctu.edu.tw • 網址對應 (pointer -> PTR RR) • 140.113.1.1 -> ns1.nctu.edu.tw • 常用別名 (alias naming -> CNAME RR) • proxy.nctu.edu.tw -> wproxy1.nctu.edu.tw • 其他功能

  6. 網域名稱系統(Domain Name System) • 網域名稱系統, 按英文常簡稱 DNS 系統. • DNS 系統, 概分成三個部份 • 網域空間 (Domain Name Space ) • 網域名稱伺服系統 (Domain Name Server) • BIND/named, ... • 網域名稱解譯程式 (Domain Name Resolver) • DNS client, agent, server

  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.’, ...

  8. . root servers gov, mil . . . INT tw Arpa com, org,net cn,hk,.. NSAP gov,mil IP6 in-addr net edu org 203 192 . .. com 140 www ncku nctu hgsh 113 hc 127 ee 114 cc nehs cis ... ns1 6 hchs 250 bbs ... mail www .. ccserv2 2 ccserv2.cc.nctu.edu.tw <=> 140.113.6.2 Fig.1 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

  10. DNS - 提供網路查詢(續) • 資料項 round-robin mode (輪流) • load sharing/balancing • round-trip-time ( RTT; 來回傳送時間) • reverse pointer query (IP addr. 反解查詢) • inverse query ( 廣義反向查詢)

  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 )

  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 目前由新竹區域網路中心負責

  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 註冊)

  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.135 ns1 IN A 140.113.1.1 ; 指定 x.y.z.1 ns2 IN A 140.113.6.2 ns3 IN A 163.28.64.246 ; 高速專用道

  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: cschen@nctu.edu.tw ;------------------------------------------------------------------------- nctu.edu.tw. IN NS nctu.edu.tw.

  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 30relay.edu.tw. • Mail relay server side: 轉接系統 (relay access permission) 借道權限, 必須打開 (sendmail.cf) ==> mx.nctu.edu.tw + relay.edu.tw

  17. 1.2.6 Anti-SPAM checking (DNS entry 正反解必須匹配) • domain name 驗證流程. reverseforward IP addr. A ---------> domain name B ---------> IP addr. C Fig. 2 anti-SPAM checking 圖示 • 其中, IP addr. C (可能是一個 group), 必須包含或等於 A 才算通過 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 )

  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 分離, 放在不同的網路區段, 當然如果能放在不同單位, 通常更好.

  20. 2.1 關於 BIND 的許多資訊 • 目前最新版本 8.2-P1 (1999.03.16) • 4.9.7 ( 舊式); BIND 8.x ( 新式) • 如何得知系統上的 named 版本 ? • 多數 Unix 廠家目前支援的版本 4.8.3 • 有沒有 Windows 下的版本 ? • 不同版本 BIND 之間功能差別 ?

  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

  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 named named: named 8.1.1 Thu Jun 26 15:03:59 EAT 1997 root@ns:/home/DNS/bind-8.1.1-REL/src/bin/named

  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, ...

  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/*

  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

  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 上的範例

  27. 3.1 DNS Server Options • primary/master vs. secondary/slave • caching only server • forwarders ( slave server) • recursive vs. non-recursive

  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

  29. DNS Server options 3.2 DNS Server Options -- /etc/named.boot (v4.x) ; type domain source file or host ;------------------------------------------------------------------------------------- directory /var/named ; cache . named.root ; primary localhost Localhost primary 0.0.127.IN-ADDR.ARPA Rev-127.0 ; [ 省略 ] primary NCTU.edu.tw Zone.NCTU secondaryADM.nctu.edu.tw 140.113.2.1 Zone.ADM primary CC.nctu.edu.tw Zone.CC ; [ 省略 ] . . . primary 113.140.IN-ADDR.ARPA R-140.113 primary 1.113.140.in-addr.arpa. R-140.113.1 secondary 2.113.140.in-addr.arpa. 140.113.2.1 R-140.126.2

  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.cache zone "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;}; };

  31. 3.2.1 Caching Only Server -- /etc/named.boot DNS Server options directory /var/named ; cache . named.root ; ; BIND 4.9.x & later check-names primary fail ; default fail check-names secondary fail ; default warn ;check-names response fail ; default ignore ; [ 省略 ] primary localhost Localhost primary 0.0.127.IN-ADDR.ARPA Rev-127.0 primary 0.IN-ADDR.ARPA Rev-0 primary 255.IN-ADDR.ARPA Rev-255 ; [ 省略] optionsfake-iquery ;

  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 ; bogusns203.74.66.1

  33. 3.2.3 DNS Server Options (3) - /etc/named.boot directory /var/named ; cache . named.root ; . .[ 省略 ] optionsfake-iquery ; options non-recursion ; options forwarder-only ; options query-log

  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, ...

  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”

  36. 3.3.2 SOA ( Start Of Authority ) RR • ;; for forward/reverse Domain Zones. • ;;----------------------------------------------------------------------------------- • @ IN SOAns.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 A127.0.0.1 ; forward case • ;; 1 IN PTR localhost. ; reverse case

  37. 3.3.3 Domain Zone delegation (授權) --NS (Name Server) RR ; 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 NSccsun7 ; hostname ;; Glued Records csie.nctu.edu.tw. IN A 140.113.17.171 IN A 140.113.209.171 operator IN A 140.113.209.1 ccsun7 IN A 140.113.17.6

  38. NS RR (2) -- reverse domain (反解) ;上下兩層 “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.

  39. NS RR (3) - 錯誤示範 * RFC 1034,1035,1912 ; case 1 -> 任意指定 2nd NS RR ( 常犯錯誤) ;-------------------------------------------------------- $Origin NCTU.edu.tw. err1 IN NSns-OK.NCTU.edu.tw. IN NSNo-named-Host.NCTU.edu.tw. ; Lame IN NSmoevax.edu.tw. ; 誤設 ; case 2 -> NS 指到一個 alias ( CNAME ), intermittent error ;----------------------------------------------------- $Origin 200.113.140.in-addr.arpa. err2 IN NSalias-ns.NCTU.edu.tw.; 間些性 error IN NS ns-OK.NCTU.edu.tw.

  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/hostname ; case 4 -> NS 指到一個不存在的機器 ; $Origin200.113.140.in-addr.arpa. err4 IN NS Non-existent.NCTU.edu.tw. IN NS ns-OK.nctu.edu.tw.

  41. NS RR (5) --> Lame Servers * RFC 1034,1035,1912 ; case 5 -> 上一層有額外指定 2nd NS RR ( 常犯錯誤) ; 但對應的 entry, 卻不在下一層中. ;------------------------------------------------------------------ $Origin NCTU.edu.tw. err5 IN NSns-OK.NCTU.edu.tw. IN NSNo-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, ...

  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 A140.113.1.1 ; ns1.nctu.edu.tw. ; www IN A 140.113.250.5 ; ; 一個 FQDN, 但有好幾個對應的 IP addr. $OriginCSIE.nctu.edu.tw. @ IN A140.113.17.171 ; multi-homed IN A140.113.209.171

  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 record CisSol1.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

  44. A RR -- 錯誤示範 (2) $Origin NCTU.edu.tw. @ IN NS nctu.edu.tw; IN A140.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

  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.9 9.254IN 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 PTRmoesun.NCTU.edu.tw.

  46. 3.3.6 MX ( Mail eXchange) RR ;;------------------------------------------------------------------ ;; for both normal mail exchange & mail relay ;; --> DNS & Sendmail ;;----------------------------------------------------------------- $ORIGIN CC.NCTU.edu.tw. ; mail exchange @ IN MX 0CC.nctu.edu.tw. ; FQDN IN MX0ccserv6 ; hostname ; mail relay IN MX20 mx.NCTU.edu.tw. ; mx wildcarding; must be used very carefully * IN MX 0 cc.nctu.edu.tw. ; Dis-couraged

  47. MX RR (2) ; Zone file for domain <NCTU.edu.tw > $Origin NCTU.edu.tw. news IN MX 0news.cc.nctu.edu.tw. ; FQDN . . . ; 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

  48. 3.3.7 CNAME (Canonical NAME) RR ; zone file 1 $Origin NCTU.edu.tw. ; netnews IN CNAMEnews2.nctu.edu.tw. ; fqdn ; zone file 2 $Origin EDU.tw. ftp IN CNAME nctuccca ; hostname ; ; zone file 3 $Origin TWNIC.net. archie IN CNAMEnctuccca.edu.tw

  49. CNAME RR-- 常見錯誤實例 (1) $Origin NCTU.edu.tw. ; case 1 -> cname looping cname-chain IN CNAMEcname-chain.nctu.edu.tw. ; case 2 -> ns-cname chaining ( 不能用 alias ) err-ns IN CNAMEns-OK.NCTU.edu.tw. ; FQDN err6 IN NSerr-ns.NCTU.edu.tw. ; alias

  50. CNAME RR-- 常見錯誤實例 (2) $Origin NCTU.edu.tw. ; case 3 -> mx-cname chaining連鎖 (不能用 alias ) err-mail IN CNAMEmx-host.nctu.edu.tw. err-mx-zone IN MX 10 err-mail.NCTU.edu.tw. ; case 4 -> cname-cname chaining ( 不宜; 雖然現在可以用) alias1 IN CNAME host1.NCTU.edu.tw. ; FQDN alias2 IN CNAMEalias1.NCTU.edu.tw. ; alias

More Related