DOMAIN NAME SYSTEM
Nội dung
1. DNS LÀ GÌ?
2. CƠ CHẾ PHÂN GIẢI.
3. CHỨNG NHẬN TÊN MIỀN.
4. PHÂN LOẠI DOMAIN NAME SERVER.
5. DELEGATION VÀ HOSTING DOMAIN.
6. RESOURCE RECORD.
7. HOẠT ĐỘNG CỦA NAME SERVER TRONG LINUX.
8. CÀI ĐẶT.
9. CÁC TẬP TIN CSDL CHO ZONE.
10. CẤU HÌNH.
11. BẢO MẬT DNS SERVER.
12. KIỂM TRA CẤU HÌNH.
1. DNS LÀ GÌ?
Ban đầu do quy mô mạng ARPAnet còn nhỏ chỉ vài trăm
máy, nên chỉ có một tập tin đơn HOSTS.TXT lưu thông tin về
ánh xạ tên máy thành đòa chỉ IP.
Tuy nhiên khi quy mô mạng lớn hơn, việc sử dụng file
HOSTS.TXT có các nhược đi m như sau:ể
Lưu lượng mạng và máy chủ duy trì file HOSTS.TXT bò
quá tải do hiệu ứng “cổ chai”.
Xung đột tên: Không thể có 2 máy tính có cùng tên trong
file HOSTS.TXT
Không đảm bảo sự toàn vẹn: việc duy trì 1 file trên mạng
lớn rất khó khăn.
Lưu ý: Trên máy Linux tập tin có tên là hosts nằm trong /etc
Do đó, đã ra đời dòch vụ DNS (Domain Name
Service) nhằm khắc phục các nhược điểm trên.
- DNS là 1 CSDL phân tán.
- DNS hoạt động theo mô hình Client-Server:
+ Server (Name Server): gọi là máy chủ phục vụ tên.
+ Client (Resolver): gọi là trình phân giải tên.
- DNS được thi hành như một giao thức tầng
Application trong mô hình TCP/IP.
-
DNS phân bổ theo cơ chế phân cấp tương tự như sự
phân cấp của hệ thống tập tin Unix/Linux.
Hình vẽ mơ tả tên domain trong CSDL DNS so sánh với đường dẫn tuyệt đối của thư
mục trong hệ thống file UNIX (trang 9).
DNS LÀ GÌ? (tt)
CSDL của DNS là một cây đảo ngược.
Mỗi nút trên cây cũng lại là gốc của 1 cây con.
Chiều sâu của cây tối đa là 127 cấp. Tên trên mỗi
nút tối đa 63 ký tự.
Mỗi cây con là một phân vùng con trong toàn bộ
CSDL DNS gọi là Domain.
Mỗi Domain có thể phân chia thành các phân
vùng con nhỏ hơn gọi là các miền con
Subdomian.
(Hình trang 10)
DNS LÀ GÌ? (tt)
Đòa chỉ tên miền (domain name) tổng quát:
host.subdomain.domain
+ host: tên máy.
+ subdomain: tên miền phụ.
+ domain (top-level-domain): tên miền chính.
Một số top-level-domain thông dụng:
.com : Các tổ chức, công ty thương mại.
.org : Các tổ chức phi lợi nhuận.
.net : Các trung tâm hỗ trợ về mạng.
.edu : Các tổ chức giáo dụng.
.gov : Các tổ chức thuộc chính phủ.
. . .
Ngoài ra mỗi nước có một top-level-domain riêng gồm 2 ký tự.
VD: .vn :Việt Nam, .us :Mỹ, .ca :Canada, .kr : Hàn Quốc, . . .
DNS LÀ GÌ? (tt)
Cách phân bổ dữ liệu quản lý domain name:
Những root name server (.) quản lý những
top-level domain trên Internet. Tên máy và
đòa chỉ IP của những name server này được
công bố cho mọi người biết.
DNS LÀ GÌ? (tt)
Sự khác nhau giữa Zone và Domain:
(hình trang 17)
+ Zone: bao gồm một domain hay nhiều subdomain.
+ Domain: gồm nhiều subdomain và zone.
DNS LÀ GÌ? (tt)
Phân giải tên thành IP.
Vai trò của Root name server: là máy chủ
quản lý các name server ở mức top-level
domain.
Khi có truy vấn về một tên miền nào đó thì root
name server phải cung cấp tên và đòa chỉ IP của
name server quản lý top-level domain mà tên miền
này thuộc vào.
Hình vẽ dưới mô tả quá trình phân giải girigiri.gbrmpa.gov.au trên mạng
Internet hình trang 13
2. CƠ CHẾ PHÂN GIẢI.
Coự hai loaùi truy vaỏn:
+ Truy vaỏn ủeọ quy (recursive query)
+ Truy vaỏn tửụng taực
C CH PHN GII (tt).
Phân giải IP thành tên.
Ánh xạ đòa chỉ vào tên được dùng để diễn dòch các
file log cho dễ đọc hơn. Nó còn dùng trong 1 số
trường hợp chứng thực trên hệ thống UNIX.
Để có thể phân giải tên máy của mộtù đòa chỉ IP,
trong không gian tên miền người ta bổ sung thêm
một nhánh tên miền mà được lập chỉ mục theo đòa
chỉ IP. Phần không gian này có tên là miền in-
addr.arpa.
Mỗi nút trong miền in-addr.arpa có nhãn là chỉ số
thập phân của đòa chỉ IP.
(Hình trang 15)
CƠ CHẾ PHÂN GIẢI (tt).
3. CHỨNG NHẬN TÊN MIỀN.
Fully Qualified Domain Name (FQDN):
Một tên miền đầy đủ của 1 nút chính là
chuỗi tuần tự các tên gọi của nút hiện tại đi
ngược lên nút gốc, mỗi tên gọi cách ra bởi
dấu chấm. Tên tuyệt đối cũng được xem là
tên miền đầy đủ đã được chứng nhận (fully
qualified domain name) FQDN
4. PHÂN LOẠI DOMAIN NAME SERVER
1. Primary Name Server: Mỗi miền phải có một Primary Name
Server. Người quản trò DNS sẽ tổ chức những tập tin CSDL trên
Primary Name Server. Server nà có nhiệm vụ phân giải tất cá các
máy trong miền hay zone.
2. Secondary Name Server: Secondary (hay slave) Name Server được
sử dụng để backup cho Primary Name Server. Có thể có một hay
nhiều Secondary Name Server. Theo một chu kỳ, Secondary sẽ
copy những file CSDL từ Primary Name Server.
3. Caching Name Server: Caching Name Server không có bất kỳ file
CSDL nào. Nó được sử dụng để phân giải tên máy trên những
mạng ở xa thông qua những Name Server khác.
Làm tăng tốc độ phân giải bằng cách sử dụng cache.
Giảm bớt gánh nặng phân giải tên máy cho name server.
Giảm việc lưu thông trên những mạng lớn.
5. DELEGATION VÀ HOSTING DOMAIN.
+ Sự uỷ quyền (Delegation domain):
•
Thông thường miền cha cung cấp các domain cho
miền con dưới hình thức uỷ quyền cho miền con tự
quản lý và tổ chức CSDL cho miền con.
+ Hosting domain:
Miền cha tạo hosting domain cho miền con. Miền
cha tự tổ chức và quản lý CSDL cho miền con.
6. RESOURCE RECORD.
1. SOA (Start of Authority)
Trong mỗi zone file 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:
[tên-miền] IN SOA [tên-server-dns] [đòa chỉ email] (
serial number;
refresh number;
retry number;
experi number;
time-to-live number; )
a) serial number: Khi một slave name server kết nối với master
server để lấy dữ liệu, trước tiên nó sẽ kiểm tra số serial, nếu
số serial của master lớn hơn tức là dữ liệu đã hết hạn sử
dụng và nó sẽ load lại dữ liệu mới. vì vậy khi ta cập nhật dữ
liệu trên name server ta nên tăng số serial. Thông thường ta
định dạng theo thời gian như sau:
YYYYMMDDNN
Ví dụ: 2004122901
b) refresh number: Khoảng Thời gian (giây) mà slave biết phải
kiểm tra lại dữ liệu có còn sử dụng được không.
Ví dụ: 10800 ; Refresh sau 3 giờ.
c) retry number: Nếu slave không thể kết nối với master name
server sau một khoảng thời gian refresh thì nó sẽ cố gắng
kết nối lại sau retry giây. Giá trị này nhỏ hơn giá trị refresh.
Ví dụ: 3600 ; Retry sau 1 giờ
RESOURCE RECORD (tt).
RESOURCE RECORD (tt).
d) experi number: Nếu slave không thể kết nối với
master server sau khoảng thời gian expire (giây) này,
thì slave sẽ không trả lời cho vùng dữ liệu đó khi
được truy vấn, vì nó cho rằng dữ liệu này đã quá củ.
Giá trị này phải lớn hơn giá trị refresh và retry.
Ví dụ: 604800 ; Expire sau 1 tuần.
e) time-to-live number: Time To Live, giá trị này được
dùng cho tất cả các resource record trong file cơ sở
dữ liệu. Giá trị này cho phép những server khác
cache lại dữ liệu trong 1 khoảng thời gian xác định
TTL.
Ví dụ : 86400 ; TTL là 1 ngày