Domain name system

DNS LÀ GÌ?

2. CƠ CHẾ PHÂN GIẢI.

3. CHỨNG NHẬN TÊN MIỀN.

4. PHÂN LOẠI DOMAIN NAME SERVER.

5. DELEGATION VÀ HOSTING DOMAIN.

6. RESOURCE RECORD.

7. HOẠT ĐỘNG CỦA NAME SERVER TRONG LINUX.

8. CÀI ĐẶT.

9. CÁC TẬP TIN CSDL CHO ZONE.

10. CẤU HÌNH.

11. BẢO MẬT DNS SERVER.

12. KIỂM TRA CẤU HÌNH.

pdf35 trang | Chia sẻ: Mr Hưng | Lượt xem: 769 | Lượt tải: 0download
Bạn đang xem trước 20 trang nội dung tài liệu Domain name system, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DOMAIN NAME SYSTEM Âu Bửu Long – Lê Minh Triết Phiên bản 2014 Nội dung 1. DNS LÀ GÌ? 2. CƠ CHẾ PHÂN GIẢI. 3. CHỨNG NHẬN TÊN MIỀN. 4. PHÂN LOẠI DOMAIN NAME SERVER. 5. DELEGATION VÀ HOSTING DOMAIN. 6. RESOURCE RECORD. 7. HOẠT ĐỘNG CỦA NAME SERVER TRONG LINUX. 8. CÀI ĐẶT. 9. CÁC TẬP TIN CSDL CHO ZONE. 10. CẤU HÌNH. 11. BẢO MẬT DNS SERVER. 12. KIỂM TRA CẤU HÌNH. 1. DNS LÀ GÌ? • Ban ñaàu do quy moâ maïng ARPAnet coøn nhoû (vaøi traêm maùy), neân chæ coù moät taäp tin HOSTS.TXT löu thoâng tin veà aùnh xaï teân maùy thaønh ñòa chæ IP. • Tuy nhieân khi quy moâ maïng lôùn, vieäc söû duïng file HOSTS.TXT coù caùc nhöôïc ñiểm:  Löu löôïng maïng vaø maùy chuû duy trì file HOSTS.TXT bò quaù taûi do hieäu öùng “coå chai”.  Xung ñoät teân: Khoâng theå coù 2 maùy tính coù cuøng teân trong file HOSTS.TXT  Khoâng ñaûm baûo söï toaøn veïn: vieäc duy trì 1 file treân maïng lôùn raát khoù khaên. Löu yù: Treân maùy Linux taäp tin coù teân laø hosts naèm trong /etc • Dòch vuï DNS (Domain Name Service) nhaèm khaéc phuïc caùc nhöôïc ñieåm treân. - DNS laø 1 CSDL phaân taùn. - DNS hoaït ñoäng theo moâ hình Client-Server: + Server (Name Server): laø maùy chuû phuïc vuï teân. + Client (Resolver): laø trình phaân giaûi teân. - DNS ñöôïc thi haønh nhö moät giao thöùc taàng Application trong moâ hình TCP/IP. - DNS phaân boå theo cô cheá phaân caáp töông töï nhö söï phaân caáp cuûa heä thoáng taäp tin Unix/Linux. 1. DNS LÀ GÌ? (tt) • CSDL của DNS là một cây đảo ngược. • Mỗi nút trên cây cũng lại là gốc của 1 cây con. Chiều sâu của cây tối đa là 127 cấp. Tên trên mỗi nút tối đa 63 ký tự. • Mỗi cây con là một phân vùng con trong toàn bộ CSDL DNS gọi là Domain. • Mỗi Domain có thể phân chia thành các phân vùng con nhỏ hơn gọi là các miền con Subdomian. 1. DNS LÀ GÌ? (tt) Ñòa chæ teân mieàn (domain name) toång quaùt: host.subdomain.domain + host: teân maùy. + subdomain: teân mieàn phuï. + domain (top-level-domain): teân mieàn chính. Moät soá top-level-domain thoâng duïng: .com : Caùc toå chöùc, coâng ty thöông maïi. .org : Caùc toå chöùc phi lôïi nhuaän. .net : Caùc trung taâm hoã trôï veà maïng. .edu : Caùc toå chöùc giaùo duïng. .gov : Caùc toå chöùc thuoäc chính phuû. . . . Ngoaøi ra moãi nöôùc coù moät top-level-domain rieâng goàm 2 kyù töï. VD: .vn :Vieät Nam, .us :Myõ, .ca :Canada, .kr : Haøn Quoác, . . . 1. DNS LÀ GÌ? (tt) Caùch phaân boå döõ lieäu quaûn lyù domain name: • Nhöõng root name server (.) quaûn lyù nhöõng top-level domain treân Internet. Teân maùy vaø ñòa chæ IP cuûa nhöõng name server naøy ñöôïc coâng boá cho moïi ngöôøi bieát. 1. DNS LÀ GÌ? (tt) Söï khaùc nhau giöõa Zone vaø Domain: + Zone: bao goàm moät domain hay nhieàu subdomain. + Domain: goàm nhieàu subdomain vaø zone. 1. DNS LÀ GÌ? (tt) • Phaân giaûi teân thaønh IP. Vai troø cuûa Root name server: laø maùy chuû quaûn lyù caùc name server ôû möùc top-level domain. Khi coù truy vaán veà moät teân mieàn naøo ñoù thì root name server phaûi cung caáp teân vaø ñòa chæ IP cuûa name server quaûn lyù top-level domain maø teân mieàn naøy thuoäc vaøo. 2. CƠ CHẾ PHÂN GIẢI. Coù hai loaïi truy vaán: + Truy vaán ñeä quy (recursive query) + Truy vaán töông taùc 2. CƠ CHẾ PHÂN GIẢI. •Phaân giaûi IP thaønh teân. AÙnh xaï ñòa chæ vaøo teân ñöôïc duøng ñeå dieãn dòch caùc file log cho deã ñoïc hôn. Noù coøn duøng trong 1 soá tröôøng hôïp chöùng thöïc treân heä thoáng UNIX. Ñeå coù theå phaân giaûi teân maùy cuûa moätù ñòa chæ IP, trong khoâng gian teân mieàn ngöôøi ta boå sung theâm moät nhaùnh teân mieàn maø ñöôïc laäp chæ muïc theo ñòa chæ IP. Phaàn khoâng gian naøy coù teân laø mieàn in- addr.arpa. Moãi nuùt trong mieàn in-addr.arpa coù nhaõn laø chæ soá thaäp phaân cuûa ñòa chæ IP. 2. CƠ CHẾ PHÂN GIẢI. 3. CHỨNG NHẬN TÊN MIỀN. Fully Qualified Domain Name (FQDN): Moät teân mieàn ñaày ñuû cuûa 1 nuùt chính laø chuoãi tuaàn töï caùc teân goïi cuûa nuùt hieän taïi ñi ngöôïc leân nuùt goác, moãi teân goïi caùch ra bôûi daáu chaám. Teân tuyeät ñoái cuõng ñöôïc xem laø teân mieàn ñaày ñuû ñaõ ñöôïc chöùng nhaän (fully qualified domain name) FQDN Overview of the DNS Namespace Root Domain Subdomain Second-Level Domain Top-Level Domain FQDN: SERVER1.sales.south.nwtraders.com south nwtraders com sales west east orgnet Host: SERVER1 4. PHÂN LOẠI DOMAIN NAME SERVER 1. Primary Name Server: Moãi mieàn phaûi coù 1 Primary Name Server. Ngöôøi quaûn trò seõ toå chöùc nhöõng taäp tin CSDL treân Primary Name Server. Server naøy phaân giaûi taát cả caùc maùy trong mieàn hay zone. 2. Secondary Name Server: Secondary (hay slave) Name Server ñöôïc söû duïng ñeå backup cho Primary Name Server. Coù theå coù moät hay nhieàu Secondary Name Server. Theo moät chu kyø, Secondary seõ copy nhöõng file CSDL töø Primary Name Server. 3. Caching Name Server: Caching Name Server khoâng coù baát kyø file CSDL naøo. Noù ñöôïc söû duïng ñeå phaân giaûi teân maùy treân nhöõng maïng ôû xa thoâng qua nhöõng Name Server khaùc.  Laøm taêng toác ñoä phaân giaûi baèng caùch söû duïng cache.  Giaûm bôùt gaùnh naëng phaân giaûi teân maùy cho name server.  Giaûm vieäc löu thoâng treân nhöõng maïng lôùn. 5. DELEGATION VÀ HOSTING DOMAIN. + Söï uyû quyeàn (Delegation domain): Thoâng thöôøng mieàn cha cung caáp caùc domain cho mieàn con döôùi hình thöùc uyû quyeàn cho mieàn con töï quaûn lyù vaø toå chöùc CSDL cho mieàn con. + Hosting domain: Mieàn cha taïo hosting domain cho mieàn con. Mieàn cha töï toå chöùc vaø quaûn lyù CSDL cho mieàn con. 6. RESOURCE RECORD. 1. SOA (Start of Authority) Trong moãi zone file phaûi coù moät vaø chæ moät record SOA (start of authority). Record SOA chæ ra raèng maùy chuû name server laø nôi cung caáp thoâng tin tin caäy töø döõ lieäu coù trong zone. Cuù phaùp: [teân-mieàn] IN SOA [teân-server-dns] [ñòa chæ email] ( serial number; refresh number; retry number; experi number; time-to-live number; ) a) serial number: Khi 1 slave name server kết nối với master server để lấy dữ liệu, trước tiên nó sẽ kiểm tra số serial, nếu số serial của master lớn hơn tức là dữ liệu đã hết hạn sử dụng và nó sẽ load lại dữ liệu mới. Vì vậy khi ta cập nhật dữ liệu trên name server ta nên tăng số serial. Thông thường ta định dạng theo thời gian như sau: YYYYMMDDNN Ví dụ: 2004122901 b) refresh number: Khoảng Thời gian (giây) mà slave biết phải kiểm tra lại dữ liệu có còn sử dụng được không. Ví dụ: 10800 ; Refresh sau 3 giờ. c) retry number: Nếu slave không thể kết nối với master name server sau một khoảng thời gian refresh thì nó sẽ cố gắng kết nối lại sau retry giây. Giá trị này nhỏ hơn giá trị refresh. Ví dụ: 3600 ; Retry sau 1 giờ 6. RESOURCE RECORD (tt). d) experi number: Nếu slave không thể kết nối với master server sau khoảng thời gian expire (giây) này, thì slave sẽ không trả lời cho vùng dữ liệu đó khi được truy vấn, vì nó cho rằng dữ liệu này đã quá củ. Giá trị này phải lớn hơn giá trị refresh và retry. Ví dụ: 604800 ; Expire sau 1 tuần. e) time-to-live number: Time To Live, giá trị này được dùng cho tất cả các resource record trong file cơ sở dữ liệu. Giá trị này cho phép những server khác cache lại dữ liệu trong 1 khoảng thời gian xác định TTL. Ví dụ : 86400 ; TTL là 1 ngày 6. RESOURCE RECORD (tt). 2. NS (Name Server) Record tieáp theo caàn coù trong zone laø NS (name server) record. Moãi name server cho zone seõ coù moät NS record. Cuù phaùp: [teân-domain] IN NS [maùy-DNS-Server] Ví dụ : movie.edu. IN NS terminator.movie.edu. movie.edu. IN NS wormhole.movie.edu. Chæ ra 2 name servers cho zone movie.edu. 6. RESOURCE RECORD (tt). 3. A (Address) Record A (Address) aùnh xaï teân vaøo ñòa chæ. Cuù phaùp: [teân maùy] IN A [ñòa chæ IP] Ví dụ : terminator.movie.edu. IN A 192.168.11.100 4. CNAME (Canonical Name ) Record CNAME (canonical name) taïo teân bí danh alias troû vaøo moät teân canonical. Teân canonical laø teân host trong record A hoaëc laïi troû vaøo 1 teân canonical khaùc. Cuù phaùp: [teân maùy alias] IN CNAME [teân maùy goác] Ví dụ : server.movie.edu. IN CNAME terminator.movie.edu. 6. RESOURCE RECORD (tt). 5. MX (Mail Exchanger) DNS duøng record MX ñeå thöïc vieäc chuyeån mail treân maïng Internet. Cú pháp: [teân-domain] IN MX [ñoä öu tieân] [teân mail server] Ví dụ : t3h.com IN MX 0 mail.t3h.com. 6. PTR (Pointer) Record PTR (pointer) duøng ñeå aùnh xaï ñòa chæ vaøo teân. Cú pháp: [ñòa chæ IP] IN PTR [teân maùy] Ví dụ : 1.11.29.172.in-addr.arpa IN PTR server.t3h.com. hoặc 1 IN PTR server.t3h.com. 6. RESOURCE RECORD (tt). 7. HOẠT ĐỘNG CỦA NAME SERVER TRONG LINUX. • Chöông trình server cuûa DNS name server laø moät chöông trình Daemon (named). • Trong quaù trình khôûi ñoäng named ñoïc caùc taäp tin döõ lieäu roài chôø caùc yeâu caàu phaân giaûi qua coång xaùc ñònh trong taäp tin /etc/services. Named duøng giao thöùc TCP. • Moät truy vaán client-to-server: port nguoàn >1023, port ñích 53. • Moät traû lôøi server-to-client: port nguoàn 53, port ñích > 1023. • Moät truy vaán vaø traû lôøi server-to-server: vôùi giao thöùc UDP port nguoàn vaø ñích ñeàu laø 53, vôùi TCP truy vaán cuûa server seõ söû duïng port > 1023. 8. CÀI ĐẶT BIND (Berkeley Internet Name Domain) B1: Download gói BIND (Berkeley Internet Name Domain) source từ trang isc.org • Code: cd ~ && wget B2: Bung gói tarball và thực hiện việc cài. • Code: tar –zxf bind-9.8.0.tar.gz && mkdir /dns cd bind-9.8.0 ./configure --prefix=/dns && make && make install B3: Thực hiện cấu hình file named.conf (file khai báo thông số và zone cho BIND) • Code: vi /dns/etc/named.conf options { listen-on port 53 { any; }; directory “/dns/var/named”; # đường dẫn vô thư mục /named chứa file zone forwarders { địa chỉ máy cần hỏi }; # thêm lệnh này khi cài mail. }; zone “triet.com” { type master; allow-query { any; }; file “triet.com.zone”; allow-update { none; } ; }; zone “70.161.113.in-addr.arpa” { # địa chỉ máy cài DNS – máy mình type master; allow-query { any; }; file “70.161.113.zone”; allow-update { none; } ; }; + Dịch vụ BIND listen connection trên port 53 từ tất cả địa chỉ (any) Thư mục chứa các zone files sẽ là /var/named/ + Khai báo zone triet.com, loại là master (primary) cho phép mọi địa chỉ query domain này, thông tin zone được lưu trong file triet.com.zone (/var/named/triet.com.zone) + Khai báo reverse lookup zone (IP sang tên) trong file /var/named/70.161.113.zone. 9. CÁC TẬP TIN CSDL CHO ZONE. • Cấu hình file triet.com.zone (Tập tin CSDL phân giải thuận), khai báo các DNS record cho domain này. • Tạo thư mục named trong thư mục /var • Code: vi /var/named/triet.com.zone $TTL 7D @ IN SOA ns1.triet.com. root.triet.com. ( 2011031101 ; serial# 3600 ; refresh, seconds 3600 ; retry, seconds 3600 ; expire, seconds 3600 ) ; minimum, seconds triet.com. NS ns1.triet.com. triet.com. MX 10 mail.triet.com. @ A 172.16.83.38 ns1 A 172.16.83.38 mail A 172.16.83.38 www A 172.16.83.38 9. CÁC TẬP TIN CSDL CHO ZONE. • Cấu hình reverse lookup zone (Tập tin CSDL phân giải nghịch ), • Code: vi /var/named/70.161.113.zone ; Zone file for 113.161.70.x $TTL 7D @ IN SOA ns1.triet.com. root.triet.com. ( 2011031101 ; serial number 3600 ; refresh, seconds 3600 ; retry, seconds 3600 ; expire, seconds 3600 ) ; minimum, seconds NS ns1 38 PTR ns1.triet.com. 38 PTR www 10. CẤU HÌNH. Caùc böôùc caáu hình Name Server: 1. Ñaêng kyù moät domain name (/etc/resolv.conf). 2. Taïo moät danh saùch nhöõng teân vaø ñòa chæ IP töông öùng. 3. Taïo taäp tin /etc/named.conf, tuyø theo loaïi Name server caàn caáu hình. 4. Taïo nhöõng taäp tin cô sôû döõ lieäu cho zone (/var/named). + Taäp tin CSDL phaân giaûi thuaän. + Taäp tin CSDL phaân giaûi ngöôïc. 5. Khôûi ñoäng laïi named #/etc/init.d/named restart 6. Caáu hình DNS Client ñeå kieåm tra nhöõng Name Server ñaõ caáu hình baèng coâng cuï nslookup. Ñaët caáu hình trong taäp tin: /etc/resolv.conf CẤU HÌNH (tt). • Tập tin cấu hình /etc/named.conf Options: Định nghĩa những cấu hình toàn cục cho Bind options { directory “thư_mục_chứa_csdl"; mặc định là thư mục /var/named forwarders {Địa_chỉ IP_name_server;}; }; Zone: Định nghĩa một zone để quản lý CSDL cho miền hay miền con. zone “tên_miền" { type master/slave/hint/stub; masters {Đ/c IP của Primary Name server;}; file “tên_file_CSDL"; }; Type: + master: server có bản copy chính csdl. + slave: lưu bản sao csdl từ master. + stub: tương tự như slave chỉ cho phép record NS từ Master + hint: zone chỉ ra những root name server. CẤU HÌNH (tt). •CẤU HÌNH PRIMARY NAME SERVER: Tạo tập tin /etc/named.conf Theâm vaøo 2 zone: Ví dụ : zone “domain_name" { type master; file "named.hosts"; }; zone “domain ngược" { type master; file "named.rev"; }; zone “net.com" { type master; file “zone.thuan"; }; zone “11.168.192.in-addr.arpa" { type master; file “zone.nghich"; }; options { listen-on port 53 { any; }; directory “/dns/var/named”; # đường dẫn vô thư mục /named chứa file zone forwarders { địa chỉ máy cần hỏi }; # thêm lệnh này khi cài mail. }; zone “triet.com” { type master; allow-query { any; }; file “triet.com.zone”; allow-update { none; } ; }; zone “70.161.113.in-addr.arpa” { # địa chỉ máy cài DNS – máy mình type master; allow-query { any; }; file “70.161.113.zone”; allow-update { none; } ; }; + Dịch vụ BIND listen connection trên port 53 từ tất cả địa chỉ (any) Thư mục chứa các zone files sẽ là /var/named/ + Khai báo zone triet.com, loại là master (primary) cho phép mọi địa chỉ query domain này, thông tin zone được lưu trong file triet.com.zone (/var/named/triet.com.zone) + Khai báo reverse lookup zone (IP sang tên) trong file /var/named/70.161.113.zone. CẤU HÌNH (tt). Ví dụ : Taäp tin /etc/named.conf 11. BẢO MẬT DNS SERVER. 1. Notify : Giữa DNS Slave và Master có cơ chế tự động cập nhật khi có sự thay đổi dữ liệu trong zone file, dựa trên thông số refresh (thời gian làm tươi) Tuy nhiên có thể mô tả tham số “notify” để khi máy Master thay đổi dữ liệu zone,có thể thông báo ngay cho các slave biết để cập nhật theo. Có hai khai báo notify cho một zone: notify yes/no; //thông báo cho các name server liệt kê bởi các record NS của zone này. also-notify {danh sách các Slave name server cần thông báo đến để cập nhật}; allow-update {danh sách IP update tự động lên name server;}; BẢO MẬT DNS SERVER(tt). Ví dụ : zone “net.com” { type master; file "named2.hosts"; notify yes; also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;} allow-update{none;}; }; zone “12.168.192.in-addr.arpa" { type master; file "named2.rev"; notify yes; allow-update{none;}; }; BẢO MẬT DNS SERVER(tt). 2. Allow-transfer : Thông thường DNS cho phép copy các zone file giữa Master và Slave Name server. Do DNS có thể chứa các thông tin nhạy cảm, nên chỉ cho phép một số máy có thể copy được zone file từ máy master. Cú pháp của allow-transfer như sau: allow-transfer {danh sách địa chỉ IP cho phép copy dữ liệu;}; Ví dụ : zone “net.com" { type master; file "named2.hosts"; notify yes; also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;}; allow-transfer {192.168.11.1; 192.168.11.4; 192.168.10.1;}; }; BẢO MẬT DNS SERVER(tt). 3. Allow-query : Mặc định các dữ liệu DNS phổ biến công cộng cho mọi người có thể truy cập. Tuy nhiên trong một số trường hợp có thể cần giới hạn việc truy cập dữ liệu DNS cho một số địa chỉ IP nào đó. Cú pháp của allow-query như sau: allow-query {danh sách địa chỉ IP cho phép truy cập dữ liệu;}; Ví dụ : zone “net.com" { type master; file "named2.hosts"; notify yes; also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;}; allow-transfer {192.168.11.1; 192.168.11.4; 192.168.10.1;}; allow-query {192.168.11/24}; }; 12. KIỂM TRA CẤU HÌNH. #nslookup –sil

Các file đính kèm theo tài liệu này:

  • pdfbai_dns_2014_9825.pdf