Đề tài Tìm hiểu và triển khai DNS trên nền linux

pdf 106 trang yendo 4520
Bạn đang xem 20 trang mẫu của tài liệu "Đề tài Tìm hiểu và triển khai DNS trên nền linux", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfde_tai_tim_hieu_va_trien_khai_dns_tren_nen_linux.pdf

Nội dung text: Đề tài Tìm hiểu và triển khai DNS trên nền linux

  1. MỤC LỤC MỤC LỤC 1 BẢNG CÁC HÌNH VẼ 3 Chương 1 : -Tìm hiểu về cơ sở hệ diều hành Linux 5 1.1.Khái niệm 5 1.2 .Lịch sử phát triển của Linux 5 Chương 2 :- Những tính năng giửa dòng Linux Server và Windowns Server 8 2.1 - Đôi nét về dòng hệ điều hành Server 8 2.2 – Hệ thống mạng giữa dòng server linux và windows 9 2.2.1 Hệ thống Server 9 2.2.2 Sơ lược DNS (Domain Name SysTem) trên Server Windows và linux 11 2.3 Tính bảo mật, độ tin cậy trên dòng hệ điều hành server 11 2.3.1 Bảo mật trên server 11 2.3.2 Độ tinh cậy trên giữa hai dòng server linux, window 13 Chương 3 Tìm hiểu về khái niệm DNS (Domain Name System): 14 3.1 Khái niệm tên miền(domain name) 14 3.2 - Hệ thống tên miền(Domain Name System-DNS) 15 3.2.1- Lịch sử phát triển hệ thống tên miền ( Domain Name System) 15 3.2.2 - Mục đích của hệ thống tên miền (Domain Name System) 16 3.2.3 Không gian tên ( Name space) 16 3.2.3.1 Domain Name space (không gian tên miền) 17 3.2.3.2 Cấu trúc không gian tên miền của bản ghi ngược 18 3.2.4 Xét không gian tên miền .VN (VNNIC) tại nước Việt Nam 20 3.2.4.1 Hệ thống không gian tên miền quốc gia Việt Nam(VNNIC) 20 3.2.4.2. Hệ thống máy chủ DNS của các ISP , các cơ quan tổ chức dối với không gian miền quốc gia .VN (VNNIC) 21 3.2.4.3. Hoạt động truy vấn tên miền của VNNIC(.VN) 22 3.3 - Cấu trúc của hệ thống tên miền 25 3.3.1- Cách đọc một tên miền 25 3.3.2- Qui tắc đặt tên miền 26 3.4 - Cơ sở dữ liệu DNS 26 3.5 - Cấu trúc gói tin DNS: 28 Chương 4: Phân loại hệ thống máy chủ tên miền ( DNS server). 29 4.1 Máy chủ tên miền ( name server) 29 4.2 Máy chủ tên miền mức cao nhất ( DNS ROOT server) 30 4.3 - Primary server (Master) 31 4.4 - Caching-only server(Cache server) 32 4.5 Stub Server : 33 4.6 - Các bản ghi dữ liệu tên miền (Resource Record) 33 4.6.1 Bản ghi SOA (Start of Authority ) 33 4.6.2 Bản ghi kiểu A 33 4.6.3.Bản ghi AAAA 34 1
  2. 4.6.4 - Bản ghi CNAME 34 4.6.5 Bản ghi MX 35 4.6.6 - Bản ghi NS 35 4.6.7- Bản ghi PTR 36 Chương 5 : Cấu trúc thư mục và các lệnh cơ bản trong linux 36 5.1 cấu trúc thư mục 36 5.2. Các lênh cơ bản command trên dòng linux 38 Chương 6: Giới thiệu về Ubuntu hệ điều hành mã nguồn mở 41 6.1 Ubuntu là gì : 41 6.2 Tên gọi và phiên bản 41 6.3 Điểm khác biệt Ubuntu với Windows 43 6.4 Cài đặt Ubuntu server 8.10 45 Chương 7: Các file cấu hình DNS(BIND) cơ bản 53 7.1 BIND: (Berkeley Internet Name Distributed) là m ột chương trình phục vụ DNS (Domain Name System) trên nền các hệ thống AIX/BSD/HP - UX/Unix/Linux/VMS Được phát triển vào đầu những năm 1980, BIND là một phần mềm máy chủ DNS phổ biến nhất hiện nay tr ên Internet 53 7.2 Cài đặt BIND9 trên ubuntu server 8.10 54 Chương 8 :Giới thiệu cấu hình các DNS server (BIND) 60 8.1 Cấu hình một Master server: 60 8.2 Cấu hình một slave server 66 8.3 DNS Caching 70 8.3.1 Hoạt động của máy chủ DNS đệm (DNS Caching) 70 8.4 Sự ủy quyền trong DNS ( delegation DNS) 71 Chương 9 : Xây Dựng Mô Hình DNS server (BIND ) trên Ubuntu server 8.10 71 9.1 Tổng quát về mô hình DNS server (BIND) 71 9.2.1 Phân giải zone ntt.edu ,dynamic.ntt.edu, các ip thuộc mạng 10.0.0.100 trên master 78 9.2.2 Sự kết nối DNS server Master và Slave 78 9.2.2.1 DNS server Master và Slave không có DNSsec 78 9.2.2.2 DNS server Master và Slave có DNSsec 81 9.2.3 DNS server Master update zone 88 9.2.3.1 : nsupdate zone ntt.edu cho master 88 9.2.3.2 Sử dụng key cho viêc update zone cho server master 90 9.3 Ứng dụng DHCP, Mail server cho DNS server: 91 9.3.1 Ứng dụng DHCP server tự cập nhật record l ên DNS server 91 9.3.2 Ứng dụng Mail server 96 Chương 10 : Kết quả đạt được và hướng phát triển cuả DNS Server . 105 10.1 : Kết quả đạt được . 105 10.2 : Hướng Phát triển . 105 TÀI LIỆU THAM KHẢO 106 2
  3. BẢNG CÁC HÌNH VẼ STT Tên hình Mô tả 1 Hình 1 Thời gian phát triển của linux và các hệ điều hành khác 2 Hình 2 Bảng so sánh dịch vụ mạng giữa hai dòng Server Windows và Linux 3 Hình 3 Bảng so sánh độ bảo mật trên 2 dòng Server Windows và Linux 4 Hình 4 Một hệ thống tên miền (Domain Name system) 5 Hình 5 Mô phỏng việc phân giải một tên miền 6 Hình 6 Một không gian tên miền 7 Hinh 7 Cấu trúc không gian tên miền ngược 8 Hình 8 Hệ thống máy chủ tên miền quốc gia .VN(VNNIC) 9 Hình 9 Truy vấn tên miền .VN 10 Hình 10 Truy vấn tên miền quốc tế tại Việt Nam 11 Hình 11 Cấu trúc gói tin DNS 12 Hình 12 Vị trí 13 DNS ROOT Server 13 Hình 13 Địa chỉ 13 DNS ROOT server 14 Hình 14 Cấu trúc thư mục một hệ điều hành linux 15 Hình 15 Các trình ứng dụng ubuntu và miscrosoft windows 16 Hình 16 Cấu hình cài đặt ubuntu server 8.10 17 Hình 17 Cấu hình cài đặt ubuntu Server 8.10 18 Hình 18 Cấu hình cài đặt ubuntu Server 8.10 19 Hình 19 Cấu hình cài đặt ubuntu chọn ngôn ngữ 20 Hình 20 Cấu hình cài đặt ubuntu chọn kiểu bàn phím 21 Hình 21 Cấu hình cài đặt ubuntu chon kết nối mạng 3
  4. 22 Hình 22 Cấu hình cài đặt ubuntu chon khai báo host name 23 Hình 23 Cấu hình cài đặt ubuntu chon thời gian clock 24 Hình 24 Cấu hình cài đặt partition ubuntu Server 25 Hình 25 Cấu hình cài đặt ubuntu Server 8.10 26 Hình 26 Cấu hình cài đặt ubuntu Server 8.10 27 Hình 27 Cấu hình cài đặt ubuntu Server 8.10 28 Hình 28 Cấu hình cài đặt ubuntu Server 8.10 29 Hình 29 Cấu hình cài đặt ubuntu Server 8.10 30 Hình 30 Cấu hình cài đặt ubuntu Server 8.10 31 Hình 31 Cấu hình cài đặt ubuntu Server 8.10 32 Hình 32 Cấu hình cài đặt ubuntu Server 8.10 33 Hình 33 Test bằng lệnh nslookup zone 34 Hình 34 Test bằng lệnh dig với zone ntt.edu 35 Hình 35 Test nslookup server 10.0.0.100 36 Hình 36 Test nslookup Server 10.0.0.101 37 Hình 37 Ghi nhận transfer zone trên master 38 Hình 38 Ghi nhận transfer zone trên slave 39 Hình 39 Cặp key public và private 40 Hình 40 Load file khi retransfer Server Slave 41 Hình 41 Test nslookup 42 Hình 42 Lệnh nsupdate zone lên Server 10.0.0.100 43 Hình 43 Test nslookup 44 Hình 44 Test update zone 45 Hình 45 Lệnh update lên zone ntt.edu có key 46 Hình 46 Test nslookup Sec ntt.edu 47 Hình 47 Test update zone 48 Hình 48 Test Network Interface 49 Hình 49 Test địa chỉ IP của máy Client doDHCP Server cấp 4
  5. 50 Hình 50 Test nslookup 51 Hình 51 Test nslookup 52 Hình 52 Tạo user và password cho việc gửi mail 53 Hình 53 Cấu hình openwebmail tạo thuận tiện cho việc quản lý mail 54 Hình 54 Test phân giải mail.ntt.edu 55 Hình 55 Cấu hình file dbm 56 Hình 56 Start dịch vụ DHCP 57 Hình 57 Vào openwebmail đăng nhập user và passwork 58 Hình 58 Login vào openwebmail 59 Hình 59 Thực hiện việc gửi mail 60 Hình 60 Kết quả gửi mail thành công Chương 1 : -Tìm hiểu về cơ sở hệ diều hành Linux 1.1.Khái niệm Linux là một HĐH dạng Unix (Unix-like Operating System ) được chạy trên máy PC với bộ điều khiển trung tâm ( CPU )Intel 80386 và các thế hệ tiếp theo , hay các bộ vi xử lý trung tâm t ương thích như AMD , Cyrix . Linux ngày nay c òn có thể chạy trên các máy Macintosh hoặc SUN Sparc . Linux thỏa mãn chuẩn POSIX.1. 1.2 .Lịch sử phát triển của Linux Năm 1991 Linus Torwalds , sinh viên của đại học tổng hợp Helsinki (Phần Lan ), bắt đầu xem xét Minix , một phi ên bản của Unix , làm ra với mục đích nghiêm cứu cách tạo ra một HĐH Unix chạy trên máy PC với bộ vi xử lý Intel 80386. Ngày 25/8/1991 , Linus cho ra Version 0.01 và thông s ố trên comp.os.minix của Internet về chương trình của mình . 5
  6. Tháng 1/1992 , Linus cho ra version 0.12 v ới shell và C compiler . Linus không cần Minix nữa để biên dịch lại HĐH của mình . Linux đặt tên HĐH của mình là Linux. Năm 1994 , phiên bản chính thức 1.0 được phát hành .Quá trình phát triển của Linux được tăng tốc bởi sự giúp đỡ của chương trình GNU (GNU, s Not Unix ), đó là chương trình phát triển các Unix có khẳn năng chạy tr ên nhiều platform . Đến hôm nay , cuối 2001 phiên bản mới nhất của Linux kernel l à 2.4.2-2, có khả năng điều khiển các máy đa bộ vi xử lý v à rất nhiều các tính năng khác Nó hổ trợ nhiều phần mềm . Xử lý văn bản : WYSWYG (What you see what you get ). Ngôn ngữ lập trình : Linux cung cấp một môi trường lập trình đầy đủ bao gồm các thư viện chuẩn , các công cụ lập trình , trình biên dịch debuggers. X-windown : là giao diện người dung đồ họa chuẩn với nhiều ứng dụng ( nhiều cửa sổ terminal , tr ên cùng một màn hình với mỗi phiên làm việc riêng ). Mạng và truyền thông : Linux hổ trợ giao th ức TCP/IP , cùng nhiều driver có các card mạng phổ biến , ngoài ra nó còn hổ trợ SLIP ,PPP để kết nối Internet qua Modem , NFS,Ftp , sendmail Ngoài ra , còn hổ trợ kết nối chia sẽ file với w indowns thông qua Samba và kết nối với máy chạy Macintosh với giao thức Apple Task và Local Task . Cả giao thức IPX của Novell. WWW : Cả Web Server vào web brownser. Và các ứng dụng khác : Cơ sở dữ liệu quan hệ như Postgres . MySQL , Ingress Mbase Các ứng dụng 6
  7. t í n h t o á n Hình 1: Thời gian phát triển của linux và các hệ điều hành khác k hoa học : FELT , gnuplot , Octave ( gần giống nh ư MATLAB ), xspred (bảng tính ), Các chương trình hổ trợ Media như Cdplayer , Các khuyết điểm : Thiếu trợ giúp kỹ thuật , v à các vấn đề về phần cứng . 1.3 -Những tính năng của hệ điều hành mã nguồn mở Linux. Tương thích với nhiều hệ điều hành như DOS, MicroSoft Windows 7
  8. Cho phép cài đặt Linux cùng với các hệ điều hành khác trên cùng một ỗ đĩa Cho phép chạy mô phỏng các chương trình thuộc các hệ điều hành khác Do lunix dựa trên chuẩn của Unix nên sự chuyển đổi giữa linux và Unix khá dễ dàng Linux là một hệ điều hành Unix tiêu biểu với các đặc trưng là đa người dùng đa chương trình và đa xử lý linux có giao diện đồ họa (GUI) thừa hưởng hệ thống X-Window. Linux hỗ trợ nhiều giao thức mạng bắt nguồn và phát triển từ dòng BSD Linux khá mạnh và chạy rất nhanh ngay khi nhiều quá trình hoặc nhiều cửa sổ Linux ngày càng hổ trợ bởi các phần mền ứng dụng bổ sung như soạn thỏa , quản lý mạng , quản trị cơ sở dữ liệu Là hệ điều hành với mã nguồn mỡ được phát triển qua cộng đồng nguồn mỡ ( bao gồm các Free software) nên linux phát triển nhanh Là 1 hệ điều hành hỗ trợ đa ngô ngữ một cách toàn diện nhất Chương 2 :- Những tính năng giửa dòng Linux Server và Windowns Server 2.1 - Đôi nét về dòng hệ điều hành Server Windows NT là HĐH cao cấp của Microsoft, cung cấp môi trường hoàn toàn 32-bit trên các hệ thống đơn hay đa xử lý. Hệ thống này được quảng cáo là hỗ trợ mạng tối ưu để thi hành các ứng dụng nền (back-end) cho rất nhiều máy khách (client). Đồng thời HĐH Windows NT 8
  9. được thiết kế đặc biệt để phục vụ nhu cầu của ng ười sử dụng mạng và cho hiệu năng làm việc cùng với độ an toàn cao. Windows 2000 (còn được gọi là Windows NT 5.0), XP và 2003 cũng đều dựa trên nền công nghệ Windows NT. Đặc điểm quan trọng của Windows NT (theo www.microsoft.com): kiến trúc 32-bit; hỗ trợ nhiều bộ xử lý (4 và có khả năng nâng cấp lên 32); đa xử lý và đa luồng (multithreading). Linux đã là HĐH đa nhiệm, hỗ trợ 32 bit chạy được trên nhiều nền tảng phần cứng. HĐH n ày miễn phí và cho phép sao chép mã nguồn. Nhân Linux phiên bản 2.0 hỗ trợ nhiều nền tảng hệ thống, nhân 64 -bit hỗ trợ SMP (symmetrical multiprocessing - đa xử lý đối xứng). Linux phù hợp với những tiêu chuẩn X/Open và POSIX cho HĐH tương tự Unix, chạy được những chương trình dùng cho SCO và hệ thống Unix SVR4 2.2 – Hệ thống mạng giữa dòng server linux và windows 2.2.1 Hệ thống Server Hai hỗ trợ giao thức TCP/IP cùng nhiều giao thức khác. Trong một mạng thì các máy Linux và Windows đều xuất hiện như nhau trong danh sách, chúng có th ể chia sẻ file và máy in một cách bình thường. Một mạng hỗn hợp nhiều máy Linux và Windows là hoàn toàn có thể được. Máy chủ có thể là Linux hoặc Windows. Tuy nhiên có một số chức năng mà Linux vượt trội Windows (ví dụ như clustering.) Clustering là công ngh ệ máy chủ với khả năng chịu lỗi cao, cung cấp những tính năng nh ư: tính sẵn sàng và khả năng mở rộng. Công nghệ này nhóm các 9
  10. server và tài nguyên chung thành m ột hệ thống đơn có khả năng miễn dịch lỗi và tăng hiệu năng hoạt động. Các máy trạm tương tác với các nhóm server như thể nhóm server này là một hệ thống đơn. Nếu một server trong nhóm bị hỏng các server khác sẽ đảm trách công việc của nó. Linux thực sự mạnh về mặt này, nó đã được dùng để thiết kế những nhóm server khổng lồ Một mạng máy tính Windows NetWorkMột mạng Server máy tính Linux có thể bao gồm: NT/2000 có thể bao gồm: • Linux file server Linux Windows• Active NT/2000 directory server • Linux backup • Các Client chạy Windows • Linux firewall • Firewall • Các client; Có thể chạy nhiều HĐH khác • Một IIS (Internet Information nhau: Unix, Macintosh, và Windows. Service) webserver • Linux print server • Print server • Linux Apache web server. • NT/2000 SQL server •Linux database • WINS (Windows Internet Linux-Based DNS (Domain Name System) • Naming Service) server • DNS (Domain Name System) server 10
  11. Hình 2: Bảng so sánh dịch vụ mạng dòng server windows và linux 2.2.2 Sơ lược DNS (Domain Name SysTem) tr ên Server Windows và linux Phần mền tích hợp có sẵn trên mỗi hệ điều hành server và chức năng hiện đang có sẵn cho tên máy chủ Unix (bao gồm cả Linux), Windows, hệ điều hành Mac OS X và hệ điều hành MacOS (Classic), VMS, và OS / 2, Việc triển khai thực hiện các tiêu chuẩn của một máy chủ DNS là BIND trên UNIX, BIND cũng đã được chuyển đến các hệ điều hành khác Hầu hết các sản phẩm DNS server được dựa trên BIND chạy trên một số hình thức của UNIX (bao gồm cả Linux v à hệ điều hành MacOS X),Hình thức Bind của Microsoft dành cho máy chủ DNS server theo định hướng các phiên bản của Windows là phổ biến trong môi trường của Microsoft. . Linux server: Không chi phí bản quyền, ổn định, yêu cầu cấu hình phần cứng thấp hơn.,có khả năng dung lỗi , ổn định và đáng tin cậy ở một số máy phục vụ sản xuất, môi tr ường, mặc dù là máy phục vụ quản lý dựa trên command-line. Khuyến khích, phần mềm miễn phí, mã nguồn sẵn sàng tự do. . Windows sever: Quen thuộc với nhiều người, dễ cấu hình, chi phí bản quyền cao, bất lợi , dòi hỏi phải có cấu hình phân cứng trên 1 win server, dựa trên nền tảng BIND DNS Plus là phần mềm thương mại cho Windows (bất kỳ phiên bản từ Windows 95 vào năm 2003). Có vẻ như đầy đủ chức năng và được nhắm mục tiêu vào các trang web nhỏ và các nhà cố định, người sử dụng có các kết nối internet. 2.3 Tính bảo mật, độ tin cậy trên dòng hệ điều hành server 2.3.1 Bảo mật trên server Tính chất nguồn mở của Linux cho phép bất cứ người nào có thể xem xét tính bảo mật của nó, sửa đổi theo ý của họ. Tr ên 11
  12. thực tế các đoạn code của Linux bị sửa đổi rất nhanh và nhiều bởi những lập trình viên còn non kinh nghiệm. Không có một tổ chức hay một quy tắc nào quy định về việc xem xét lại các đoạn m ã đó. Những lập trình viên của HĐH dòng Unix không mấy hứng thú với vấn đề này. Tuy nhiên Linux có một hệ thống firewall và các công cụ phát hiện xâm nhập rất đáng nể phục. Microsoft luôn luôn đảm bảo rằng sản phẩm của họ là an toàn, bảo mật cao. Tuy nhiên thực tế cho thấy điều đó không lấy gì làm đảm bảo. Các sản phẩm của họ cũng không cho phép những hội đồng thanh tra có thể xem xét. V ì Windows là một hệ điều hành mã nguồn đóng cho nên người dùng không có cách nào để sửa chữa hoặc dự báo được các lỗi Bảo mật Linux Windows NT/2000 ưu điểm Tính bảo mật cao của Linux đã Các tùy chọn bảo mật phong phú. Có được kiểm tra và xác nhận bởi hàng đầy đủ các chương trình ghi nhận, triệu người dùng và chuyên gia trên thống kê các tác vụ bất hợp lệ. toàn thế giới. Có thể nói ngay được một file cụ thể Microsoft đã bán được khá nhiều đã bị thay đổi như thế nào nhờ việc phần mềm firewall. ghi nhật ký. Hơn nữa việc phân 12
  13. quyền chặt chẽ khiến cho việc xóa, ghi mà không được phép trở nên khó khăn hơn rất nhiều so với Windows. Firewall là một thành phần của hệ thống. Firewall của Linux nổi tiếng là đáng tin cậy. Hạn chế Bảo mật vẫn là vấn đề mà chính Quyền truy cập file hiện còn đơn Microsoft thừa nhận là khó khăn giản: nhất. Có rất nhiều lỗi được báo cáo READ - WRITE - EXECUTE dành và công bố. Các lỗi này gây ra thiệt cho USER - GROUP - OTHER hại lớn về kinh tế cho bản thân Microsoft và các công ty khách hàng. Chưa có các chương trình thống kê, ghi nhận và phát hiện các tác vụ Hkhông hợp lệ một cách chuyên ình nghiệp. 3: bảng so sánh độ bảo mật trên 2 dòng server windows và linux 2.3.2 Độ tinh cậy trên giữa hai dòng server linux, window Người dùng Windows chắc hẳn ai cũng đã từng gặp 'Blue Screen of Death' - màn hình xanh chết chóc. Độ tin cậy tồi là một hạn chế rất lớn của HĐH này. Windows sử dụng rất nhiều tài nguyên hệ thống cho nên các server sử dụng HĐH này khó có thể chạy liên tục trong vòng vài tháng mà không g ặp vấn đề gì, như lỗi bộ nhớ hoặc phân mảnh đĩa Linux nổi tiếng là một hệ điều hành tin cậy. Các server có thể hoạt động hàng năm trời mà không vấp phải một vấn đề gì. Tuy nhiên 13
  14. nếu dùng để thực hiện các giao dịch thì độ tin cậy chưa cao vì mặc định là giao thức đĩa không đồng bộ (non-synchronous disk I/O). Khi chẳng may hệ thống bị ngắt đột ngột th ì dữ liệu có thể bị mất mát. Tuy nhiên nhìn chung Linux hoàn toàn có thể tin cậy được. Chương 3 Tìm hiểu về khái niệm DNS (Domain Name System): 3.1 Khái niệm tên miền(domain name) Mạng Internet được phát triển rộng khắp trên toàn thế giới. Để có thể khai thác và sử dụng các dịch vụ và ứng dụng trên mạng Internet ta cần phải xác định được vị trí của mỗi máy tính. Địa chỉ Internet (IP) đang được sử dụng hiện tại là thế hệ địa chỉ IPv4 có 32 bit chia thành 4 Octet, mỗi Octet có 8 bit, tương đương với 1 byte được đếm từ trái qua phải từ bit 1 đến bit 32, các Octet tách biệt nhau bằng dấu chấm "." và biểu hiện ở dạng thập phân đầy đủ là 12 chữ số. Ví dụ : một địa chỉ Internet: 203.162.57.105 Hiện nay một số quốc gia đã đưa vào sử dụng địa chỉ IPv6 nhằm mở rộng không gian địa chỉ v à sử dụng những ứng dụng và tính năng mới của IPv6, địa chỉ IPv6 gồm 128 bit d ài gấp 4 lần so với độ dài của địa chỉ IPv4. Nói cách khác chính xá c hơn là địa IPv4 có khả nǎng cung cấp 232 = 4 294 967 296 địa chỉ, c òn địa chỉ IPv6 có khả nǎng cung cấp tới 2128 địa chỉ. Địa chỉ dạng chữ số dài như vậy rất khó nhớ, dẫn đến việc sử dụng dịch vụ do một máy tính tr ên mạng cung cấp là rất khó, hệ thống DNS được sinh ra để gán cho mỗi địa chỉ IP dạng số một tên dạng chữ tương ứng, dễ nhớ. Các tên dạng chữ này được gọi là tên miền. Các tên miền này thường có ý nghĩa liên quan đến các dịch vụ được cung cấp. Ví dụ: 14
  15. Máy chủ Web Server của Trường Cao Đẳng Nguyễn Tất Thành có địa chỉ là 210.245.121.98, tên miền của nó là www.ntt.edu.vn Người sử dụng không cần biết đến địa chỉ IP m à chỉ cần nhớ tên miền này là truy cập được vào trang web của Trường Nguyễn Tất Thành Tên miền là một danh từ dịch theo kiểu nghĩa của từng từ một (word by word) từ tiếng Anh (domain name). Thực chất t ên miền là sự nhận dạng vị trí của một máy tính tr ên mạng Internet nói cách khác tên miền là tên của các mạng lưới, tên của các máy chủ trên mạng Internet. Mỗi địa chỉ bằng chữ n ày phải tương ứng với một địa chỉ IP dạng số. * Chú ý : Toàn bộ tên miền không thể vượt quá độ dài 255 ký tự, nhưng một số công ty đăng ký có các giới hạn ngắn h ơn. 3.2 - Hệ thống tên miền(Domain Name System-DNS) 3.2.1- Lịch sử phát triển hệ thống tên miền ( Domain Name System) Tại Mỹ Lúc dan đầu với mạng máy tính còn nhỏ của bộ quốc phòng Mỹ thì chỉ cần một tệp HOSTS.txt chứa các thông tin về chuyển đổi địa chỉ và tên mạng. Nhưng khi mạng máy tính ngày càng phát triển thì với một tệp HOSTS.txt là không khả thi.Về phía người sử dụng để có thể sử dụng được các dịch vụ trên mạng họ phải nhớ được địa chỉ của các máy chủ cung cấp dịch vụ n ày, do người sử dụng phải nhớ được địa chỉ IP với dạng chữ số dài như vậy khi nối mạng là rất khó khăn và vì thế có nhu cầu một địa chỉ thân thiện, mang tính gợi mở và dễ nhớ hơn cho người sử dụng đi kèm. Do vậy đến năm 1984 Paul Mockpetris thuộc viện USC’s Information Sciences Institute phát tri ển một hệ thống quản lý tên miền mới lấy tên là Hệ thống tên miền Domain Name System (DNS) và ngày càng phát triển (hình 2 15
  16. 3.2.2 - Mục đích của hệ thống tên miền (Domain Name System) +Phân giải địa tên máy thành địa chỉ IP và ngược lại. +Phân giải tên domain Hệ thống tên miền bao gồm một loạt các cơ sở dữ liệu chứa địa chỉ IP và các tên miền tương ứng của nó.Mỗi tên miền tương ứng với một địa chỉ IP cụ thể. Hệ thống t ên miền trên mạng Internet có nhiệm vụ chuyển đổi tên miền sang địa chỉ IP và ngược lại từ địa chỉ IP sang tên miền ( hình 3 ) Hệ thống tên miền ( DNS) là hệ thống sử dụng cơ sở dữ liệu phân tán và phân cấp hình cây do đó việc quản lý sẽ dễ dàng hơn và cũng rất thuận tiên cho việc chuyển đổi từ tên miền sang địa chỉ IP và ngược lại. Tên miền là những tên gợi nhớ như ntt.edu.vn hoặc www.ntt.deu.vn Nó thân thiện hơn địa chỉ IP giúp cho người sử dụng đơn giản, dễ dàng nhớ vì nó ở dạng chữ mà người bình thường có thể hiểu và sử dụng hàng ngày. Hình 5: Mô phỏng việc phân giải một tên miền 3.2.3 Không gian tên ( Name space) Hình 4: Một hệ thống tên miền (Domain Name system) 16
  17. 3.2.3.1 Domain Name space (không gian tên miền) Hình 6: Một không gian tên miền Top – Level Domain :Internet Domain Name Space đư ợc tổ chức thành 7 domain cơ bản như sau : com : Commercial Organization ( Tên miền này được dùng cho các tổ chức thương mại ), Such as Hewlett – Packard (hp.com), Sum Micrisytems (sum.com) , and IBM (ibm.com) . edu : Educational Organization ( Tên miền này được dùng cho các cơ quan giáo d ục, trường học ), such as U.C.Berkeley (Berkeley.edu) and Purdue University (purdue.edu). gov : Government Organizations (Tên miền này được dùng chocác tổ chức chính phủ ), such as NASA (nasa.gov) and the National Science Foundation (nsf.gov). 17
  18. mil : Military Organizations (Tên miền dành cho các tổ chức quân sự, quốc phòng) , such as the U.S . Army (army.mil) and Navy (navy.mail). net : Networking Organizations (Tên miền này được dùng cho các tổ chức mạng lớn ) , such as NSFNET (nsf.net). org : Noncoommercail Organizations (Tên miền này được dùng cho các tổ chức khác ) , such as the Electronic Frontier Foundation (eff.org). int : international Organizations (Tên miền này dùng cho các tổ chức quốc tế) , such as NATO (nato.int ). - Ngày nay còn bổ sung thêm một số khác như : firm , shop , wem và nom . - Đồng thời cũng mở rộng thêm dựa trên Top-Level Domains đó như Top-Level Dpmain của Việt Nam là vn , có những submain như edu .vn và com .vn 3.2.3.2 Cấu trúc không gian tên miền của bản ghi ngược Ngoài chức năng chuyển đổi tên miền sang địa chỉ IP, hệ thống DNS còn có chức năng chuyển đổi ngược lại từ địa chỉ IP sang tên miền (reverse lookup). Chức năng reverse lookup cho phép tìm tên miền khi biết địa chỉ IP và được sử dụng trong trường hợp cần kiểm tra tính xác thực của các dịch vụ sử dụng trên Internet. Ví dụ: Trong dịch vụ thư điện tử, thư điện tử (email) cần được chuyển qua một loạt các trạm chuyển tiếp th ư điện tử (email exchanger) trước khi được chuyển đến người dùng. Khi email được chuyển từ một trạm chuyển tiếp th ư điện tử này đến một trạm chuyển tiếp thư điện tử khác, trạm chuyển tiếp thư điện tử nhận thư sẽ dùng chức năng reverse lookup của hệ thống DNS 18
  19. để tìm tên miền của trạm chuyển tiếp thư điện tử chuyển thư đến. Trong trường hợp địa chỉ IP của trạm chuyển tiếp th ư điện tử gửi không được khai báo bản ghi ngược, trạm chuyển tiếp thư điện tử nhận sẽ không chấp nhận kết nối n ày và sẽ loại bỏ thư điện tử. Không gian tên miền các bản ghi ngược cũng được xây dựng theo cơ chế phân cấp như không gian tên miền của các bản ghi thuận: Hình 7 : Cấu trúc không gian tên miền ngược Mức cao nhất trong không gian t ên miền các bản ghi ngược là root, ký hiệu là “.” Sau đó là mức “arpa” và “in-addr”. Do đó các tên miền thuộc không gian tên miền ngược sẽ thuộc miền (domain) “in-addr.arpa.”. Theo hình 4.1 tên miền in-addr.arpa sẽ có 4 cấp. Ở mỗi cấp sẽ có 256 tên miền cấp dưới (subdomain). 256 tên miền cấp dưới này là các số nguyên từ 0 đến 255 tương ứng với 256 cách biểu thị bằng giá trị thập phân của mỗi byte cấu th ành địa chỉ IP. Các tên miền ngược có cấu trúc như sau: 19
  20. www.zzz.yyy.xxx.in-addr.arpa. Trong đó, xxx, yyy, zzz, www là các s ố viết trong hệ thập phân biểu thị giá trị của bốn byte cấu th ành địa chỉ IP. Ví dụ, một máy tính trên mạng có địa chỉ IP là 203.162.57.12 và có tên miền là mail.vnnic.net.vn thì tên miền ngược ứng với địa chỉ 203.162.57.12 sẽ là: 12.57.162.203.in-addr.arpa. Tên miền ngược này ánh xạ vào tên miền thuận bằng bản ghi PTR được khai báo trên máy chủ DNS như sau: 12.57.162.203.in-addr.arpa. IN PTR mail.vnnic.net.vn 3.2.4 Xét không gian tên miền .VN (VNNIC) tại nước Việt Nam 3.2.4.1 Hệ thống không gian tên miền quốc gia Việt Nam(VNNIC) Hệ thống máy chủ tên miền (DNS) quốc gia do trung tâm Internet Việt Nam quản lý có nhiệm vụ quản lý khô ng gian tên miền cấp quốc gia .VN tiếp nhận trả lời các truy vấn tên miền .VN Hiện tại hệ thống máy chủ tên miền quốc gia gồm 5 cụm máy chủ đặt trong nước ( 2 cụm tại thành phố Hồ Chí Minh 2 cụm tại Hà Nội và 1 cụm đặt tại Đà Nẵng), 2 cụm máy chủ đặt ở nước ngoài tại nhiều điểm trên thế giới ( Hình 5 ) 20
  21. Hình 8: Hệ thống máy chủ tên miền quốc gia .VN(VNNIC) Các điểm màu xanh là các cụm máy chủ DNS quốc gia đặt trong nước ( Hình 5), các điểm màu đỏ, vàng là các cụm máy chủ DNS quốc gia phân bổ trên thế giới.Hiện tên miền quốc gia Việt Nam ".VN" đã được quản lý, đảm bảo bởi 07 cụm máy chủ DNS đặt tại các điểm khác nhau tr ên toàn thế giới (21 điểm tại nước ngoài, 5 điểm trong nước) sử dụng các công nghệ mới nhất như định tuyến địa chỉ Anycast, cân bằng tải Truy vấn tên miền ".vn" từ phía người dùng trên khắp thế giới sẽ được thực hiện rất nhanh qua máy chủ DNS gần nhất đ ược tìm thấy trong số các máy chủ tên miền ".VN" 3.2.4.2. Hệ thống máy chủ DNS của các ISP, các cơ quan tổ chức dối với không gian miền quốc gia .VN (VNNIC) Hệ thống máy chủ DNS của các ISP có nhiệm vụ tiếp nhận v à xử lý các truy vấn tên miền (gồm cả các tên miền .vn và tên miền khác). Với các tên miền .vn, hệ thống máy chủ tên miền của các ISP sẽ truy vấn lên hệ thống máy chủ ROOT server hoặc hệ thống máy chủ DNS đệm (Caching) của VNNIC v à từ đó truy vấn hệ thống máy chủ tên miền quốc gia để tìm kiếm thông tin và trả lời truy vấn. Đối với các tên miền thông thường (tên miền cấp cao, tên miền của các quốc gia khác), hệ thống máy chủ tên miền này sẽ truy vấn lên hệ thống máy chủ ROOT hoặc hệ thống máy chủ DNS đệm (Caching) của VNNIC và các máy chủ tên miền khác được đặt ở nước ngoài để tìm kiếm kết quả. Không gian tên miền .vn được quản lý theo cơ chế phân cấp và chuyển giao. Các tên miền cấp 2 và cấp 3 thuộc hệ thống tên miền .vn sẽ được lưu giữ trên hệ thống tên miền quốc gia. Các tên miền cấp 3 và cấp 4 sẽ được lưu giữ tại các hệ thống máy chủ được chuyển giao, phần lớn các máy chủ được chuyển giao này là các máy chủ của các 21
  22. ISP trong nước. Như vậy hầu hết các tên miền quốc gia của Việt nam do các máy chủ tên miền trong nước quản lý 3.2.4.3. Hoạt động truy vấn tên miền của VNNIC(.VN) Hoạt động truy vấn tên miền tại Việt Nam gồm 2 loại: truy vấn tên miền cấp quốc gia và truy vấn tên miền khác (tên miền cấp cao và tên miền của các quốc gia khác). Truy vấn tên miền (.VN) ( duyệt không gian miền .VN) Khi người dùng Internet Việt Nam thực hiện truy vấn tên miền .vn. Ví dụ: ntt.edu.vn quá trình truy vấn tên miền sẽ diễn ra như sau: ( Hình 7) Số 1: Chương trình trên máy người sử dụng (trình duyệt) sẽ truy vấn hệ thống máy chủ tên miền của ISP mà người dùng kết nối. Số 2: Hệ thống máy chủ tên miền của ISP sẽ tiếp nhận và gửi truy vấn này lên hệ thống máy chủ ROOT để tìm kiếm máy chủ quản lý tên miền ntt.edu.vn Số 3 : Hệ thống máy chủ ROOT Server nhận đ ược truy vấn và tiến hành tìm kiếm trong cơ sở dữ liệu tên miền để trả lời. Căn cứ theo dữ liệu đã có, máy chủ ROOT Server sẽ trả lời cho máy chủ của ISP các thông tin (địa chỉ IP , tên máy chủ) của máy chủ thuộc hệ thống máy chủ t ên miền quốc gia .vn. Số 4: Hệ thống máy chủ ISP sẽ truy vấn máy chủ quản lý các t ên miền quốc gia để tìm kiếm thông tin về tên miền ntt.edu.vn Số 5: 22
  23. Hệ thống máy chủ tên miền quốc gia sẽ tiến hành tìm kiếm dữ liệu và cung cấp thông tin cho máy chủ ISP về máy chủ quản lý tên miền edu.vn. Số 6: Hệ thống máy chủ của ISP sẽ truy vấn máy chủ để t ìm kiếm địa chỉ trang web ntt.edu.vn Số 7: Máy chủ quản lý không gian tên miền edu.vn nên nó có thông tin về địa chỉ của tên miền ntt.edu.vn và tiến hành cung cấp địa chỉ IP này cho hệ thống DNS của ISP. Số 8: Hệ thống DNS của ISP trả lời người sử dụng địa chỉ IP của máy chủ có trang web ntt.edu.vn Số 9: Người sử dụng dùng địa chỉ này để truy cập vào trang web ntt.edu.vn 23
  24. Hình 9 :Truy vấn tên miền .vn Truy vấn tên miền cấp cao Số 1: Truy vấn hệ thống máy chủ tên miền của ISP người sử dụng. Số 2 : Nếu có cơ sở dữ liệu của tên miền yahoo hệ thống máy chủ ISP sẽ trả lời, còn nếu không có nó sẽ truy vấn máy chủ ROOT Server. Số 3: Hệ thống ROOT Server không có c ơ sở dữ liệu này nhưng nó có chứa cơ sở dữ liệu của máy chủ tên miền quản lý .COM. ROOT Server sẽ gửi cho máy chủ ISP địa chỉ của máy chủ quản lý các t ên miền .COM để máy chủ ISP truy vấn. Số 4: Hệ thống máy chủ ISP truy vấn máy chủ quản lý t ên miền .COM địa chỉ của trang web www.yahoo.com Số 5: Máy chủ quản lý tên miền .COM sẽ trả lời địa chỉ www.yahoo.com v ì nó có cơ sở dữ liệu này. 24
  25. Số 6: Hệ thống máy chủ tên miền ISP sẽ trả lời người sử dụng địa chỉ trang web www.yahoo.com Số 7: Người sử dụng dùng địa chỉ này để truy cập trang web www.yahoo.com thông qua địa chỉ vừa nhận được Hình 10 :Truy vấn tên miền quốc tế tại Việt Nam 3.3 - Cấu trúc của hệ thống tên miền Hiện nay hệ thống tên miền trên thế giới được phân bố theo cấu trúc hình cây. tên miền cấp cao nhất là tên miền gốc (ROOT) được thể hiện bằng dấu ".". Dưới tên miền gốc có hai loại tên miền là: tên miền cấp cao dùng chung- gTLDs (generic Top Level Domains) và tên mi ền cấp cao quốc gia – ccTLD (country code Top Level Domains) như .vn, .jp, .kr, . 3.3.1- Cách đọc một tên miền Giả sử có tên miền www.ntt.edu.vn Một tên miền sẽ được đọc từ trái qua phải, với tên miền nêu trên sẽ được cấu tạo từ các nhãn www, ntt, edu,vn. 25
  26. Mục đầu tiên của tên miền này là www thông thường là tên máy tính.tiếp theo là các tên miền cấp 3 (ntt), tên miền cấp hai (edu) và tên miền ở mức top-level-domain .vn. Theo cấu trúc và cách phân chia trong không gian tên miền đã trình bày ở trên, người dùng khi gặp một tên miền hoàn toàn có thể biết tổ chức quản lý tên miền này thuộc lĩnh vực gì, hay tên miền này do quốc gia nào quản lý Tên miền tận cùng bằng .vn do đó tên miền này thuộc domain .vn, điều này có nghĩa nó do tổ chức quản lý tên miền của nước Việt Nam – Trung tâm Internet Việt Nam (VNNIC) quản lý, tiếp sau là tên miền cấp 2 edu, do đó tên miền này được phân cho tổ chức hoạt động trong lĩnh vực giáo dục. 3.3.2- Qui tắc đặt tên miền Tên miền nên được đặt đơn giản và có tính chất gợi nhớ với mục đích và phạm vi hoạt động của tổ chức sỡ hữu t ên miền. Mỗi tên miền được có tối đa 63 ký tự bao gồm cả dấu “.”. T ên miền được đặt bằng các ký tự (a-z A-Z 0-9) và ký tự “-“. Một tên miền đầy đủ có chiều dài không vượt quá 255 ký tự. 3.4 - Cơ sở dữ liệu DNS Zone: là hệ thống tên miền(DNS) cho phép phân chia t ên miền để quản lý và nó chia hệ thống tên miền thành zone và trong zone quản lý tên miền được phân chia đó .Các Zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các zone cấp thấp hơn và phân quyền cho các DNS server khác quản lý. Ví dụ : Zone “.com”sẽ do DNS server quản lý zone “.com” chứa thông tin về các bản ghi có đuôi là “.com” và có khả năng chuyển quyền quản lý các 26
  27. zone cấp thấp hơn cho các DNS khác quản lý như “.yahoo.com” là vùng do yahoo quản lý. DNS Zone ltập hợp các ánh xạ từ host đến địa chỉ IP v à từ IP đến host của một phần liên tục trong một nhánh của domain Thông tin của DNS Zones là những record gồm tên Host và địa chỉ IP được lưu trong DNS Server, DNS Server qu ản lý và trả lời những yêu cầu từ Client liên quan đến DNS Zones này. Hệ thống tên miền (DNS) cho phép phân chia tên miền để quản lý và nó chia hệ thống tên miền thành Zone và trong Zone quản lý tên miền được phân chia đó.Các Zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các Zone cấp thấp hơn và phân quyền cho các DNS Server khác quản lý. Zone file : Lưu thông tin của Zone, có thể ở dạng text hoặc trong Active Dicrectory. Có 2 loại DNS Zone : Standard Primary Zone và Active Directory Integrated Zones. Standard Primary Zone : Được sử dụng trong các single domain, không có Active Dicrectory . - Tất cả những thay đổi trong Zone sẽ không ảnh h ưởng đến các Zone khác.Tuy nhiên nếu ta tạo thêm một Zone (Secondary Zone), thì Zone này sẽ bị ảnh hưởng từ Primary Zone. Secondary Zone sẽ lấy thông tin từ Primary Zone. - Quá trình chuyển thông Primary Zone đến Secondary Zone được gọi là Zone Transfer. Sau một khoảng thời gian nhất định, Secondary Zone sẽ cập nhật các records từ Primary Zone, quá trình này được gọi là synchronized ( đồng bộ hóa). Active Directory Integrated Zones : 27
  28. - Mặc định sẽ được tạo khi máy tính chạy DNS Server được nâng cấp thành Domain Contronller. Active Directory Integrated Zones thực chất là Zone được nâng cấp lên từ Standard Primary Zone khi lên Domain Controller - DNS Zones được lưu như một đối tượng trong cơ sở dữ liệu của Active Directory. - Thông tin về DNS Zones đều chứa trên tất cả Domain Contronller. Cho phép việc cập nhật tự động cơ sở dữ liệu DNS Zones bảo mật (secure updates ). 3.5 - Cấu trúc gói tin DNS: Hình 11 : Cấu trúc gói tin DNS Gồm : ID QR Opcode AA TC RD RA Z Rcode QDcount ANcount NScount ARcount ID: Là một trường 16 bits, chứa mã nhận dạng, nó được tạo ra bởi một chương trình để thay cho truy vấn. Gói tin hồi đáp sẽ dựa v ào mã nhận dạng này để hồi đáp lại. Chính vì vậy mà truy vấn và hồi đáp có thể phù hợp với nhau. QR: Là một trường 1 bit. Bít này sẽ được thiết lập là 0 nếu là gói tin truy vấn, được thiết lập là một nếu là gói tin hồi đáp. Opcode: Là một trường 4 bits, được thiết lập là 0 cho cờ hiệu truy vấn, được thiết lập là 1 cho truy vấn ngược, và được thiết lập là 2 cho tình trạng truy vấn. AA: Là trường 1 bit, nếu gói tin hồi đáp được thiết lập là 1, sau đó nó sẽ đi đến một server có thẫm quyền giải quyết truy vấn. 28
  29. TC: Là trường 1 bit, trường này sẽ cho biết là gói tin có bị cắt khúc ra do kích thước gói tin vượt quá băng thông cho phép hay không. RD: Là trường 1 bit, trường này sẽ cho biết là truy vấn muốn server tiếp ục truy vấn một cách đệ qui. RA: Trường 1 bit này sẽ cho biết truy vấn đệ qui có được thực thi trên server không . Z: Là trường 1 bit. Đây là một trường dự trữ, và được thiết lập là 0. Rcode: Là trường 4 bits, gói tin hồi đáp sẽ có thể nhận các g iá trị sau : 0: Cho biết là không có lỗi trong quá trình truy vấn. 1: Cho biết định dạng gói tin bị lỗi, server không hiểu đ ược truy vấn. 2: Server bị trục trặc, không thực hiện hồi đáp đ ược. 3: Tên bị lỗi. Chỉ có server có đủ thẩm quyề n mới có thể thiết lập giá này. 4: Không thi hành. Server không thể thực hiện chức năng này . 5: Server từ chồi thực thi truy vấn. QDcount: Số lần truy vấn của gói tin trong một vấn đề. ANcount: Số lượng tài nguyên tham gia trong phần trả lời. NScount: Chỉ ra số lượng tài nguyên được ghi lại trong các phẩn có thẩm quyền của gói tin. ARcount: Chỉ ra số lượng tài nguyên ghi lại trong phần thêm vào của gói tin. Chương 4: Phân loại hệ thống máy chủ tên miền ( DNS server). 4.1 Máy chủ tên miền ( name server) Máy chủ tên miền (name server) là máy chủ chứa cơ sở dữ liệu dùng cho việc chuyển đổi giữa tên miền và địa chỉ IP. Như cách phân cấp của hệ thống tên miền, tương ứng với mỗi cấp và mỗi loại tên miền có máy chủ tên miền phục vụ tên miền ở cấp đó và loại tên miền đó. Máy chủ tên miền ở mức ROOT sẽ chứa cơ sở dữ liệu quản lý tên miền ở mức top-level-domain. Ở mức quốc gia sẽ có máy chủ tên miền quản lý domain ở mức quốc gia. 29
  30. Hệ thống DNS định nghĩa hai kiểu máy chủ t ên miền là máy chủ tên miền chính (primary name server) v à máy chủ tên miền phụ (secondary name server). Primary name server là máy chủ tên miền lấy dữ liệu cho các vùng (zone) của nó từ các file có sẵn trên máy. Secondary name server là máy chủ tên miền lấy dữ liệu cho các zone của nó từ một máy chủ tên miền primary khác. Khi máy chủ secondary khởi động nó sẽ kết nối đến máy chủ primary để lấy dữ liệu từ máy n ày về cho các zone mà nó quản lý. Quá trình lấy dữ liệu từ máy primary về máy secondary đ ược gọi là chuyển vùng (zone transfer) 4.2 Máy chủ tên miền mức cao nhất ( DNS ROOT server) Máy chủ tên miền ở mức cao nhất (ROOT name server) l à máy chủ tên miền chứa các thông tin để tìm kiếm các máy chủ tên miền lưu trữ (authority) cho các tên miền thuộc mức cao nhất (top-level-domain). Máy chủ ROOT có thể đưa ra các truy vấn (query) để tìm kiếm tối thiểu là các thông tin về địa chỉ của các máy chủ tên miền authority thuộc lớp top-level- domain chứa tên miền muốn tìm. Sau đó, các máy chủ tên miền ở mức top- level-domain có thể cung cấp các thông tin về địa chỉ của máy chủ authority cho tên miền ở mức second-level-domain chứa tên miền muốn tìm. Quá trình tìm kiếm tiếp tục cho đến khi chỉ ra đ ược máy chủ tên miền authority cho tên miền muốn tìm. Theo cơ chế hoạt động trên máy chủ tên miền đóng vai trò quan trọng trong việc tìm kiếm một tên miền bất kỳ trên không gian tên miền. Quá trình tìm kiếm tên miền luôn được bắt đầu bằng các truy vấn gửi cho máy chủ ROOT, nếu như các máy chủ tên miền ở mức ROOT không hoạt động, quá trình tìm kiếm tên miền sẽ không được thực hiện. Để tránh điều này không xảy ra, trên mạng Internet hiện tại có 13 hệ thống máy chủ tên miền ở mức ROOT , các máy chủ tên miền này nói chung và ngay trong cùng một hệ thống cũng được đặt tại nhiều vị trí khác nhau tr ên mạng Internet. 30
  31. Hình 12 : Vị trí 13 DNS ROOT Server Hình 13 :Địa chỉ 13 DNS ROOT server 4.3 - Primary server (Master) Là DNS server chính, trên đó cho phép thêm, xóa sửa các zone của DNS Thông tin về tên miền do nó quản lý được lưu trữ tại đây và sau đó có thể được chuyển sang cho các Secondary Server. Các tên miền do Primary Server quản lý th ì được tạo và sửa đổi tai Primary Server và được cập nhật đến các Secondary Server. 4.4- Secondary server(Slave) 31
  32. DNS được khuyến nghị nên sử dụng ít nhất là hai DNS Server để lưu cho mỗi một Zone. Primary DNS Server quản lý các Zone v à Secondary Server sử dụng để lưu trữ dự phòng cho Primary Server. Secondary DNS Server đư ợc khuyến nghị dùng nhưng không nhất thiết phải có. Secondary Server được phép quản lý domain nhưng dữ liệu về tên miền (domain), nhưng Secondary Server không t ạo ra các bản ghi về tên miền (domain) mà nó lấy về từ Primary Server. Khi lượng truy vấn Zone tăng cao tại Primary Server th ì nó sẽ chuyển bớt tải sang cho Secondary Server .Hoặc khi Primary Server gặp sự cố không hoạt động được thì Secondary Server sẽ hoạt động thay thế cho đến khi Primary Server hoạt động trở lại. Primary Server thường xuyên thay đổi hoặc thêm vào các Zone mới. Nên DNS Server sử dụng cơ chế cho phép Secondary lấy thông tin từ Primary Server và lưu trữ nó. Có hai giải pháp lấy thông tin về các Zone mới là lấy toàn bộ (full) hoặc chỉ lấy phần thay đổi (incremental) 4.4 - Caching-only server(Cache server) Tất cả các DNS Server đều có khả năng l ưu trữ dữ liệu trên bộ nhớ cache của máy để trả lời truy vấn một cách nhanh chóng. Nhưng hê thống DNS còn có một loại Caching-only Server. Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả lời dựa trên thông tin có trên cache của máy và cho kết quả truy vấn. Chúng không hề quản lý một domain nào và thông tin mà nó chỉ giới hạn những gì được lưu trên cache của Server. Lúc ban đầu khi Server bắt đầu chạy thì nó không lưu thông tin nào trong cache. Thông tin sẽ được cập nhật theo thời gian khi các 32
  33. Client Server truy vấn dịch vụ DNS. Nếu sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng caching-only DNS Server là giải pháp hữu hiệu cho phép giảm l ưu lượng thông tin truy vấn trên đường truyền. Caching-only có khả năng trả lời các câu truy vấn đến Client. Nhưng không chứa Zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng bộ cache của mình để lưu các truy vấn của DNS của Client. Thông tin sẽ đ ược lưu trong cache để trả lời các truy vấn đến Client 4.5 Stub Server : Là DNS Server chỉ chứa danh sách các DNS Server đ ã được authoritative từ PrimarDNS Sử dụng stub có thể tăng tốc độ phân giải t ên và dễ 4.6 - Các bản ghi dữ liệu tên miền (Resource Record) 4.6.1 Bản ghi SOA (Start of Authority ) Bản ghi này xác định máy chủ DNS có thẩm quyền cung cấp thông tin về tên miền xác định trên DNS. 4.6.2 Bản ghi kiểu A Bản ghi kiểu A được dùng để khai báo ánh xạ giữa tên của một máy tính trên mạng và địa chỉ IP của một máy tính trên mạng Domain IN A Ví dụ : nttc.edu.vn IN A 210.245.121.98 Ở đây thì tên miền nttc.edu.vn được khai với bản ghi kiểu A trỏ đến địa chỉ 210.245.121.98 sẽ l à tên của máy tính này. Một tên miền có thể được khai nhiều bản ghi kiểu A khác 33
  34. nhau để trỏ đến các địa chỉ IP khác nhau. Nh ư vậy có thể có nhiều máy tính có cùng tên trên mạng. Ngược lại một máy tính có một địa chỉ IP có thể có nhiều tên miền trỏ đến, tuy nhiên chỉ có duy nhất một tên miền được xác định là tên của máy, đó chính là tên miền được khai với bản ghi kiểu A trỏ đến địa chỉ của máy. 4.6.3.Bản ghi AAAA Bản ghi kiểu AAAA được dùng để chuyển đổi từ tên miền sang địa chỉ IPv6. Giống như bản ghi kiểu A trong địa chỉ IPv4, một tên miền có thể được khai nhiều bản ghi kiểu AAAA khác nhau để trỏ đến các địa chỉ IPv6 khác nhau. Bản ghi kiểu AAAA có cú pháp nh ư sau: domain IN AAAA 4.6.4 - Bản ghi CNAME Bản ghi CNAME cho phép một máy tính có thể có nhiều t ên. Nóicách khác bản ghi CNAME cho phép nhiều t ên miền cùng trỏ đến một địa chỉ IP cho trước. Để có thể khai báo bản ghi CNAME , bắt buộc phải có bản ghi kiểu A để k hai báo tên của máy. Tên miền được khai báo trong bản ghi kiểu A trỏ đến địa chỉ IP của máy được gọi là tên miền chính (canonical domain ).Các tên miền khác muốn trỏ đến máy tính n ày phải được khai báo là bí danh của tên máy (alias domain). Bản ghi CNAME có cú pháp như sau : alias-domain IN CNAME canonical domain Ví dụ : www.ntt.edu.vn IN CNAME nttc.edu.vn Tên miền www.ntt.edu.vn sẽ là tên bí danh của tên 34
  35. miền nttc.edu.vn, hai tên miền www.ntt.edu.vn sẽ cùng trỏ đến địa chỉ IP 210.245.121.98 4.6.5 Bản ghi MX dùng để khai báo trạm chuyển tiếp th ư điện tử của một tên miền. Ví dụ : Để các thư điện tử có cấu trúc nhomkhoaluan@ntt.edu.vn được gửi đến trạm chuyển tiếp th ư điện tử có tên mail.nttc.edu.vn, trên cơ sở dữ liệu cần khai báo bản ghi MX như sau: ntt.edu.vn IN MX 10 mail.ntt.edu.vn Các thông số được khai báo trong bản ghi MX nêu trên gồm có ntt.edu.vn: là tên miền được khai báo để sử dụng như địa chỉ thư điện tử. •mail.ntt.edu.vn: là tên của trạm chuyển tiếp thư điện tử, nó thực tế là tên của máy tính dùng làm máy trạm chuyển tiếp thư điện tử. Tham số 10: Là giá tri ưu tiên, giá trị ưu tiên có thể là một số nguyên bất kì từ 1 đến 225, nếu giá trị ưu tiên này càng nhỏ thì trạm chuyển tiếp thư điện tử được khai báo sau đó sẽ là trạm chuyển tiếp thư điện tử được chuyển đến đầu tiên. Thì tất cả các thư điện tử có cấu trúc địa chỉ nhomkhoaluan@ntt.edu.vn trước hết sẽ được gửi đến trạm chuyển tiếp thư điện tử mail.ntt.edu.vn 4.6.6 - Bản ghi NS Bản ghi NS dùng để khai báo máy chủ tên miền cho một tên miền. Nó biết các thông tin về t ên miền quản lý, do đó yêu cầu có tối thiểu hai bản ghi NS cho mỗi t ên miền. Cú pháp : IN NS <tên của máy chủ tên miền 35
  36. Ví dụ: ntt.edu.vn IN NS dns1.ntt.edu.vn ntt.edu.vn IN NS dns2.ntt.edu.vn Với khai báo trên, tên miền ntt.edu.vn sẽ do máy chủ tên miền có tên dns.ntt.edu.vn quản lý. Điều này có nghĩa, các bản ghi như A, CNAME, MX của tên miền cấp dưới của nó sẽ được khai báo trên máy chủ dns1.ntt.edu.vn. và dns2.ntt.edu.vn 4.6.7- Bản ghi PTR Hệ thống DNS không những thực hiện việc chuyển đổi từ t ên miền sang địa chỉ IP mà còn thực hiện chuyển đổi địa chỉ IP sang tên miền. Bản ghi PTR cho phép thực hiện chuyển đổi Ví dụ : 210.245.121.98 địa chỉ IP sang t ên miền là 98.121.245.210.in-addr.arpa IN PTR www.ntt.edu.vn Bản ghi PTR trên cho phép tìm tên mi ền www.ntt.edu.vn khi biết địa chỉ IP (210.245.121.98) mà tên miền trỏ tới Chương 5 : Cấu trúc thư mục và các lệnh cơ bản trong linux 5.1 cấu trúc thư mục Các hãng phân phối Linux hầu như thống nhất với nhau về tên các thư mục chuẩn trên Linux. Trong đó thư mục gốc bao giờ cũng là “/“. Bạn chú ý vì dấu “/” vừa là dấu biểu thị thư mục gốc vừa là dấu phân cách tên các thư mục với nhau trong đường dẫn tập tin (Linux không dùng dấu “\” như trong Windows để phân cách tên thư mục). Nếu đường dẫn không có dấu “/” thì chương trình sẽ tìm ở các thư mục mặc định và thư mục hiện tại. 36
  37. Hình 14: Cấu trúc thư mục một hệ điều hành linux Ví dụ: Đường dẫn /usr/shared/fonts là chỉ tới thư mục fonts, nằm bên trong thư mục shared và thư mục này nằm trong thư mục usr, thư mục usr nằm trong thư mục gốc. Dưới thư mục gốc thường có một số thư mục quan trọng sau: /bin: Lưu trữ tập những lệnh thường sử dụng nhất (như sao chép tập tin, tạo thư mục, ) /boot: Chứa phần nhân khởi động Linux v à file cấu hình khởi động (grub cũng trong thư mục này) /dev: Chứa các tập tin đặc biệt tương ứng với các thiết bị có trong hệ thống /etc: Chứa các thiết lập của hệ thống /home: Chứa các thư mục con có tên ứng với User name của người dùng, mỗi thư mục đó chính là nơi lưu trữ toàn bộ dữ liệu của người dùng. Người dùng bình thường cũng chỉ được lưu trữ vào thư mục “nhà” của mình mà thôi. /lib: Chứa các thư viện dùng chung của các chương trình (giống file .dll trong Windows) 37
  38. /root: Thư mục nhà của người dùng có quyền cao nhất (root), người ngoài thường bị cấm truy cập. /tmp: Chứa các file tạm dùng trong quá trình linux hoạt động /usr: Chứa những thứ quan trọng như phần mềm, thư viện hàm, các dữ liệu dùng chung /var: Thư mục này chứa các file biến thiên bất thường như các file dữ liệu đột nhiên tăng kích thước trong một thời gian ngắn sau đó lại giảm kích thước xuống còn rất nhỏ. Điển hình là các file dùng làm hàng đợi chứa dữ liệu cần đưa ra máy in hoặc các hàng đợi chứa mail. Ngoài ra nếu quan tâm đến lập trình thì ta có thtìm hiểu thêm một số thư mục khác như: /usr/include, /usr/local/inlcude: Chứa các file header cần dùng khi biên dịch các chương trình nguồn viết bằng C/C++. /usr/src: Thư mục chứa mã nguồn kể cả mã nguồn của Linux. 5.2. Các lênh cơ bản command trên dòng linux Khi mở một shell, cần đến tài khoản kích hoạt vào thư mục chủ (thông thường nằm trong /home/tên_người_dùng). Chú ý rằng mỗi lệnh đều có nhiều tùy chọn riêng của mình. Để xem các tùy chọn cho một lệnh cụ thể, đơn giản chỉ cần gõ "man " (trong đó: man là từ khóa; command là tên lệnh). Một điểm quan trọng cần chú ý l à trong các hệ điều hành Linux, câu lệnh có phân biệt chữ hoa, chữ th ường. “A” sẽ được hệ điều hành hiểu là khác so với “a”. Để vào hệ thống file, dùng: pwd: đưa ra ngoài màn hình thư mục đang hoạt động (ví dụ: /etc/ssh). cd: thay đổi thư ls: đưa ra danh sách nội dung thư mục. mkdir: tạo thư mục mới (mkdir tên_thumuc). touch: tạo file mới (touch ten_file). 38
  39. rmdir: bỏ một thư mục (rmdir ten_thumuc). cp: copy file hoặc thư mục (cp file_nguồn file_đích). mv: di chuyển file hoặc thư mục; cũng được dùng để đặt lại tên file hoặc thư mục (mv vị_trí_cũ vị_trí_mới hoặc mv tên_cũ tên_mới). rm: loại bỏ file (rm tên_file). Để tìm kiếm file, có thể dùng: find : dùng cho các tên file. grep : để tìm nội dung trong file. Để xem một file, có thể dùng: more : hiển thị file theo từng trang. cat : hiển thị tất cả file. head : hiển thị các dòng đầu tiên. tail : hiển thị các dòng cuối cùng , Vi và được dùng với cú pháp: vi . Quản lý hệ thống: -ps: hiển thị các chương trình hiện thời đang chạy (rất hữu ích: ps là cái nhìn toàn bộ về tất cả các chương trình). Trong danh sách đưa ra khi thực hiện lệnh ps, sẽ thấy có số PID (Process identification - nhân dạng tiến trình). Con số này sẽ được hỏi đến khi muốn ngừng một dịch vụ hay ứng dụng, dùng lệnh kill . -top: hoạt động khá giống như Task Manager trong Windows. Nó đưa ra thông tin về tất cả tài nguyên hệ thống, các tiến trình đang chạy, tốc độ load trung bình Lệnh top -d thiết lập khoảng thời gian làm tươi lại hệ thống. Bạn có thể đặt bất kỳ giá trị n ào, từ .1 (tức 39
  40. 10 mili giây) tới 100 (tức 100 giây) hoặc thậm chí lớn hơn. uptime: thể hiện thời gian của hệ thống và tốc độ load trung bình trong khoảng thời gian đó, trước đây là 5 phút và 15 phút. free: hiển thị thông tin trên bộ nhớ hệ thống. ifconfig : để xem thông tin chi tiết về các giao diện mạng; thông thường giao diện mạng ethernet có tên là eth(). có thể cài đặt các thiết lập mạng như địa chỉ IP hoặc bằng cách dùng lệnh này (xem man ifconfig). Nếu có điều gì đó chưa chính xác, có thể stop hoặc start (tức ngừng hoặc khởi_động) giao diện bằng cách dùng lệnh ifconfig up/down. passwd: cho phép thay đổi mật khẩu (passwd người_dùng_sở_hữu_mật_khẩu hoặc tên người dùng khác nếu bạn đăng nhập hệ thống với vai tr ò root). -useradd: cho phép thêm người dùng mới (xem man useradd). Dù ở phân phối nào, bạn cũng có thể dùng phím TAB để tự động hoàn chỉnh một lệnh hoặc tên file. Điều này rất hữu ích khi bạn quen với các lệnh. Bạn cũng có thể sử dụng các phím lên, xuống để cuộn xem các lệnh đã nhập. Bạn có thể dùng lệnh đa dòng trên một dòng. Ví dụ như, nếu muốn tạo ba thư mục chỉ trên một dòng, cú pháp có thể là: mkdir thư_mục_1 ; mkdir thư_mục_2 ; mkdir thư_mục_3. Để thoát hay đóng shell, gõ exit hoặc logout 40
  41. Chương 6: Giới thiệu về Ubuntu hệ điều hành mã nguồn mở 6.1 Ubuntu là gì : Ubuntu là một hệ điều hành mã nguồn mở xây dựng xung quanh nhân Linux, được cộng đồng cùng phát triển. Hệ điều hành Ubuntu có đầy đủ chức năng của một hệ điều hành hiện đại, hoạt động tốt trên máy tính để bàn, máy tính xách tay và hệ thống máy chủ. Tuy ra đời chưa lâu, nhưng hệ điều hành này đang có những bước tiến nhảy vọt, sức lan toả rất lớn, hiện đang đ ược sử dụng rất rộng rãi trên thế giới và đang dần dần phổ biến ở Việt Nam. Lịch sử của Ubuntu bắt đầu từ tháng Tư năm 2004, khi Mark Shuttleworth tập hợp một nhóm các nhà phát triển phần mềm mã nguồn mở để tạo ra một hệ điều hành mới. Với quyết tâm hiện thực hoá những ý t ưởng, các lập trình viên này đặt tên nhóm là Warthogs và cùng nhau làm vi ệc trong sáu tháng để cho ra đời phiên bản thể hiện khái niệm của hệ điều h ành mới. Họ lấy tên nhóm đặt cho phiên bản Ubuntu đầu tiên này, Warty Warthog. Dựa trên nền tảng chắc chắn của bản phân phối Debian, c ùng với những nguyên tắc về thời gian phát hành, chương trình GNOME để quản lý giao diện Desktop, và một cam kết mạnh mẽ về sự tự do, chỉ trong v òng ba năm, Ubuntu đã phát triển một cộng đồng lên đến mười hai ngìn thành viên và số lượng người dùng ước tính đến hơn tám triệu (tháng Bảy năm 2007). 6.2 Tên gọi và phiên bản Ubuntu thể hiện triết lý của mình qua biểu tượng ba người nắm tay thành vòng tròn và cái tên “Ubuntu”, m ột từ trong ngôn ngữ Bantu của châu Phi, dịch sang tiếng Anh là “Humanity to others” hay “I am what I am because of who we all are” (tạm dịch là “Nhân đạo với người khác” hay “Tôi khẳng định được mình vì tất cả chúng ta khẳng định được mình”). Với Ubuntu, giúp đỡ cộng đồng thành công sẽ mang lại thành công cho bạn. Nguyên tổng thống Nam Phi Nelson Mandela giải thích th êm về Ubuntu: “Ubuntu không có nghĩa là người ta không nên làm giàu cho bản thân. Mà 41
  42. câu hỏi đặt ra là bạn sẽ làm giàu để làm cho cộng đồng xung quanh bạn phát triển chứ?” Ubuntu có nhiều phiên bản để nhắm vào những người sử dụng mục tiêu khác nhau. Kubuntu là một dẫn xuất chính thức của Ubuntu, nhưng sử dụng môi trường Desktop KDE thay vì GNOME. Phiên b ản này là một phần của dự án Ubuntu và có cùng nền tảng bên dưới với Ubuntu. Edubuntu là một dẫn xuất chính thức của Ubuntu, đ ược thiết kế dành cho việc sử dụng trong trường học. Edubuntu bao gồm nhiều ứng dụng giáo dục như GCompris, KDE Edutainment Suite, và Schooltool Calendar. Xubuntu là một dẫn xuất chính thức của Ubuntu, nh ưng sử dụng môi trường Desktop Xfce thay vì GNOME. Phiên b ản này nhắm đến các máy tính cấu hình không cao, hoặc những hệ thống đặc biệt yêu cầu một môi trường Desktop hiệu suất cao, tốc độ nhanh. Gobuntu là một dẫn xuất của Ubuntu cho những ai mong muốn một hệ điều hành Desktop thuần phần mềm tự do. Phiên bản này loại bỏ những driver chỉ có gói binary, và bảo đảm là không sử dụng phần mềm nào giới hạn việc hiệu chỉnh hay phân phối lại. Vào tháng 4 và tháng 10 mỗi năm, bắt đầu từ tháng 10 năm 2004. Đây là những phiên bản thông thường, được hỗ trợ cập nhật trong 18 tháng cho cả server và deskop. Ngoài ra, sau hai năm sẽ có một phiên bản mã hiệu LTS (Long-Term Support) dành cho doanh nghi ệp lớn với thời gian hỗ trợ kỹ thuật dài hơn phiên bản thông thường (hỗ trợ 5 năm cho bản server v à 3 năm cho bản desktop). Cho đến hiện tại, mới chỉ có một phi ên bản dạng này là 6.06 LTS, dự báo theo đúng chu kỳ thì bản LTS tiếp theo sẽ phát hành vào năm 2008. Mỗi phiên bản Ubuntu được đánh số theo năm, tháng phát h ành. Chẳng hạn phiên bản đầu tiên ra đời vào tháng 10 năm 2004 có tên chính th ức là 4.10. Bên cạnh đó mỗi phiên bản còn có một tên vui được đặt theo tên những loài 42
  43. thú khác thường, ví dụ phiên bản 4.10 còn có tên Warty Warthog, theo tên một loài heo có sừng ở châu Phi. Sau đây là các phiên bản đã phát hành cho đến hiện tại Phiên bản 4.10 có tên Warty Warthog, phát hành vào th áng 10 năm 2004 Phiên bản 5.04 có tên Hoary Hedgehog, phát hành vào tháng 4 năm 2005 Phiên bản 5.10 có tên Breezy Badger, phát hành vào tháng 10 năm 2005 Phiên bản 6.06 có tên Dapper Drake, phát hành vào tháng 6 năm 2006 Phiên bản 6.10 có tên Edgy Eft, phát hành vào tháng 10 năm 2006 Phiên bản 7.04 có tên Feisty Fawn, phát hành vào tháng 4 năm 2007 Phiên bản 7.10 có tên Gutsy Gibbon, phát hành vào tháng 10 năm 2007 Phiên bản 8.04 LTS tên gọi Hardy Heron phát hành vào tháng 4 năm 2008. 6.3 Điểm khác biệt Ubuntu với Windows Những yếu tố được cân nhắc khi phân biệt giữa Ubuntu v à Microsoft Windows gồm có: chi phí, chu kỳ phát hành, độ an toàn, khả năng tùy chỉnh và khả năng di động. Các chi phí liên quan: Hệ điều hành Windows của Microsoft là một sản phẩm thương mại và chi phí tổng thể sẽ tăng tỷ lệ thuận với các chức năng và trình ứng dụng thêm vào. Vấn đề về chi phí đôi khi trở thành một yếu tố cân nhắc sử dụng các ứng dụng của h ãng thứ ba ngoài Microsoft. Với Ubuntu, các phiên bản phát hành mới và các ứng dụng đều là miễn phí. Phát hành phiên bản mới: Ubuntu không phân chia phi ên bản cho người sử dụng gia đình hay chuyên nghiệp, các tính năng dành cho cả hai đều giống nhau. Với Microsoft Windows th ì phiên bản Home và Professional là hai phiên bản khác nhau. Chẳng hạn, bản Microsoft Windows Professional có những đặc tính an toàn nổi trội hơn so với bản Home. Ngoài ra, chu kỳ phát hành 6 tháng của Ubuntu cũng tạo điều kiện cho người sử dụng dễ dàng tiếp cận được tất cả những ứng dụng mới nhất. 43
  44. Việc nâng cấp từ một phiên bản lên phiên bản kế tiếp là miễn phí và được hỗ trợ hoàn toàn. Trong khi đó các kế hoạch xung quanh việc phát hành của Microsoft thì lâu hơn và ít tiết lộ ra cho cộng đồng hơn. Khía cạnh an toàn: Cho đến bây giờ, Ubuntu hiếm khi là mục tiêu của malware và virus. Theo mặc định thì người dùng quản trị “root” trong Ubuntu sẽ bị khoá và chỉ có những tác vụ nhất định được chạy với quyền quản trị. Trong môi trường Microsoft Windows thì người dùng bình thường lại có thể truy xuất trực tiếp v ào người dùng quản trị. Khả năng tùy chỉnh: Hệ điều hành Ubuntu có thể được thiết kế và tùy chỉnh theo ý thích của bạn. Ngoài ra, bạn có thể có nhiều biến thể của Ubuntu chạy song song với nhau; chẳng hạn, bạn có thể c ài đặt Kubuntu cùng với Ubuntu và sau đó chọn môi trường desktop bạn muốn dùng. Trên Internet có hơn 17000 gói ph ần mềm và có thể được truy xuất dễ dàng. Dựa vào đặc điểm này, bạn không bị bó buộc vào sử dụng một phiên bản chỉ vì đó là phiên bản đầu tiên bạn cài đặt vào hệ thống. Microsoft Windows là một hệ điều hành tiêu chuẩn với một số ít tuỳ chọn cho phép hiệu chỉnh. B ên cạnh đó, có rất nhiều phần mềm thương mại có sẵn trên thị trường, nhưng hầu hết trong số đó đều có chi phí bản quyền cho việc t ùy chỉnh. Lưu trữ dữ liệu: Dữ liệu của người sử dụng được đặt rải rác ở nhiều nơi trong Windows, điều này có thể làm cho việc di chuyển dữ liệu từ máy này sang máy khác trở nên khó khăn. Ubuntu lưu trữ thông tin người dùng của bạn chỉ trong một chỗ – thư mục home. Điều này làm cho việc di chuyển dữ liệu sang máy khác dễ dàng hơn, đồng thời tách biệt dữ liệu lưu trữ của từng người dung Chương trình ứng dụng Ubuntu và Windows đều được đóng gói sẵn kèm theo một số ứng dụng mặc định nhằm đáp ứng những nhu cầu sử dụng tối thiểu cho một hệ điều h ành hiện đại. Có một số ứng dụng mặc định trên Ubuntu nhưng để có chức năng tương đương trên 44
  45. Windows thì phải trả thêm tiền để mua phần mềm, như bộ soạn thảo văn bản hay trình xử lý hình ảnh. Sau đây là bảng đối chiếu tương ứng giữa phần mềm mặc định trên Ubuntu và trên Windows. Hình 15: Các trình ứng dụng ubuntu và miscrosoft windows 6.4 Cài đặt Ubuntu server 8.10 Khởi động từ đĩa CD Ubuntu-8.10 server. Làm trên máy ảo sử dụng file Iso . Sau một vài phút, màn hình lựa chọn ngôn ngữ sẽ hiện ra, bạn bấm nút ESC. ( Hình 16 ) Hình 16 : Cấu hình cài đặt ubuntu server 8.10 45
  46. Trong danh sách các tùy chọn, bạn chọn Install Ubuntu Server để bắt đầu tiến trình cài đặt. ( Hình 17) Hình 17:Cấu hình cài đặt ubuntu server 8.10 Trong màn hình Choose language, chúng ta chọn một ngôn ngữ để sử trong tiến trình cài đặt Ubuntu server. Đây cũng chính là ngôn ngữ mặc định của hệ thống sau khi tiến trình cài đặt hoàn thành. ( Hình 18) Sau khi chọn xong, bạn bấm phím Enter. Hình 18 :Cấu hình cài đặt ubuntu server 8.10 46
  47. Bên cạnh ngôn ngữ, chúng ta tiếp tục chọn lựa qu ốc gia của mình. ( Hinh 19) Hình 19 :Cấu hình cài đặt ubuntu chọn ngôn ngữ Nếu tên quốc gia của mình chưa được liệt kê trong danh sách, chúng ta chọn mục other, sau đó, chọn Viet Nam trong ở danh sách xuất hiện ngay sau đó. Sau khi hoàn thành, bấm phím Enter. .Trong màn hình tiếp theo, chung ta chọn Yes để dò tìm thiết bị bàn phím. ( Hình 20) Hình 20 :Cấu hình cài đặt ubuntu chọn kiểu bàn phím Trong màn hình Configure the netwok, chúng ta có thể cấu hình các thông số mạng bằng cách chọn một trong ba t ùy chọn trong mục Network configuration method . ( Hình 21) 47
  48. Hình 21 :Cấu hình cài đặt ubuntu chọn kết nối mạng Nếu muốn cấu hình các thông số mạng sau khi tiến trình cài đặt hoàn thành, chúng ta chọn Do not configure the network at this time và bấm phím Enter. Trong màn hình tiếp theo, chúng ta nhập tên máy tính của mình vào mục Hostname. ( Hình 22) Hình 22:Cấu hình cài đặt ubuntu khai báo host name Sau đó, bấm phím Enter hoặc chọn để tiếp tục. Trong màn hình Configure the clock, bạn lựa chọn một múi giờ (time zone) phù hợp với mình và bấm phím Enter. ( Hình 23) 48
  49. Hình 23: Cấu hình cài đặt chọn thời gian clock Trong màn hình Partition disks, ở mục Partitioning method, chúng ta nên chọn Guided - use entire disk để hệ thống tự động thực hiện cách phân vùng tốt nhất. ( Hình 24 ) Hình 24:Cấu hình cài đặt partition ubuntu server Sau khi chọn xong, bạn bấm phím Enter. Trong màn hình tiếp theo, hệ thống tự động chọn ổ đĩa để ti ến hành phân vùng. ( Hình 25) Sau khi đảm bảo ổ đĩa của mình đã được chọn lựa chính xác, bấm phím Enter.Trong hộp cảnh báo xuất hiện ngay sau đó, chúng ta xem lại một lần nữa những thay đổi vừa thực hiện. 49
  50. Sau khi chắc chắn, chúng ta chọn Yes để những thay đổi về partition ở trên có hiệu lực. ( Hình 25) Hình 25:Cấu hình cài đặt ubuntu server 8.10 Sau ngay đó, các phân vùng mới sẽ được tạo ra. Đồng thời, những gói dữ liệu nền tảng của Ubuntu server sẽ đ ược cài đặt vào hệ thống. . Trong màn hình Set up users and passwords, nhập tên đầy đủ của mình vào mục Full name for the new user. Tên này tương ứng với tài khoản thay thế cho tài khoản quản trị hệ thống “root”. (Hình 26) 50
  51. Hình 26:Cấu hình cài đặt ubuntu server 8.10 Sau khi hoàn thành, bạn chọn để tiếp tục. Trong màn hình tiếp theo, nhập username cho tài khoản mới của mình ở mục Username for your account. Username bắt đầu với một ký tự thường, theo sau là sự kết hợp của số và các kết tự thường khác. ( Hình 27) Hình 27 :Cấu hình cài đặt ubuntu server 8.10 Sau khi hoàn thành, chọn để tiếp tục. Trong hai màn hình tiếp theo, nhập password cho tài khoản mới của mình.(Hình 28 ) 51
  52. Hình 28 :Cấu hình cài đặt ubuntu server 8.10 Sau khi hoàn thành, bạn chọn để tiếp tục. Trong màn hình Software selection, chọn một hoặc nhiều dịch vụ máy chủ sẵn có trên Ubuntu server bằng cách bấm phím SpaceBar. Sau khi hoàn thành, bạn chọn để tiếp tục. Ngay sau đó, tiến trình cài đặt sẽ diễn ra. ( Hình 29 ) Hình 29 :Cấu hình cài đặt ubuntu server 8.10 . Khi màn hình Finish the installation xuất hiện, bạn đưa đĩa cài đặt là khỏi ổ đĩa CD-ROM và chọn để khởi động lại hệ thống và hoàn thành tiến trình cài đặt Ubuntu server. ( Hình 30) Hình 30 : Cấu hình cài đặt ubuntu server 8.10 Cài đặt xong reboot lại hệ thống, đăng nhập vào hệ 52
  53. Hình 31 :Cấu hình cài đặt ubuntu server 8.10 Hiện tại đang đứng trên user ukhoaluan lấy quyền root ,sudo lại pass của root ( Hình 32 )Lệnh: #Sudo passwd root Đặt pass lại và logout để ta đăng nhập quyền root Hình 32 Cấu hình cài đặt ubuntu server 8.10 Chương 7: Các file cấu hình DNS(BIND) cơ bản 7.1 BIND: (Berkeley Internet Name Distributed) là m ột chương trình phục vụ DNS (Domain Name System) trên n ền các hệ thống AIX/BSD/HP- 53
  54. UX/Unix/Linux/VMS Được phát triển vào đầu những năm 1980, BIND là một phần mềm máy chủ DNS phổ biến nhất hiện nay tr ên Internet o Là một chương trình phục vụ DNS. o Đóng vai trò là một trình chủ phục vụ cho việc phân giải tên và địa chỉ. o Được phát triển bởi nhóm CSRG (Computer Systems Research Group) của nhóm trường Đại Học Beckeley. o Phiên bản hiện nay là 9.0 với nhiều cải tiến đáng kể về sự ổn định v à tính bảo mật cao. 7.2 Cài đặt BIND9 trên ubuntu server 8.10 Cài đặt miễn phí từ internet: Lệnh: apt-get install bind9 Cài đặt từ gói .deb : dpkg -i xyz : XYZ là tên gói File: named.conf( file tham khảo) Please read /usr/share/doc/bind9/README.Debian.gz for informati on on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options";// c ấu hinh phần options // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for 54
  55. // broadcast zones as per RFC 1912 zone "asus.local" { //change asus.local to whatever you named your domain such as mydomain.local type master; file "/etc/bind/zones/asus.local.db"; //this file or foler does not exist so we will need to make it }; zone "207.17.172.in-addr.arpa" { type master; file "/etc/bind/zones/rev.207.17.172.in-addr.arpa";//this file does not exist so we will also need to make it }; zone "localhost" { type master; file "/etc/bind/db.local"; }; zone "127.in-addr.arpa" { type master; file "/etc/bind/db.127"; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; include "/etc/bind/named.conf.local"; 55
  56. File : named.conf Phân Tích Named.conf được đặt tại thư mục: etc/bind/named.conf include "/etc/bind/named.conf.options include "/etc/bind/named.conf.local"; zone "." { type hint; file "/etc/bind/db.root"; }; include "/etc/bind/named.conf.options : kết nối vối file named.conf .option nhầm mục đích cấu hình chung cho toàn bộ file named.conf có thế khai báo cấu hình trên file named.conf include "/etc/bind/named.conf.local" Kết nối với file named.conf.option nhầm mục dích cấu hình ,khai báo zone có thế khai báo cấu hình trên file named.conf zone”.” Khai báo zone của root hint; Cấu trúc khai báo zone trên file named.conf Zone (domain-name) IN { Type master/slave/hint/stub; File path_name; }; Type: • Master: server có bản copy chính CSDL • Slave: server lưu một bản sao CSDL từ master. Nếu một tập tin được chỉ ra nó sẽ sao chép toàn bộ zone master về. 56
  57. • Stub: tương tự như slave nhưng chỉ sao chép record NS từ Master chứ hông phải toàn bộ dữ liệu. • Hint: zone chỉ ra những root name server. Masters: địa chỉ IP của master name server. File Path một zone: $TTL 3D @ IN SOA domain12.com. root.domain12.com. ( 2004011522 ; Serial no., based on date 21600 ; Refresh after 6 hours 3600 ; Retry after 1 hour 604800 ; Expire after 7 days 3600 ; Minimum TTL of 1 hour ) NS domain12.com. 1 PTR localhost. File file path db.local Phân tích file path : Được đặt tại thư mục/etc/bind/db.local Trong mỗi tập tin CSDL phải có một và chỉ một record SOA (Start of Authority). Record SOA chỉ ra rằng máy chủ name server là nơi cung cấp thông tin tin cậy từ dữ liệu có trong zone. Cú pháp: {domain} IN SOA {dns-server} {email-address} ( serial number; refresh number; retry number; expire number; 57
  58. time-to-live number ) {domain name} IN NS {DNS server} {host name} IN A {IP address} {domain name}IN MX {độ-ưu-tiên} {tên-mail-server} A (Address) và CNAME (Canonical Name) {IP-address} IN PTR {host-name}(*)// record nằm trên file path phân giải ngược ý nghĩa : domain: tên domain mà DNS quản lý (Vd:ntt.edu) dns-server: tên server quản lý miền email-address: địa chỉ email của admin serial number: áp dụng cho mọi dữ liệu trong zone và là một số nguyên. Khi máy chủ Secondary liên lạc với máy chủ Primary nó sẽ so sánh số này và số serial của nó, nếu số serial của máy secondary nhỏ hơn số của primary tức là dữ liệu zone trên Primary đã được thay đổi, như vậy máy secondary sẽ sao chép dữ liệu mới từ máy Primary thay cho dữ liệu đang có hiện hành. refresh: chỉ ra khoản thời gian máy chủ secondary kiểm tra dữ liệu zone trên máy primary để cập nhật nếu cần. Giá trị này thay đổi tùy theo tần suất thay đổi dữ liệu trong zone. retry: nếu máy chủ secondary không kết nối được với máy chủ Primary theo thời hạn mô tả trong refresh (do máy primary bị shutdown) vào lúc đó thì máy chủ secondary phải tìm cách kết nối lại với máy chủ primary theo một chu kỳ thời gian mô tả trong retry. Thông thường giá trị này nhỏ hơn refresh. expire: 58
  59. nếu sau khoản thời gian này mà máy chủ secondary không kết nối được với máy primary thì dữ liệu zone trên máy secondary sẽ bị quá hạn, lúc này máy secondary sẽ không trả lời mọi truy vấn về zone này nữa. Giá trị expire này phải lớn hơn giá trị refresh và retry. TTL: viết tắt của Time to Live. Giá trị này áp dụng cho mọi record trong zone và được đính kèm trong thông tin trả lời một truy vấn. Mục đích của nó là chỉ ra thời gian mà các máy chủ name server khác được cache lại thông tin trả lời. Việc cache thông tin trả lời giúp giảm lưu lượng truy vấn DNS trên mạng. NS (Name Server) Record tiếp theo cần có trong zone là NS (name server) record. Mỗi name server cho zone sẽ có một NS record. Record A (address) ánh xạ tên vào địa chỉ. Record CNAME (canonical name) tạo tên bí danh alias trỏ vào một tên canonical. Tên canonical là tên host trong record A hoặc trỏ vào 1 tên canonical khác. MX (Mail Exchange) DNS dùng record MX trong việc chuyển mail trên mạng Internet. Ban đầu chức năng chuyển mail dựa trên 2 record: record MD (mail destination) và record MF (mail forwarder) records. MD chỉ ra đích cuối cùng của một thông điệp mail có tên miền cụ thể. MF chỉ ra máy chủ trung gian sẽ chuyển tiếp mail đến được máy chủ đích cuối cùng. Tuy nhiên, việc tổ chức này hoạt động không tốt. Do đó, chúng được tích hợp lại thành một record MX. Khi nhận được mail, trình chuyển mail (mailer) dựa vào record MX để quyết định đường đi của mail. Record MX chỉ ra một mail exchange cho một miền – Mail Exchange là một máy chủ xử lý (chuyển mail đến mail box cục bộ hay là một mail gateway chuyền sang một giao thức chuyển mail khác như UUCP) hoặc chuyển tiếp mail đến một mail exchanger khác (trung gian) gần với mình nhất để đến máy chủ đích cuối cùng hơn dùng giao thức SMTP (Simple Mail Transfer Protocol). 59
  60. Để tránh việc gửi mail bị lặp lại, Record MX có th êm một giá trị bổ sung ngoài tên miền của mail exchanger là 1 số thứ tự tham chiếu. Đây là số nguyên không dấu 16 bit (0-65535) chỉ ra thứ tự ưu tiên của các mail exchanger. PTR (Pointer)(*) Record PTR dùng để ánh xạ địa chỉ IP thành tên máy Chương 8 :Giới thiệu cấu hình các DNS server (BIND) 8.1 Cấu hình một Master server: Hệ điều hành: ubuntu server 8.10 DNS(BIND) :BIND9 Tên máy : master IP : 10.0.0.100 Zone : ntt.edu, dynamic.ntt.edu( phân giải thuận),db.0.0.10( phân giải nghịch) , path zone : 3 Fife cấu hình named.conf // This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/READM E.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.opti ons"; // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; 60
  61. // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 //cuc bo cau hinh zone thuan key update { algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; controls { inet 127.0.0.1 port 953 allow { any; } keys { "rndc-key";}; }; // master zone "ntt.edu"{ type master ; file "/var/lib/bind/ntt.edu.db"; allow-update {any;}; check-names fail; //allow-query {10.0.0.100;127.0.0.1;}; allow-transfer { key update;}; notify yes; }; //zone nguoc zone "0.0.10.in-addr.arpa" { type master; notify no; file "/etc/bind/zones/db.0.0.10"; allow-transfer { 10.0.0.10; }; }; 61
  62. zone "dynamic.ntt.edu" { type master; file "/var/lib/bind/dynamic.ntt.edu"; allow-transfer {any;}; //{ 127.0.0.1;10.0.0.100;10.0.0.101; }; allow-update { any;}; //{ key update; }; //allow-query {127.0.0.1;10.0.0.100;10.0.0.101;}; notify yes; }; //note: on-line slide is different zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; include "/etc/bind/named.conf.local"; include "/etc/bind/rndc.key"; File : named.conf của master File path của zone: Zone thuận: ntt.edu("/var/lib/bind/ntt.edu.db";) $ORIGIN . $TTL 604800 ; 1 week ntt.edu IN SOA ntt.edu. root.ntt.edu. ( 9 ; serial 604800 ; refresh (1 week) 62
  63. 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS dns.ntt.edu. NS ntt.edu. A 10.0.0.100 MX 1 mail.ntt.edu. mail.ntt.edu. A 10.0.0.99 $ORIGIN ntt.edu. $TTL 86400 ; 1 day au A 10.0.0.103 $TTL 604800 ; 1 week dns A 10.0.0.100 ftp A 10.0.0.100 $TTL 86400 ; 1 day nosec A 10.0.0.200 $TTL 604800 ; 1 week server CNAME ftp $TTL 900 ; 15 minutes test A 10.0.0.33 TXT "003a74ceb748eaa2076dd47d9b7b3a48af" $TTL 604800 ; 1 week www A 10.0.0.100 www1 A 10.0.0.100 Zone thuận: dynamic.ntt.edu( ORIGIN . $TTL 604800 ; 1 week 63
  64. dynamic.ntt.edu IN SOA ns1.dynamic.ntt.edu. root.dynamic.ntt.edu. ( 18 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS ns1.dynamic.ntt.edu. $TTL 86400 ; 1 day A 10.0.0.132 $ORIGIN dynamic.ntt.edu. au A 10.0.0.103 A 10.0.0.105 dns A 10.0.0.100 $TTL 600 ; 10 minutes dns1 A 10.0.0.101 dns2 A 10.0.0.102 ns A 10.0.0.101 $TTL 604800 ; 1 week ns1 A 10.0.0.100 $TTL 86400 ; 1 day sec A 10.0.0.200 Zone ngược: db.0.0.10("/var/lib/bind/dynamic.ntt.edu";) $TTL 604800 @ IN SOA ntt.edu. admin.ntt.edu.( 1; 604800; 86400; 64
  65. 2419200; 604800 ); @ IN NS dns.ntt.edu. @ IN NS mail.ntt.edu. 2 IN PTR dns.ntt.edu. 5 IN PTR www.ntt.edu. 20 IN PTR ftp.ntt.edu. 99 IN PTR mail.ntt.edu. 100 IN PTR master.ntt.edu. Kiểm tra: Test nslookup(Hình 33): Hình 33 : Test bằng lệnh nslookup zone Test dig (Hình 34) 65
  66. Hình 34 : Test bằng lệnh dig với zone ntt.edu 8.2 Cấu hình một slave server Hệ điều hành : Ubuntu server 8.10 DNS(BIND) :BIND9 Tên máy :slave IP : 10.0.0.101 Zone : zone ntt.edu , path zone : 0 File cấu hình : named.conf và named.conf.option( /etc/bind/named.conf /etc/bind/named.conf.option) This is the primary configuration file for the BIND DNS server named. // // Please read /usr/share/doc/bind9/README.Debian.gz for information on the // structure of BIND configuration files in Debian, *BEFORE* you customize // this configuration file. // // If you are just adding zones, please do that in /etc/bind/named.conf.local include "/etc/bind/named.conf.options"; // prime the server with knowledge of the root servers key update { 66
  67. algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; server 10.0.0.100 { keys { update; }; }; zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 // zone "ntt.edu" { type slave; file "ntt.edu.db"; masters { 10.0.0.100;}; allow-notify { 10.0.0.100;}; }; zone "0.in-addr.arpa" { type master; file "/etc/bind/db.0"; }; zone "255.in-addr.arpa" { type master; file "/etc/bind/db.255"; }; 67
  68. include "/etc/bind/named.conf.local"; File: named.conf của slave options { directory "/var/cache/bind"; // If there is a firewall between you and nameservers you want // to talk to, you may need to fix the firewall to allow multiple // ports to talk. See // If your ISP provided one or more IP addresses for stable // nameservers, you probably want to use them as forwarders. // Uncomment the following block, and insert the addresses replacing // the all-0's placeholder. //forwarders //{ //10.0.0.100 //}; dnssec-enable yes ; auth-nxdomain no; # conform to RFC1035 listen-on-v6 { any; }; }; File: named.conf.option của slave File path zone được máy master(10.0.0.100) transfer(vận chuyển) về máy slave (10.0.0.101) lưu tại cache (/var/cache/bind/ntt.edu.db) : 68
  69. ORIGIN . $TTL 604800 ; 1 week ntt.edu IN SOA ntt.edu. root.ntt.edu. ( 9 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS dns.ntt.edu. NS ntt.edu. A 10.0.0.100 MX 1 mail.ntt.edu. $ORIGIN ntt.edu. $TTL 86400 ; 1 day au A 10.0.0.103 $TTL 604800 ; 1 week dns A 10.0.0.100 ftp A 10.0.0.100 mail A 10.0.0.100 $TTL 86400 ; 1 day nosec A 10.0.0.200 $TTL 604800 ; 1 week server CNAME ftp $TTL 900 ; 15 minutes test A 10.0.0.33 TXT "003a74ceb748eaa2076dd47d9b7b3a48af" $TTL 604800 ; 1 week www A 10.0.0.100 69
  70. www1 A 10.0.0.100 www2 A 10.0.0.101 File cache load từ master xuống slave 8.3 DNS Caching 8.3.1 Hoạt động của máy chủ DNS đệm (DNS Caching) Máy chủ tên miền khi xử lý các yêu cầu tìm kiếm tên miền dưới hình thức đệ quy (recursive) thường phải chuyển yêu cầu tới một vài máy tính rồi mới nhận được dữ liệu trả lời. Tuy nhiên khi tìm kiếm thông tin về tên miền theo hình thức recursive, máy chủ tên miền sẽ thu thập được một lượng thông tin về các bản ghi tên miền từ các máy chủ tên miền khác và lưu trữ trong bộ nhớ để phục vụ trả lời cho các lần truy vấn sau. Việc xử lý và lưu giữ thông tin như vậy gọi là đệm (caching) dữ liệu bản ghi tên miền, các máy chủ thực hiện theo nguy ên tắc này được gọi là máy chủ DNS Caching. Quá trình caching dữ liệu như vậy làm tăng tốc độ tìm kiếm tên miền của máy chủ tên miền khi nhận được các yêu cầu tìm kiếm tên miền tiếp theo. Vào lần tìm kiếm tiếp theo, do máy chủ đã có dữ liệu của lần tìm kiếm trước nên nó biết được một phần thông tin trên hệ thống tên miền do đó quá trình tìm kiếm được thực hiện nhanh chóng hơn. Trong trường hợp tên miền muốn tìm thông tin ở lần truy vấn sau trùng với tên miền ở lần truy vấn trước đó, máy chủ tên miền sẽ lấy dữ liệu đã được lưu trong bộ nhớ để trả lời. Ví dụ: máy chủ tên miền thực hiện tìm kiếm tên miền www.ntt.edu.vn trong qúa trình tìm kiếm thông tin về tên miền này, máy chủ tên miền đã có được địa chỉ IP tương ứng với tên miền và máy chủ quản lý tên miền này. Nếu có một yêu cầu tìm kiếm thông tin về tên miền www.ntt.edu.vn, máy chủ tên miền này sẽ không phải đi tìm máy chủ quản lý tên miền www.ntt.edu.vn vì nó đã được địa chỉ IP của tên miền này trong bộ nhớ và trả về địa chỉ IP của tên miền www.ntt.edu.vn ngay lập tức m à không cần truy vấn thông tin từ máy chủ quản lý t ên miền ntt.edu.vn. 70
  71. 8.4 Sự ủy quyền trong DNS ( delegation DNS) Một trong các mục tiêu khi thiết kế hệ thống DNS là khả năng quản lý phân tán thông qua cơ chế uỷ quyền (delegation). Trong một miền có thể tổ chức th ành nhiều miền con, mỗi miền con có thể đ ược uỷ quyền cho một tổ chức khác v à tổ chức đó chịu trách nhiệm duy trì thông tin trong miền con này. Khi đó, miền cha chỉ cần một con trỏ trỏ đến miền con n ày để tham chiếu khi có các truy vấn. Không phải một miền luôn luôn tổ chức miền con v à uỷ quyền toàn bộ cho các miền con này, có thể chỉ có vài miền con được ủy quyền. Ví dụ :miền ntt.edu.vn của Trường Cao Đẳng Nguyễn Tất Thành chia một số miền con như cs.ntt.edu.vn (khoa công nghệ thông tin) do DNS khoa công nghệ thông tin quản lý , sinhvien.ntt.edu.vn (Quản lý sinh viên) do DNS quản lý sinh viên quản lý miền này vụ cho toàn trường thì vẫn thuộc vào miền ntt.edu.vn. Mục đích sử dụng delegation DNS là giảm tải cho miền cha và chuyển trách nhiệm cho các miền con tự quản lý domain riêng của mình nhưng vẫn trong vùng quản lý của miền cha Chương 9 : Xây Dựng Mô Hình DNS server (BIND ) trên Ubuntu server 8.10 9.1 Tổng quát về mô hình DNS server (BIND) 71
  72. Mô Hình Xây Dựng : DNS server (BIND) và các hệ thống liên quan Server DNS Master 72
  73. Mô tả : Host name master Address 10.0.0.100 Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Ubuntu server 8.10 File kết Đường dẩn file cấu hình Tên nối : /etc/bind/named.conf Named.conf /var/lib/bind/ntt.edu.db Ntt.edu.db /var/lib/bind/dynamic.ntt.edu Dynamic.ntt.edu /var/lib/bind/db.0.0.10 db.0.0.10 /etc/bind/rndc.key Rndc.key /etc/resolv.conf Resolv.conf /etc/dhcp3/ dhcpd.conf Dhcpd.conf /root/Kupdate.+157+49088.key Căp key public và private /root/Kupdate.+157+49088.private (DNS sec) Chức năng chính máy master: - Quản lý zone : ntt.edu,dynamic.ntt.edu, db.0.0.10 - Nhiệm vụ phân giải zone : ntt.edu ,dynamic.ntt.edu và db.0.0.10 - Làm DNS server master - Làm DHCP cho mạng 10.0.0.0/24 73
  74. Server DNS Slave Mô tả: Host name slave Address 10.0.0.101 Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Ubuntu server 8.10 File kết nối : Đường dẫn file cấu hình Tên /etc/bind/named.conf Named.conf /var/cache/bind/ntt.edu.db Ntt.edu.db /var/cache/bind/dynamic.ntt.edu Dynamic.ntt.edu /var/cache/bind/db.0.0.10 db.0.0.10 /etc/bind/rndc.key Rndc.key /etc/resolv.conf Resolv.conf /root/Kupdate.+157+49088.key Cặp key public và private /root/Kupdate.+157+49088.private (DNS sec) Chức năng chính máy slave -Nhiệm vụ phân giải 2 zone : ntt.edu và dynamic.ntt.edu, db.0.0.10 - DNS server slave - Nhiệm vụ Backup và Transfer zone ntt.edu , dynamic.ntt.edu và db.0.0.10 74
  75. Server DNS Delegation Mô tả: Host name delegation Address 10.0.0.102 Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Ubuntu server 8.10 File kết nối : Đường dẩn file cấu hình Tên /etc/bind/named.conf Named.conf /var/lib/bind/delegation.ntt.edu delegation.ntt.edu /etc/bind/rndc.key Rndc.key /etc/resolv.conf Resolv.conf Chức năng chính máy delegation - Quản lý zone : delegation.ntt.edu -Nhiệm vụ phân giải zone : delegation.ntt.edu - DNS server master cho zone delegation.ntt.edu - Chịu sự ủy quyền từ zone : ntt.edu 75
  76. Caching server Mô tả : Host name Caching Address 10.0.0.103 Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Ubuntu server 8.10 File kết nối Đường dẩn file cấu hình Tên /etc/bind/named.conf.option Named.conf.option /etc/bind/rndc.key Rndc.key /etc/resolv.conf Resolv.conf Chức năng chính máy Caching DNS server thưc hiện caching (vùng đệm)cho ISP cho hệ thống DNS mạng 10.0.0.0 76
  77. Mail Server Mô tả : Host name Mail Address 10.0.0.99 Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Fedora Core 9 File kết nối : Đường dẩn file cấu hình Tên /etc/postfix/main.cf Main.cf users mail /root/dovecot-0.99.14-4.fc4.i386.rpm dovecot-0.99.14-4.fc4.i386.rpm /root/openwebmail-2.30-1.i386.rpm openwebmail-2.30-1.i386.rpm /root/postfix-2.2.2-2.i386.rpm postfix-2.2.2-2.i386.rpm /etc/resolv.conf Resolv.conf Chức năng chính máy mail server -Phục vu mail với tên miền ntt.edu - Mail server cho hệ thống mạng 10.0.0.0 Send mail giữa các user, send mail cho 1 mail server khác trên Internet 77
  78. Administrator Mô tả : Host name test Address Boot DHCP Netmask 255.255.255.0 Network 10.0.0.0 Broadcast 10.0.0.255 Gateway 10.0.0.2 Hệ Điều Hành Ubuntu server 8.10 File kết nối: Đường dẩn file cấu hình Tên /root/Kupdate.+157+49088.key Cập key public và private /root/Kupdate.+157+49088.private /etc/resolv.conf Resolv.conf Chức năng : -Thực hiện update cho zone có DNSsec và không DNSsec bằng lệnh (nsupdate) - Tester cho hệ thống 9.2 xây dự mô hình DNS server chi tiết 9.2.1 Phân giải zone ntt.edu ,dynamic.ntt.edu, các ip thuộc mạng 10.0.0.100 trên master . Thực hiện chương 8.1 (trang 66- 72) 9.2.2 Sự kết nối DNS server Master và Slave 9.2.2.1 DNS server Master và Slave không có DNSsec Cấu hình (bind) master File named.conf( trích dẫn) 78
  79. include "/etc/bind/named.conf.options"; // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; zone "dynamic.ntt.edu" { type master; file "/var/lib/bind/dynamic.ntt.edu"; allow-transfer {any;}; //{ 127.0.0.1;10.0.0.100;10.0.0.101; }; // allow-update { any;}; //{ key update; }; //allow-query {127.0.0.1;10.0.0.100;10.0.0.101;}; notify yes; }; Option: Allow-transfer { any;} : cho phép chuyển vùng zone dynamic.ntt.edu cho mọi máy slave khi kết nối tới với máy master , có thể gán các địa chỉ của máy slave (ví dụ : 10.0.0.101 ip máy slave) Notify yes : bật chức năng thông báo Gởi thông báo cho máy slave về việc cập nhật lại zone dynamic.ntt.edu khi có sự thay đổi Cấu hình (bind) slave khai báo cho master File named.conf( trích dẫn) zone "dynamic.ntt.edu" { type slave; file "dynamic.ntt.edu"; masters { 10.0.0.100;}; 79
  80. allow-notify { 10.0.0.100;}; }; Option: Masters { 10.0.0.100;}: Khai báo ip của máy đóng vai trò là 1 DNS master Allow-notify {10.0.0.100;} cho phép máy dns master ip 10.0.0.100 gởi thông báo về việc cập nhật lại zone Giới thiệu về rndc dùng điều khiển server -Cấu hình trong mỗi file named.conf controls { inet 127.0.0.1 port 953 allow { any; } keys { "rndc-key";}; }; -Key rndc-key trên mỗi BIND9 điều hổ trợ mặc định Dùng để kiểm xoát , điều khiển nameserver nghe theo tin nhắn v à chỉ chỉ có inet substatement được cho phép điều khiển BIND 9, có thể bỏ ra các đặc điểm kỹ thuật trên cổng, và các nameserver mặc định sẽ lắng nghe trên cổng 953. Bạn cũng phải thêm vào một key để kiểm định đặc điểm kỹ thuật Lệnh : rndc Options: halt : tạm dừng các dịch vụ named ngay lập tức querylog: bật toàn bộ những truy vấn từ client refresh : làm mới các cơ sở dư liệu của nameserver retransfer: vận chuyển lại zone sử dụng cho các máy slave chuyển lại vùng zone Kết quả : Test nslookup server master :10.0.0.100 80
  81. Hình 35 :Test nslookup server 10.0.0.100 Test nslookup server backup salve:10.0.0.101 Hình 36: Test nslookup server 10.0.0.101 File log ghi nhận trên master: Hình 37: Ghi nhận transfer zone trên master Hình 38 Ghi nhận transfer zone trên salve 9.2.2.2 DNS server Master và Slave có DNSsec -Để làm rỏ vấn đê trên thực hiện master và slave có dnssec tham gia Cặp key tạo ra nhờ lệnh 81
  82. dnssec-keygen HMAC-MD5 -b 128 -n HOST update Kupdate.+157+49088.key Kupdate.+157+49088.private Hình 39 Cặp key public và private Máy master ip : 10.0.0.100 Cấu hình file named.conf . include "/etc/bind/named.conf.options"; // prime the server with knowledge of the root servers zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 //cuc bo cau hinh zone thuan key update { algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; controls { inet 127.0.0.1 port 953 allow { any; } keys { "rndc-key";}; }; // master 82
  83. zone "ntt.edu"{ type master ; file "/var/lib/bind/ntt.edu.db"; allow-update {any;}; check-names fail; //allow-query {10.0.0.100;127.0.0.1;}; allow-transfer { key update;}; notify yes; }; //zone nguoc zone "0.0.10.in-addr.arpa" { type master; notify no; file "/var/lib/bind/db.0.0.10"; allow-transfer { 10.0.0.10; }; }; zone "dynamic.ntt.edu" { type master; file "/var/lib/bind/dynamic.ntt.edu"; allow-transfer {any;}; //{ 127.0.0.1;10.0.0.100;10.0.0.101; }; allow-update { any;}; //{ key update; }; //allow-query {127.0.0.1;10.0.0.100;10. 0.0.101;}; notify yes; }; //note: on-line slide is different include "/etc/bind/named.conf.local"; include "/etc/bind/rndc.key"; Key sử dụng cho kết nối master 83
  84. key update { algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; File zone ntt.edu $ORIGIN . $TTL 604800 ; 1 week ntt.edu IN SOA ntt.edu. root.ntt.edu. ( 9 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS dns.ntt.edu. NS ntt.edu. A 10.0.0.100 $ORIGIN ntt.edu. $TTL 86400 ; 1 day au A 10.0.0.103 $TTL 604800 ; 1 week dns A 10.0.0.100 ftp A 10.0.0.100 $TTL 86400 ; 1 day nosec A 10.0.0.200 $TTL 604800 ; 1 week 84
  85. server CNAME ftp $TTL 900 ; 15 minutes test A 10.0.0.33 TXT "003a74ceb748eaa2076dd47d9b7b3a48af" $TTL 604800 ; 1 week www A 10.0.0.100 Cấu hình file named.conf trên máy slave ip 10.0.0.101 include "/etc/bind/named.conf.options"; // prime the server with knowledge of the root servers key update { algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; server 10.0.0.100 { keys { update; }; }; zone "." { type hint; file "/etc/bind/db.root"; }; // be authoritative for the localhost forward and reverse zones, and for // broadcast zones as per RFC 1912 // zone "ntt.edu" { type slave; 85
  86. file "ntt.edu.db"; masters { 10.0.0.100;}; allow-notify { 10.0.0.100;}; include "/etc/bind/named.conf.local"; Kết quả đạt được: Xem log trên máy master ip 10.0.0.100: Jun 22 22:09:21 master named[8042]: default max-cache-size (33554432) applies: view _bind Jun 22 22:09:21 master named[8042]: command channel listening on 127.0.0.1#953 Jun 22 22:09:21 master named[8042]: zone 0.in -addr.arpa/IN: loaded serial 1 Jun 22 22:09:21 master named[8042 ]: zone 0.0.10.in-addr.arpa/IN: loaded serial 1 Jun 22 22:09:21 master named[8042]: zone 255.in -addr.arpa/IN: loaded serial 1 Jun 22 22:09:21 master named[8042]: zone ntt.edu/IN: loaded serial 9 Jun 22 22:09:21 master named[8042]: zone dynamic.ntt.edu/IN: loaded serial 16 Jun 22 22:09:21 master named[8042]: running Jun 22 22:09:21 master named[8042]: zone ntt.edu/IN: sending notifies (serial 9) Xem log trên máy slave ip 10.0.0.101 Jun 22 21:42:16 slave named[6726]: zone 0.in -addr.arpa/IN: loaded serial 1 Jun 22 21:42:16 slave named[6726]: zone 255.in -addr.arpa/IN: loaded serial 1 Jun 22 21:42:16 slave named[6726]: running Jun 22 21:42:16 slave named[6726]: zone ntt.edu/IN: Transfer started. Jun 22 21:42:16 slave named[6726]: transfer of 'ntt.edu/IN' from 1 0.0.0.100#53: connected using 10.0.0.101#37030 Jun 22 21:42:16 slave named[6726]: zone ntt.edu/IN: transferred serial 9: TSIG 'update' Jun 22 21:42:16 slave named[6726]: transfer of 'ntt.edu/IN' from 10.0.0.100#53: Transfer completed: 1 messages, 13 record s, 412 bytes, 0.040 secs (10300 86
  87. bytes/sec) Jun 22 21:42:16 slave named[6726]: zone ntt.edu/IN: sending notifies (serial 9) Sau khi dùng rndc retransfer zone ntt.edu binđ trên máy slave : 10.0.0.101 ta được: Hình 40 : Load file khi retransfer server slave File ntt.edu.db trên máy slave IP 10.0.0.101 $ORIGIN . $TTL 604800 ; 1 week ntt.edu IN SOA ntt.edu. root.ntt.edu. ( 9 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS dns.ntt.edu. NS ntt.edu. A 10.0.0.100 $ORIGIN ntt.edu. $TTL 86400 ; 1 day 87
  88. au A 10.0.0.103 $TTL 604800 ; 1 week dns A 10.0.0.100 ftp A 10.0.0.100 $TTL 86400 ; 1 day nosec A 10.0.0.200 $TTL 604800 ; 1 week server CNAME ftp $TTL 900 ; 15 minutes test A 10.0.0.33 TXT "003a74ceb748eaa2076dd47d9b7b3a48af" $TTL 604800 ; 1 week www A 10.0.0.100 Thực hiện lệnh nslookup kiễm tra đ ã load file về server 10.0.0.101( máy slave) Hình 41: Test nslookup 9.2.3 DNS server Master update zone 9.2.3.1 : nsupdate zone ntt.edu cho master Master: named.conf cấu hình option( trích dẫn) zone "ntt.edu"{ type master ; 88
  89. file "/var/lib/bind/ntt.edu.db"; allow-update {any;}; Option : allow-update {any;} cho toàn bộ server có thề update record lên zone ntt.edu Dùng lệnh nsupdate zone ntt.edu lên server DNS master: Lệnh Hình 42 : Lệnh nsupdate zone lên server 10.0.0.100 Test : Hình 43 : Test nslookup Hình 44 : Test update zone 89
  90. 9.2.3.2 Sử dụng key cho viêc update zone cho server master Cặp key được tạo dnssec-keygen HMAC-MD5 -b 128 -n HOST update - Kupdate.+157+49088.key - Kupdate.+157+49088.private Master: named.conf cấu hình option ( trích dẫn) key update { algorithm hmac-md5; secret "pq0wwwd3Fkk5l/ttchkf1A=="; }; zone "ntt.edu"{ type master ; file "/var/lib/bind/ntt.edu.db"; allow-update {key update;}; Lệnh: Hình 45 :Lệnh update lên zone ntt.edu có key Test: 90
  91. Hình 46 : Test nslookup sec.ntt.edu Hình 47 : Test update zone 9.3 Ứng dụng DHCP, Mail server cho DNS server: 9.3.1 Ứng dụng DHCP server tự cập nhật record lên DNS server File cấu hình dhcp: Dhcpd.conf # Sample configuration file for ISC dhcpd for Debian # # Attention: If /etc/ltsp/dhcpd.conf exists , that will be used as # configuration file instead of this file. # # $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $ # The ddns-updates-style parameter controls whether or not the server will # attempt to do a DNS update when a lease is confirm ed. We default to the # behavior of the version 2 packages ('none', since DHCP v2 didn't # have support for DDNS.) ddns-update-style none; 91
  92. # option definitions common to all supported networks option domain-name "example.org"; option domain-name-servers ns1.example.org, ns2.example.org; default-lease-time 600; max-lease-time 7200; # If this DHCP server is the official DHCP server for the local # network, the authoritative directive should be uncommented. #authoritative; # Use this to send dhcp log messages to a different log file (you also # have to hack syslog.conf to complete the redirection). log-facility local7; # No service will be given on this subnet, but declaring it helps the # DHCP server to understand the network topology. #subnet 10.152.187.0 netmask 255.255.255.0 { # This is a very basic subnet declaration. #subnet 10.254.239.0 netmask 255.255.255.224 { # range 10.254.239.10 10.254.239.20; # option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org; #} # This declaration allows BOOTP clients to get dynamic addresses, # which we don't really recommend. #subnet 10.254.239.32 netmask 255.255.255.224 { # range dynamic-bootp 10.254.239.40 10.254.239.60; # option broadcast-address 10.254.239.31; # option routers rtr-239-32-1.example.org; #} 92
  93. authoritative; allow unknown-clients; deny duplicates; ddns-updates on; ddns-update-style interim; ignore client-updates; log-facility local7; one-lease-per-client on; subnet 10.0.0.0 netmask 255.255.255.0 { ddns-domainname "dynamic.ntt.edu"; range 10.0.0.1 10.0.0.250; option domain-name-servers 10.0.0.100,10.0.0.101; option domain-name "dynamic.ntt.edu"; // cấu hình tự cập nhật lên zone option routers 10.0.0.2; option broadcast-address 10.0.0.255; default-lease-time 600; max-lease-time 7200; ddns-ttl 900; do-forward-updates on; update-static-leases on; update-optimization off; } # Hosts which require special configuration options can be listed in # host statements. If no address is specified, the address will be # allocated dynamically (if possible), but the host -specific information # will still come from the host declaration. #host passacaglia { # hardware ethernet 0:0:c0:5d:bd:95; # filename "vmunix.passacaglia"; 93
  94. Tạo 1 máy linux dùng làm test boot dhcp Cấu hình cho máy test boot dhcp File log daemon ghi lại khi boot dhcp Jun 22 22:41:34 master named[8042]: client 10.0.0.100#46979: updating zone 'dynamic.ntt.edu/IN': adding an RR at 'tester.dynamic.ntt.edu' A Jun 22 22:41:34 master named[8042]: client 10.0.0.10 0#44519: update '0.0.10.in- addr.arpa/IN' denied Jun 22 22:46:08 master named[8042]: client 10.0.0.100#58432: updating zone 'dynamic.ntt.edu/IN': update unsuccessful: tester.dynamic.ntt.edu: 'name not in use' prerequisite not satisfied (YXDOMAIN) Jun 22 22:46:08 master named[8042]: client 10.0.0.100#46584: updating zone 'dynamic.ntt.edu/IN': deleting rrset at 'tester.dynamic.ntt.edu' A Jun 22 22:46:08 master named[8042]: client 10.0.0.100#46584: updating zone 'dynamic.ntt.edu/IN': adding an RR at 'tester.dyn amic.ntt.edu' A Jun 22 22:46:08 master named[8042]: client 10.0.0.100#36677: update '0.0.10.in - addr.arpa/IN' denied Hình 48 : Kiểm tra Network Interface 94
  95. Hình 49 : Kiểm tra địa chỉ Ip của máy Client do DHCP Server cấp  máy tên tester có ip 10.0.0.104 ( do dhcp cấp) và có tên host name là tester kiểm tra trên máy master chứa zone dynamic.ntt.edu file zone dynamic.ntt.edu $ORIGIN . $TTL 604800 ; 1 week dynamic.ntt.edu IN SOA ns1.dynamic.ntt.edu. root.dynamic.ntt.edu. ( 16 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS ns1.dynamic.ntt.edu. $TTL 86400 ; 1 day A 10.0.0.132 $ORIGIN dynamic.ntt.edu. 95
  96. au A 10.0.0.103 A 10.0.0.105 dns A 10.0.0.100 $TTL 600 ; 10 minutes dns1 A 10.0.0.101 dns2 A 10.0.0.102 ns A 10.0.0.101 $TTL 604800 ; 1 week ns1 A 10.0.0.100 $TTL 86400 ; 1 day sec A 10.0.0.200 $TTL 900 ; 15 minutes tester A 10.0.0.104 TXT "00b28e67ddab68aba4ee67d01f57c2fad 6" Hình 50 : Test nslookup 9.3.2 Ứng dụng Mail server Cấu hình DNSServer miền ntt.edu trên máy master IP 10.0.0.100 File zone ntt.edu cấu hình: 96
  97. $ORIGIN . $TTL 604800 ; 1 week ntt.edu IN SOA ntt.edu. root.ntt.edu. ( 9 ; serial 604800 ; refresh (1 week) 86400 ; retry (1 day) 2419200 ; expire (4 weeks) 604800 ; minimum (1 week) ) NS dns.ntt.edu. NS ntt.edu. A 10.0.0.100 MX 1 mail.ntt.edu.// record MX hệ thông mail mail.ntt.edu. A 10.0.0.99 // cấu hình máy mail server $ORIGIN ntt.edu. $TTL 86400 ; 1 day au A 10.0.0.103 $TTL 604800 ; 1 week dns A 10.0.0.100 ftp A 10.0.0.100 $TTL 86400 ; 1 day nosec A 10.0.0.200 $TTL 604800 ; 1 week server CNAME ftp $TTL 900 ; 15 minutes test A 10.0.0.33 TXT "003a74ceb748eaa2076dd47d9b7b3a48af" $TTL 604800 ; 1 week www A 10.0.0.100 97
  98. www1 A 10.0.0.100 www2 A 10.0.0.101 File db.0.0.10 $TTL 604800 @ IN SOA ntt.edu. admin.ntt.edu.( 1; 604800; 86400; 2419200; 604800 ); @ IN NS dns.ntt.edu. 2 IN PTR dns.ntt.edu. 5 IN PTR www.ntt.edu. 20 IN PTR ftp.ntt.edu. 99 IN PTR mail.ntt.edu. Kiễm Tra nslookup Hình 51: Test nslookup Dựng mail server trên máy IP 10.0.0.99 với tên miền cho mail là ntt.edu Cấu hình: sử dụng máy fredora core 9 Ip 10.0 .0.99 làm mail server 98
  99. sử dụng postfix, dovecot đề thiết lập 1 mail server sử dụng openwebmail để quản lý mail cho user v à phục vụ test Những gói cài đặc phục vụ tạo 1 mail server: -dovecot-0.99.14-4.fc4.i386.rpm -postfix-2.2.2-2.i386.rpm -openwebmail-2.30-1.i386.rpm -perl-suidperl-5.8.6-15.i386.rpm -perl-Text-Iconv-1.4-2.i386.rpm -perl-Compress-Zlib-1.34-2.i386.rpm Sau khi cài đặc gói ta cấu hình postfix: File cấu hình postfix Vi /etc/postfix/main.cf (trích dẫn) # The mail_owner parameter specifies the own er of the Postfix queue # and of most Postfix daemon processes. Specify the name of a user # USER. mail_owner = postfix # The default_privs parameter specifies the default rights used by # the local delivery agent for delivery to external file or command. # These rights are used in the absence of a recipient user context. # DO NOT SPECIFY A PRIVILEGED USER OR THE POSTFIX OWNER. #default_privs = nobody # INTERNET HOST AND DOMAIN NAMES # The myhostname parameter specifies the internet hostname of this # mail system. The default is to use the fully -qualified domain name # from gethostname(). $myhostname is used as a default value for many # other configuration parameters. myhostname = mail.ntt.edu #myhostname = virtual.domain.tld # The mydomain parameter specifies the local internet domain name. 99
  100. # The default is to use $myhostname minus the first component. # $mydomain is used as a default value for many other configuration # parameters. mydomain = mail.ntt.edu # SENDING MAIL # The myorigin parameter specifies the domain that locally-posted # mail appears to come from. The default is to append $myhostname, # which is fine for small sites. If you run a domain with multiple # machines, you should (1) change this to $mydomain and (2) set up # a domain-wide alias database that aliases each user to # user@that.users.mailhost. # For the sake of consistency between sender and recipient addresses, # myorigin also specifies the default domain name that is appended # to recipient addresses that have no @domain part. # myorigin = $myhostname myorigin = $mydomain # RECEIVING MAIL # The inet_interfaces parameter specifies the network interface # addresses that this mail system receives mail on. By default, # the software claims all active interfaces on the machine. The # parameter also controls delivery of mail to user@[ip.address]. # # See also the proxy_interfaces parameter, for network addresses that # are forwarded to us via a proxy or network address translator. # # Note: you need to stop/start Postfix when this paramete r changes. # inet_interfaces = all 100