Tài liệu tham khảo ngành tin học Sử dụng DNS server trên Linux
Trang 1Bộ Giáo Dục Và Đào Tạo
HỆ THỐNG ĐÀO TẠO CHUYÊN GIA MẠNG QUỐC TẾ
Thầy Đỗ Quang Trung - gv môn Server
Trang 2Hà Nội –Tháng 8, Năm 2010
LỜI MỞ ĐẦU
Cùng với sự phát triển nhanh chóng của nền kinh tế Vấn đề ứng dụng hệ thống Mạng thông tin vào điều hành và sản xuất trong doanh nghiệp ngày càng được đẩy mạnh Nhà quản lý mong muốn Quản trị viên mạng thông tin phải nắm bắt được hầu hết các công nghệ mạng để nhanh chóng triển khai , ứng dụng những công nghệ mạng tiên tiến vào phục vụ điều hành sản xuất cũng như lập kế hoạch xây dựng và bảo vệ hệ thống thông tinnội bộ của doanh nghiệp tránh khỏi mọi nguy cơ tấn công
Chắc hẳn đã nhiều người quan tâm tới lĩnh vực hệ thống và không thể không biết tớitrong các dịch vụ mạng đó là DNS Một dịch vụ quan trọng nhất trên Internet và trongnội bộ của các doanh nghiệp, cho phép toàn bộ máy tính và các tài nguyên trên mạngđược lưu dưới dạng tên và khi truy cập vào hệ thống DNS sẽ chuyển từ tên sang địa chỉ
IP và ngược lại
DNS server có thể nói là một dịch vụ xương sống của hệ thống mạng, nếu không có DNSthì có lẽ chiếm quá nửa số lượng trang web trên thế giới không thể vào được Hiện nay córất nhiều phần mềm cho phép chúng ta xây dựng một DNS server như trên windows có Microsoft DNS, hay trên Linux có BIND, PowerDNS, MyDNS… Nhưng có lẽ phần mềm được dùng để xây dựng DNS phổ biến nhất thế giới và cũng có thể nói là mạnh nhấthiện nay là BIND
Trước xu hướng đó, cùng với sự phân công của bộ môn Server+ và sự tận tình giúp đỡ của giáo viên hướng dẫn , chúng em đã tiến hành xây dựng xây dựng một DNS server bằng phần mềm BIND trên nền tảng hệ điều hành Linux Centos với mong mỏi nắm bắt được những vấn đề nền tảng, cốt lõi cũng như cách thức khai thác và hoạt động của hệ thống tên miền
Do đây là lần đầu tiên thâm nhập vào một lĩnh vực mới nên sai sót là điều không tránh khỏi Em rất mong được sự góp ý của quý thầy cô và của các bạn.Em xin chân thành cảm
ơn hội đồng ban giám khảo và các bạn học viên!
Hà Nội, Ngày 26 tháng 8 năm 2010 Học viên thực hiện
Trang 3Phạm Thị Diệu Linh Trần Thị Huyền Trang
MỤC LỤC
Trang LỜI
MỞ ĐẦU .2
DANH MỤC TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH VẼ 6
CHƯƠNG I: GIỚI THIỆU VỀ HỆ ĐIỀU HÀNH LINUX 7
1.1 Linux là gì 7
1.2 Tại sao phải dùng Linux 8
ChƯƠNG II: TỔNG QUAN VỀ HỆ THỐNG TÊN MIỀN DNS SERVER 9
2.1 Định Nghĩa Tên Miền 9
1 Lịch sử phát triển hệ thống tên miền 10
2 Mục đích của hệ thống tên miền 10
2.2 Hệ Thống Tên Miền Là Gì 10
2.3 Cấu Trúc Của Hệ Thống Tên Miền DNS
1 Cấu trúc cơ sở dữ liệu
2 Cấu trúc của tên miền
3 Máy chủ quản lý tên miền 14
Trang 44 Các bản ghi thường có trong cơ sở dữ liệu của DNS server 14
5 Cấu trúc gói tin
2.4 Các Thành Phần Của DNS server
2.5 Cơ Chế Phân Giải Tên 23
2.6 Chức Năng Của DNS server 26
2.7 Nguyên Tắc Làm Việc Của DNS server 27
2.8 Cách Sử Dụng DNS server 27
CHƯƠNG III: CÀI ĐẶT VÀ CẤU HÌNH DNS SERVER TRÊN CENTOS5 28
TỔNG KẾT: 32
Tài Liệu Tham Khảo 32
Trang 5DANH MỤC TỪ VIẾT TẮT
Từ Viết Tắt Chú Thích
SCO Portable Operating System Interface for Unix
TCP/IP Transmission Control Protocol/ Internet Protocol
ICANN The Internet Coroperation for Assigned Names and Numbers
Trang 6Hình Nội Dung Trang
Trang 7Hình 8 Mô hình các bước DHCP Server đăng ký và cập nhật resource
record cho Client
22
Hình 9 Mô hình Active Directory-integrated zone sử dụng secure
dynamic update
23
Trang 8Chương I: Giới Thiệu Về HĐH Linux
1.1 Linux là gì
Linux là một HDH dạng UNIX (Unix-like Operating System) chạy trên máy PC với bộ điều khiển trung tâm (CPU) Intel 80386 trở lên, hay các bộ vi xử lý trung tâm tương thíchAMD, 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
Linux được viết lại toàn bộ từ con số không, tức là không sử dụng một dòng lệnh nào củaUnix để tránh vấn đề bản quyền của Unix Tuy nhiên hoạt động của Linux hoàn toàn dựa trên nguyên tắc của hệ điều hành Unix Vì vậy nếu một người nắm được Linux, thì sẽ nắm được UNIX Nên chú ý rằng giữa các Unix sự khác nhau cũng không kém gì giữa Unix và Linux
Năm 1991 Linus Torvalds, 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ên cứu cách tạo ra một
hệ điều hành 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 báo trên comp.os.minix của Internet
Phiên bản mới nhất có thể tìm thấy tại http://www.kernel.org
Trang 91.2 Tại sao lại dùng Linux
Linux là miễn phí (free) Đối với chúng ta hôm nay không quan trọng vì ngay
WindowsNT server cũng "free" Nhưng trong tương lai, khi chúng ta muốn hòa nhập vào thế giới, khi chúng ta muốn có một thu nhập chính đáng cho người lập trình, hiện tượng sao chép trộm phần mềm cần phải chấm dứt Khi đó, "free" là một thông số rất quan trọng để chọn Linux
Linux rất ổn định Trái với suy nghĩ truyền thống "của rẻ là của ôi ", Linux từ những phiên bản đầu tiên cách đây 5-6 năm đã rất ổn định Ngay cả server Linux phục vụ nhữngmạng lớn (hàng trăm máy trạm) cũng hoạt động rất ổn định
Linux đầy đủ Tất cả những gì bạn thấy ở IBM, SCO, Sun … đều có ở Linux C compiler,perl interpeter, shell , TCP/IP, proxy, firewall, tài liệu hướng dẫn đều rất đầy đủ và có chất lượng Hệ thống các chương trình tiện ích cũng rất đầy đủ
Linux là hệ điều hành hoàn toàn 32-bit Như các Unix khác, ngay từ đầu, Linux đã là một
hệ điều hành 32 bits Hiện nay đã có những phiên bản Linux 64 bits chạy trên máy Alpha Digital hay Ultra Sparc
Linux rất mềm dẻo trong cấu hình Linux cho người sử dụng cấu hình rất linh động, ví dụnhư độ phân dải màn hình Xwindow tùy ý, dễ dàng sửa đổi ngay cả kernel
Linux chạy trên nhiều máy khác nhau từ PC 386, 486 tự lắp cho đến SUN Sparc
Linux được trợ giúp Ngày nay, với các server Linux sử dụng dữ liệu quan trọng, người
sử dụng hoàn toàn có thể tìm được sự trợ giúp cho Linux từ các công ty lớn IBM đã chính thức chào bán IBM server chạy trên Linux Tài liệu giới thiệu Linux ngày càng nhiều, không thua kém bất cứ một hệ điều hành nào khác
Trang 10Chương II: Tổng Quan về DNS Server
2.1 Định Nghĩa Tên Miền
Mạng máy tính toàng cầu (Internet ) bao gồm hàng tỷ máy tinh nối mạng với nhau, mỗi máy tính cần có một địa chỉ xác định trên mạng.Hiện nay địa chỉ dùng trên mạng là địa chỉ IP Mỗi máy tính được cấp phát một địa chỉ IP và địa chỉ này là duy nhất Địa chỉ IP hiện đang đang được sử dụng phổ biến hiện nay là IPv4 có 32 bit chia thành 4 phần Mỗi phần là 8 bít( tương đương là 1 byte) cách dếm từ trái qua phải.Các phần cách nhau bằng một dấu chấm (.) và biểu diễn ở dạng thập phân đầy đủ là 12 con số Mỗi phần là 3 con số.Ví dụ một địa chỉ Internet : 146.123.110.224 Vì mạng máy tính toàn cầu hiện nay đang phát triển mạnh mẽ nên nhu cầu về địa chỉ IP ngày càng tăng Địa chỉ IP sắp tới đựoc sử dụng là IPv6 có 128 bit dài gấp 4 lần IPv4.Phiên bản Ipv4 có khả năng cung cấp
232 = 4 294 967 296 địa chỉ Phiên bản IPv6 có khả năng cung cấp 2128 địa chỉ Hiện nay nước ta đang triển khai thử nghiệm IPv6
Ví dụ: Khi người dùng gõ vào địa chỉ: www.google.com trong trình duyệt, trình duyệt sẽ
sử dụng dịch vụ DNS để phân giải địa chỉ này thành địa chỉ IP 64.233.189.104
Mọi liên lạc trên hệ thống Internet của chúng ta đều thông qua địa chỉ IP , do đó nếu không có dịch vụ DNS người dùng sẽ phải nhờ những địa chỉ IP khô khan chứ không sử dụng được các tên miền dễ nhớ hơn rất nhiềuTê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 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 địa chỉ IP của nó
Trang 11Hình 1.
2.2 Hệ thống tên miền là gì (Domain Name System)
1) Lịch sử phát triển hệ thống tên miền
Hiện nay các máy tính nối mạng toàn cầu liên lạc với nhau , tìm đường trên mạng và nhân diện nhau bằng địa chỉ IP 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.Và từ yêu cầu đó đã hình thành hệ thống tên miền.( Ban đầ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áytính ngày càng phát triển thì với một tệp HOSTS.txt là không khả thi.)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 vàngày càng phát triển
2 Mục đích của hệ thống tên miền (DNS)
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ềntrê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ệ thống DNS ra đời nhằm mục đích giúp người sử dụng sử dụngngười sử dụng một tên dễ nhớ và mang tính gợi mở và đồng thời nó giúp cho hệ thống Internet dễ dàng sử dụng để liên lạc và ngày càng phát triển
Hệ thống 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 đó
Trang 12việ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ư home.vnn.vn hoặc www.cnn.com Nó thân thiện hơn địa chỉ IP giúp cho người sử dụng 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
2.3 Cấu trúc của hệ thống tên miền (DNS)
1 Cấu trúc cơ sở dữ liệu
Cơ sở dữ liệu của hệ thống DNS là hệ thống cơ sở dữ liệu phân tán và phân cấp hình cây Với Root server là đỉnh của cây và sau đó các miền (domain) được phân nhánh dần xuống dưới và phân quyền quản lý Khi một máy khách (client) truy vấn một tên miền nó sẽ đi lần lượt từ root phân cấp xuống dưới để đến DNS quản lý domain cần truy vấn Tổ chức quản lý hệ thống tên miền trên thế giới là The Internet Coroperation for Assigned Names and Numbers (ICANN) Tổ chức này quản lý mức cao nhất của hệthống tên miền (mức root) do đó nó có quyền cấp phát các tên miền ở mức cao nhất gọi
Ví dụ : Zone “.vn” thì do DNS server quản lý zone “.vn” chứa thông tin về các bản ghi
có đuôi là “.vn” và có khả năng chuyển quyền quản lý (delegate) các zone cấp thấp hơncho các DNS khác quản lý như “.fpt.vn” là vùng (zone) do fpt quản lý
Hệ thống cơ sở dữ liệu của DNS là hệ thống dữ liệu phân tán hình cây như cấu trúc đó
là cấu trúc logic trên mạng Internet
-Về mặt vật lý
2) Cấu trúc của tên miền
a)Cách đặt tên miền
-Tên miền sẽ có dạng : Label.label.label….label
-Độ dài tối đa của một tên miền là 255 ký tự
-Mỗi một label tối đa là 63 ký tự bao gồm cả dấu “.”
-Label phải được được bắt đầu bằng chữ số và chỉ được chứa chữ, số, dấu trừ (-)
b)Phân loại tên miền
Các loại tên miền được phân chia thành các loại sau:
• Com : Tên miền này được dùng cho các tổ chức thương mại
Trang 13• Edu : Tên miền này được dùng cho các cơ quan giáo dục, trường học
• Net : Tên miền này được dùng cho các tổ chức mạng lớn
• Gov : Tên miền này được dùng cho các tổ chức chính phủ
• Org : Tên miền này được dùng cho các tổ chức khác
• Int : Tên miền này dùng cho các tổ chức quốc tế
• Info : Tên miền này dùng cho việc phục vụ thông tin
• Arpa : Tên miền ngược
• Mil : Tên miền dành cho các tổ chức quân sự, quốc phòng
• Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia này được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 (Ví dụ : Việt Nam là vn, Singapo la sg….)
Tổ chức ICANN đã thông qua hai tên miền mới là :
• Travel : Tên miền dành cho tổ chức du lịch
• Post : Tên miền dành cho các tổ chức bưu chính
Các tên miền dưới mức root này đươc gọi là Top –Level – Domain
c)Cấu trúc tên miền
Tên miền được phân thành nhiều cấp như:
Gốc (Domain root):Nó là đỉnh của nhánh cây của tên miền Nó xác định kết thúc của domain.Nó thể diễn đơn giản chỉ là dấu chấm “.”
Tên miền cấp một (Top-level-domain) :Là gồm vài kí tự xác định một nước ,khu vưc hoặc tổ chức.Nó đươc thể hiện là “.com”
Tên miền cấp hai(Second-level-domain):Nó rất đa dạng rất đa dạng có thể là tên một công ty, một tổ chức hay một cá nhân
Tên miền cấp nhỏ hơn (Subdomain): Chia thêm ra của tên miền cấp hai trở xuống thườngđược sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ đề nào đó.Như
phone.fpt.vn là một phòng của công ty Fpt
Ví dụ: có tên miền www.thanglong.edu.vn
Tên miền sẽ được đọc từ trái qua phải, mục đầu tiên (www) là tên của máy tính.Tiếp theo
là tên tên miền cấp 3 (thanglong) , tên miền được đăng kí với cơ quan quản lý tên miền ở dưới cấp vn là trung tâm thông tin mạng Internet Viet Nam(VNNIC)>Tên miền đứng thứ
2 từ bên phải là tên miền ở mức 2 (com) tên miền này miêu tả chức năng của tổ chức sở hữu tên miền ở mức 3.Trong ví dụ này tổ chức lấy tên miền ở mức hai la “edu” có nghĩa
là tổ chức thuộc về giáo dục Cuối cùng là tên miền “.vn”, tên miền này chỉ ra toàn bộ miền này thuộc quyền quản lý của mạng Internet Viet nam
-Một số chú ý khi đặt tên miền:
Tên miền nên đặt giới hạn từ cấp 3 đến cấp 4 vì nhiều hơn nữa việc nhớ tên và quản trị khó khăn
Sử dụng tên miền là phải duy nhất trong mạng Internet
Nên đặt tên đơn giản gợi nhớ và tránh
Để hiểu rõ hơn về hoạt động của DNS chúng ta xét thí dụ và tham khảo hình vẽ dưới đây
Trang 14Hình 2 Mô hình phân cấp tên miền
Ví dụ hoạt động của DNS:
Hình 3
Trang 15Giả sử máy tính PC A muốn truy cập đến trang web www.yahoo.com nhưng server vvn chưa lưu thông tin về trang web này, các bước truy vấn sẽ diễn ra như sau:
Đầu tiên PC A gửi một request hỏi server quản lý tên miền vnn hỏi thông tin về
www.yahoo.com Server quản lý tên miền vnn gửi một truy vấn đến server top level domain
Top level domain lưu trữ thông tin về mọi tên miền trên mạng Do đó nó sẽ gửi lại cho server quản lý tên miền vnn địa chỉ IP của server quản lý miền com (gọi tắt servercom)
Khi có địa chỉ IP của server quản lý tên miền com thì lập tức server vnn hỏi server com thông tin về yahoo.com Server com quản lý toàn bộ những trang web có domain
là com, chúng gửi thông tin về địa chỉ IP của server yahoo.com cho server vnn
Lúc này server vnn đã có địa chỉ IP của yahoo.com rồi Nhưng PC A yêu cầu dịch vụwww chứ không phải là dịch vụ ftp hay một dịch vụ nào khác Do đó server vnn tiếp tục truy vấn tới server yahoo.com để yêu cầu thông tin về server quản lý dịch vụ www của yahoo.com
Lẽ đương nhiên khi nhận được truy vấn thì server yahoo.com gửi lại cho server vnn địa chỉ IP của server quản lý www.yahoo.com
Cuối cùng là server vnn gửi lại địa chỉ IP của server quản lý www.yahoo.com cho
PC A và PC A kết nối trực tiếp đến nó Và bây giờ thì server vnn đã có thông tin về
www.yahoo.com cho những lần truy vấn đến sau của các client khác
3 Máy chủ quản lý tên miền (Domain name server-dns)
Máy chủ quản lý tên miền (DNS) theo từng khu vực, theo từng cấp như : một tổ chức, một công ty hay một vùng lãnh thổ.Máy chủ đó chứa thông tin dữ liệu về địa chỉ và tên miền trong khu vực , trong cấp mà nó quản lý dùng để chuyển giữa tên miền và địa chỉ
IP đồng thời nó cũng có khả năng hỏi các máy chủ quản lý tên miền khác hoặc cấp cao hơn nó để có thể trả lời được các truy vấn về những tên miền không thuộc quyền quản
lý của nó và cũng luôn sẵn sàng trả lời các máy chủ khác về các tên miền mà nó quản lý
Máy chủ cấp cao nhất là Root Server do tổ chức ICANN quản lý:
+Là server quản lý toàn bộ cấu trúc của hệ thống tên miền
+ Root Server không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà nó chỉ chuyển quyền (delegate) quản lý xuống cho các server cấp thấp hơn và do đó root server có khả năng định đường đến của một domain tại bất kì đâu trên mạng
+ Hiện nay trên thế giới có khoảng 13 root server quản lý toàn bộ hệ thống Internet Một DNS server có thể nằm bất cứ vị trí nào trên mạng Internet nhưng được cấu hình logic để phân cấp chuyển tên miền cấp thấp hơn xuống cho các DNS server khác nằm bất cứ vị trí nào trên mạng Internet Nhưng tốt nhất là đặt DNS tại vị trí nào gần với cácclient để dễ dàng truy vấn đến đồng thời cũng gần với vị trí của DNS server cấp cao hơn trực tiếp quản lý nó
Trang 164 Các bản ghi thường có trong cơ sở dữ liệu của DNS server
a Bản ghi kiểu A ( Address)
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à địachỉ IP tương ứng của nó Nói cách khác, bản ghi kiểu A chỉ ra tên và điạ chỉ IP của một máy tính trên mạng
Bản ghi kiểu A có cú pháp như sau:
domain IN A <địa chỉ IP của máy>
Ví dụ:
home.vnn.vn IN A 203.162.0.12
Theo ví dụ trên, tên miền home.vnn.vn được khai với bản ghi kiểu A trỏ đến địa chỉ 203.162.0.12 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 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
b Bản ghi CNAME (Canonical Name)
Bản ghi CNAME cho phép một máy tính có thể có nhiều tên Nói cá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 để khai 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) Cú pháp của bản ghi CNAME alias-domain
IN CNAME canonical domain Ví dụ : www.vnn.vn IN CNAME home.vnn.vn Tên miền www.vnn.vn sẽ là tên bí danh của tên miền home.vnn.vn , hai tên miền www.vnn.vn và home.vnn.vn sẽ cùng trỏ đến địa chỉ IP 203.162.0.12
c Bản ghi MX (Mail Exchanger)
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