Lời nói đầu
DNS
(Domain Name System )là hệ thống phân giải tên miền đã dược dưa
vào sử dụng từ lâu trên thế giới. Nó dược áp dụng rộng rãi trên các loại
mạng máy tính khác nhau như LAN, WAN ,và mạng Internet. Nhờ DNS
mà các máy tính cũng như các thiết bị mạng sử dụng IP có thể dịnh vị
nhau một cách đẽ dàng, việc tìm kiếm các thông tin trên mạng cũng trở lên
đơn giản hởn bằng việc tìm từ khóa tên miền. Có thể nói nó đóng vai trò
nền tảng cho một mạng có kích thước bất kì giúp các thiết bị “ nhìn nhận
”được nhau và tìm ra mạng khác.
Với tầm quan trọng của DNS như vậy trong đồ án môn học này ta sẽ
đi xem xét một cách tổng thể về tác dụng, nhiệm vụ, cách hoạt động, các
thao tác, các công cụ và dịch vụ được tích hợp trong máy chủ DNS chạy
trên nền Windows Server 2003.
Để thuận tiện cho việc theo dõi dồ án được chia thành 2 chương
chính :
Chương I: Tổng quan về máy chủ quản trị tên miền DNS
Chương II: Quản trị & giám sát máy chủ DNS
Trong mỗi chương đều có các khái niệm cơ bản của DNS, các bước thực
hiện (hình).
Trong quá trình chuẩn bi, người viết đã nhận được những ý kiến
đóng góp về nội dung cũng như trình bày. Tác giả xin chân thành cảm ơn
PGS-TS Đặng Minh Ất đã trực tiếp hướng dẫn giúp hoàn thành đề tài
này.
Mặc dù dã chú ý hướng đề tài nghiên cứu khoa học vừa có tính thực
tế, nhưng trong quá trình thực hiện không thể tránh khỏi sai sót. Mong
nhận dược ý kiến đóng góp của bạn đọc để đề tài được hoàn thiện hơn.
Tổng quan về DNS, quản trị & giám sát một máy chủ DNS
1
Chương I: Tổng quan về máy chủ quản trị tên miền DNS
(Domain Name System)
bằng các tên dễ nhớ VD: www.neu.edu.vn thay vì phải nhớ các địa
chỉ IP cụ thể bằng số
Tính đơn giản: giúp người sử dụng dễ dàng tìm kiếm các tài nguyên
trên mạng một cách nhanh chóng mà chỉ cần biết một số quy ước đơn
giản hay các từ khóa
1.3. Các thành phần cơ bản của DNS
Để hiểu được tầm quan trọng của DNS và cách thức nó hoạt động trong môi
trường Windows Server 2003 ta cần tìm hiểu các thành phần chính sau:
Không gian tên DNS
2
Các vùng DNS
Các kiểu máy chủ DNS
Các loại bản ghi tài nguyên
Ta sẽ lần lượt xét các thành phần này tại các phần sau.
Giới thiệu về không gian tên miền:
Không gian tên miền là một vùng tên có phân cấp, có cấu trúc dạng cây, bắt đầu
từ gốc không tên là một “ . ” (root) được sử dụng cho các hoạt động của DNS.
Trong không gian tên DNS, mỗi đối tượng nút và lá trên cây này sẽ thể hiện một
miền đã đặt tên. Mỗi miền có thể có nhiều miền con bổ sung.
Hình 1.1: cấu trúc của một không gian tênDNS của Internet
Không gian tên DNS có cấu trúc phân cấp. Mỗi tên DNS là duy nhất. Miền
gốc được bắt đầu bởi dấu “.” Dưới miền gốc này là các miền thuộc lớp đỉnh (top-
level domain), hay còn gọi là các miền mức đầu tiên, thuộc các loại tổ chức khác
nhau. Có 3 loại miền mức đỉnh là:
• Mức đỉnh chung(generic)
• Mức mã quốc gia (country code) đây là các miền kiểu mã quốc gia.
VD: .vn, .jp, .uk ….
• Các tên miền hạ tầng(Infrastructure domain) .arpa
3
.mil
Nam
.info Tên miền không giới hạn cung cấp thông tin trên toàn cầu
.int Các tổ chức thành lập bởi các hiệp ước quốc tế
.museum Tên miền giới hạn cho nhà thờ, bảo tàng và các tổ chức, cá nhân liên
quan
.net Các tổ chức hoặc nhà cung cấp máy tính, mạng chuyên biệt cho
internet, cung cấp các dịch vụ liên quan.VD: www.fpt.net tên miền
của nhà cung cấp dịch vụ mạng FPT
.Org Tên miền mức đỉnh cho các nhóm không phù hợp với các loại trên
như w3.org là tên của cộng đồng Internet
.pro Tên miền mức đỉnh dành cho các tổ chức cá nhân chuyên gia Vd:
Bác sĩ, luật gia…
DNS có vai trò sử dụng một tên miền đầy đủ (FQDN) để ánh xạ một máy chủ sang
1 địa chỉ IP tương ứng. Một FQDN miêu tả chính xác mối liên hệ giữa một máy và
máy chủ miền DNS của nó.Ví dụ máy computer1.sales.microsoft.com thể hiện 1 tên
máy computer1 tại miền sales trong miền mức thứ 2 của microsoft và trong miền
mức đỉnh .com.
2. Cài đặt máy chủ DNS trên nền máy chủ Windows Server 2003,
Linux và các phân vùng của nó.
2.1 Cài đặt DNS trên Windows Server 2003.
Khi tiến hành cài đặt DNS ta nên sử dụng các địa chỉ IP tĩnh vì nếu dùng địa
chỉ của các máy có địa chỉ IP động do các máy DHCP cấp thì có khả năng IP
của DNS sẽ thay đổi. Khi đó các truy vấn được gửi đến bởi máy khách DNS mà
cấu hình với các IP cũ sẽ không thành công. Windows Server 2003 cung cấp
một số trình hướng dẫn để cài đặt DNS nhanh chóng và dễ dàng.
4
Đơn giản nhất cho công việc cài đặt máy chủ có DNS là cài đặt ngay từ đầu nếu
bạn cài nó cho một Windows Server 2003 bắt đầu được thăng cấp trở thành máy
chủ quản trị miền (Domain controler). Khi đó máy chủ Windows Server 2003 sẽ
yêu cầu được cài đặt cùng với máy chủ DNS, ta chỉ cần “Next”.
Các từ khóa Miêu tả
Nameserver Địa chỉ Ip của DNS server sẽ gửi truy vấn đến để lấy
thông tin domain
Domain name Xác định domain mặc định của client
Cài đặt DNS cho Server:
6
Lấy chương trình từ www.isc.org cho server
Cd/usr/src
Mkdir bind-9.xx
Cd bind-9.xx
Lấy và cài đặt DNS về bind-9xx-src.tar.gz
Gunzip bind-9.xx-src.tar.gz
Tar xf bind-9.xx-src.tar
Rm bind-9.xx-src.tar
Cd src
Make clean
Make depend
Make intall
Kết thúc ta đã cài xong named cho DNS và các Zone file sẽ được chứa trong
/var/named còn các file cấu hình trong /usc/local/etc vậy ta chỉ cần tạo và đặt file
cấu hình và Zone file vào các thư mục đó và chạy. Do cấu hình và làm việc trên
Linux phức tạp nên các phần sau ta chỉ xét hoạt động của DNS trên nền Windows
Server 2003
2.3. Các vùng DNS.
Với mục đích quản trị, các miền của DNS được tổ chức thành các vùng. Một vùng
là 1 tập các ánh xạ tên máy tính – địa chỉ IP cho các máy trong một vùng tiếp giáp
nhau trong không gian tên DNS. Một vùng có thể chứa các tài nguyên bản ghi cho 1
hay nhiều miền khác nhau. Nhưng một vùng có thể chứa hơn 1 miền khi các miền
tiếp giáp nhau. Điều này nghĩa là chúng phải có quan hệ cha con trực tiếp với nhau.
Hơn nữa, việc chia ra không gian tên miền thành các vùng con còn có tác dụng để
tốc độ thấp. Phân vùng thứ cấp chỉ có thể đọc được các bản ghi trên DNS
chính. Việc làm của các máy chủ thứ cấp thuần túy chỉ là sao chép các phân
vùng của máy chủ chính. Khi tạo các máy chủ này bạn cần hướng IP của nó
đến máy chủ chính.
Các vùng cụt (Stub Zone) kiểu cùng hỗ trợ cho Windows Server 2003 nó chỉ
chứa các tài nguyên bản ghi căn bản đủ để nhận biết các máy chủ DNS được
ủy quyền cho vùng đó. Các vùng cụt cho phép thực hiện truy vấn một cách
đệ quy bằng cách sử dụng danh sách của các máy chủ tên có trong vùng mà
không cần truy vấn Internet, hoặc máy chủ gốc nội bộ để tìm thông tin không
gian tên DNS
8
Hình I.2.4 lựa chọn một vùng phù hợp cho máy chủ DNS
Các vùng tích hợp của AD(Active Directory): đây là một phương pháp độc quyền
của Microsoft giúp người sử dụng dễ dàng quản trị, bảo mật, đồng bộ thông tin. Các
vùng được lưu trong AD có lợi điểm sau:
Khả năng chống lỗi cao: do thông tin được lưu trong nhiều máy chủ
Bảo mật: Có khả năng tăng cường bảo mật bằng danh sách điều khiển
truy cập(discretionary access control list - DACL). DACL cho phép
chỉ định người dùng nhóm nào có khả năng chỉnh sửa DNS Zone.
Các vùng đa chủ: Ở nhiều nơi có thể chỉnh sửa,cập nhật các vùng.
Các thay đổi đó sẽ được đồng bộ hóa với các máy chủ quản trị có
chứa file của vùng.
Đồng bộ hóa hiệu quả: Việc chuyển giao vùng có thể được thay thế
hiệu quả hơn bằng việc đồng bộ trong AD. Điều này có hiệu quả đặc
biệt quan trọng khi mạng của bạn có tốc độ đường truyền chậm vì các
dữ liệu được nén tự động trong khi truyền, do vậy nó hoàn toàn có thể
sử dung để trao đổi giữa các site.
Các vùng thứ cấp: Các vùng lưu trong AD có thể được chuyển giao
qua các vùng thứ cấp chuẩn để tạo ra các vùng thứ cấp giống cách ta
vẫn đóng gói file được chuyển giao.
giá trị trong website DNS cần thiết trong nội bộ nhưng việc tạo các vùng
miền riêng là không yêu cầu.
3. Các loại bản ghi tài nguyên DNS.
Một bản ghi tài nguyên là thông tin liên quan đến một miền DNS ví dụ: bản ghi xác
định địa chỉ IP của 1 máy trạm. Bản ghi tài nguyên được thể hiện dạng nhị phân khi
các truy vấn và phản hồi tạo ra trong DNS. Tuy nhiên trong các file của DNS các
bản ghi này lại được thể hiện theo dạng văn bản. Hầu hết các bản ghi đều thể hiện ở
dạng văn bản đơn. Để tiện theo dõi, các dòng trống và chú giải thường được thêm
vào trong file của vùng và được DNS bỏ qua. Chú thích được bắt đầu bằng “ ; ” kết
thúc bằng xuống dòng.
Các bản ghi tài nguyên có cú pháp tiêu chuẩn như sau:
Owner [TTL] Class Type RDATA
Tác dụng của từng trường trong bản ghi tài nguyên của máy DNS được liệt kê bằng
bảng sau
Bảng I.3.1: các trường trong bản ghi tài nguyên tiêu chuẩn
Tên trường Mô tả tác dụng
10
Owner Nhận diện các máy DNS mà các bản ghi tài nguyên này là sở hữu
của nó
TTL(thời gian
sống)
Là thời gian tồn tại tối đa của một máy chủ đệm hay máy trạm có
thể lưu bản ghi này. Ta có thể tùy chọn cho nó bằng một số nguyên
độ dài tối đa 32 bit (thời gian theo giây)
Class Định nghĩa các giao thức quen thuộc được sử dụng. VD: IN là
internet
Type Nhận diện các loại bản ghi tài nguyên VD bản ghi SOA, bản ghi
A…
Rdata Chứa Rdata. Là một trường có độ dài biến đổi, nó thể hiện các
thông tin sẽ mô tả bởi bản ghi tài nguyên VD: dữ liệu của bản ghi
trong vùng
MX Tên chủ sở hữu và tên máy
chủ trao đổi thư, số thứ tự ưu
tiên
Tên quy
chuẩn
IN Bằng TTL SOA
trong vùng
CNAME Tên bí danh của chủ sở hữu,
tên DNS máy
Để tạo ra 1 bản ghi bất kì trong các bản ghi thuộc loại trên ta có thể thao tác băng
cách vào thanh Tab Action trong cửa sổ DNS hoặc chọn chuột phải vào tên Domain
rồi chọn “New….”
11
Hình I.3.2 cách tạo một bản ghi mới
Bản ghi tài nguyên khởi tạo ủy quyền(Start of Authority-SOA): ở mỗi vùng đều
chứa một bản ghi tài nguyên SOA ở phần đầu file của vùng. Nó chứa toàn bộ thông
tin cụ thể của vùng để máy chủ DNS sử dụng để duy trì và quản lý. Đây là bản ghi
đầu tiên mặc định tạo ra khi ta tạo 1 vùng mới. Hình I.3.3 mô tả chi tiết thông tin
được hiển thị và sử dụng của bản ghi tài nguyên SOA
Serial Number: số này xác định số bản ghi xóa hoặc thêm. Nó sẽ tự
tăng sau mỗi lần thay đổi( thêm hoặc xóa).
Primary Server: trường này cho phép xác định máy chủ server chính.
Responsible: cho biết người quản lý chính miền.
Fresh interval: chu kì các máy chủ thứ cấp cập nhật làm mới thông tin
từ server chính.
Retry interval: thời gian mà máy chủ thứ câp sẽ cố đợi tìm máy chủ
chính trước khi gửi 1 yêu cầu khác
Expire after: thời gian bằng giây mà máy chủ thứ cấp của vùng tiếp
tục phản hồi các truy vấn về vùng trước khi loại bỏ 1 vùng vì không
Ngoài ra Windows Server 2003 còn cung cấp cho ta một số loại bản ghi khác như
bản ghi AAAA, AFSDB, HINFO, ISDN ….đây còn được gọi là các bản ghi không
định nghĩa.
4. Quá trình truy vấn và chuyển giao giữa các vùng
Khi một khách hàng DNS cần tra cứu tên để có địa chỉ IP tương ứng, nó hình thành
trên một truy vấn DNS chứa các thông tin sau đây:
Tên miền DNS dước dạng một FQDN.
Kiểu truy vấn – chỉ định bản ghi tài nguyên sẽ được trả lại (A, SRV , …vv..)
Phân lớp tên miền DNS , đó là IN nếu như muốn trỏ ra Internet
Đầu tiên, truy vấn sẽ được chuyển đến dịch vụ phân giải tên DNS nội bộ trên máy
khách để phân giải tên. Nếu như truy vấn này không được phân giải trong nội bộ,
nó sẽ được gửi đến máy chủ DNS chính.
Nếu như truy vấn không khớp với bất cứ mục nào trong bộ đệm dự trữ, quá trình
phân giải sẽ tiếp tục với việc máy khách sẽ truy vấn một máy chủ DNS để phân giải
tên này. Các truy vấn từ máy khách hoặc máy chủ có thể thực hiện dưới hai định
dạng: Lặp lại và đệ qui.
Hình I.4.1: quá trình truy vấn lặp.
14
4.1 Các truy vấn lặp
Một truy vấn lặp là một truy vấn DNS gửi đến một máy chủ DNS trong đó máy
khách thực hiện truy vấn sẽ yêu cầu máy chủ đưa về một câu trả lời tốt nhất mà nó
có thể cung cấp, bằng cách sử dụng thông tin của nó mà không tìm kiếm sự trợ giúp
nào từ các máy chủ DNS khác. Ví dụ trong hình I.4.1, một máy trạm truy vấn máy
chủ DNS chính, máy chủ này sẽ kiểm tra các bản ghi của nó và hướng máy khách
hàng đến mọt máy chủ A. Máy chủ A sẽ kiểm tra bộ nhớ đệm tên nó, không tìm
thấy câu trả lời và gửi lại một tham chiếu thay thế đến máy chủ B. Máy khách sẽ
nhận được phản hồi và gửi một truy vấn đến máy chủ B, máy chủ này sẽ gửi trả lại
một tham chiếu đến máy chủ C. Máy khách tiếp tục truy vấn máy chủ C và nhận
được một phản hồi khác .
Như thể hiện trên hinh I.4.1 máy khách truy vấn sẽ có trách nhiệm thực hiện những
4.2 Các truy vấn đệ qui
Một truy vấn đệ qui là một truy vấn DNS gửi đến một máy chủ DNS trong đó máy
khách truy vấn sẽ yêu cầu máy chủ DNS cung cấp một câu trả lời cuối cùng cho
truy vấn đó, điều này có nghĩa là máy chủ DNS thậm chí phỉa liên hệ với các máy
chủ khác để có thể cung cấp câu trả lời. Khi gửi đi một truy vấn đệ qui, máy chủ
DNS sẽ truy vấn lặp các máy chủ khác để có thể có được câu trả lời. Trong hình
I.4.2, máy khách sẽ truy vấn chỉ đưa ra một truy vấn trước khi nhận được thông tin
mà nó yêu cầu.
16
Hình I.4.2quá trình truy vấn Đệ quy
Để tập trung mức tải và giảm lưu lượng mạng, các máy khách thông thường sẽ gửi
các truy vấn đệ qui đến các máy chủ DNS. Một mạng với 1000 máy khách gửi các
truy vấn lặp đến các máy chủ DNS sẽ không hiệu quả bằng việc tập trung các truy
vấn vào một máy chủ trung tâm nào đó. Việc tập trung các truy vấn có nghĩa là mỗi
máy khách sẽ gửi đi một truy vấn đệ qui hơn là mỗi máy khách sẽ gửi đi nhiều truy
vấn lặp. Các máy chủ DNS thông thường sẽ đưa ra các truy vấn lặp đến các máy
chủ DNS khác nếu chúng không thể đưa ra câu trả lời cho truy vấn đệ qui từ thông
tin có trong bộ nhớ đệm của nó. Bằng cách sử dụng các truy vấn đệ qui, mức tải của
việc phân giải tên DNS có thể được tập trung vào một số máy chủ và do đó hệ
thống có thể hoạt động hiệu quả hơn. Hình 3-9 thể hiện một máy khách gửi một
truy vấn đệ qui và nhận được câu trả lời cuối cùng. Qúa trình đó như sau:
1. Bước đầu tiên của quá trình truy vấn là chuyển đổi một yêu cầu tên sang một
truy vấn và sau đó chuyển nó tới dịc vụ DNS client để phân giải tên sử dụng
các thông tin bộ đệm dự trữ nội bộ. Nếu như có thể trả lời được truy vấn này
bằng bộ đệm dự trữ, quá trình sẽ kết thúc. Nếu không, truy vấn này sẽ được
chuyển đến máy chủ DNS nội bộ.
2. Máy chủ tên nội bộ kiểm tra xem liệu nó có được ủy quyền cho miền đó
không. Trong ví dụ này, nó không được ủy quyền nhưng nó lại chứa các root
hint. Máy chủ tên nội bộ sử dụng các root hint dể bắt đầu tìm kiếm máy chủ
tên mà được ủy quyền cho miền sales.contoso.com. Nó sau đó sẽ được truy