DNS LÀ GÌ?nên chỉ có một tập tin HOSTS.TXT lưu thông tin về ánh xạ tên máy thành địa chỉ IP.. Tên máy và địa chỉ IP củanhững name server này được công bố cho mọingười biết... • Phân giải
Trang 1DOMAIN NAME SYSTEM
Âu Bửu Long – Lê Minh Triết
Phiên bản 2014
Trang 2Nộ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.
Trang 31 DNS LÀ GÌ?
nên chỉ có một tập tin HOSTS.TXT lưu thông tin về ánh xạ tên máy thành địa chỉ IP.
HOSTS.TXT có các nhược điểm:
quá tải do hiệu ứng “cổ chai”.
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
Trang 4• Dịch vụ DNS (Domain Name Service) nhằm khắcphụ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): là máy chủ phục vụ tên
+ Client (Resolver): là trình phân giải tên
- DNS được thi hành như một giao thức tầngApplication 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
1 DNS LÀ GÌ? (tt)
Trang 5• 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ềusâu của cây tối đa là 127 cấp Tên trên mỗi nút tối đa
Trang 6Đị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,
1 DNS LÀ GÌ? (tt)
Trang 7Cách phân bổ dữ liệu quản lý domain name:
• Những root name server (.) quản lý những top-leveldomain trên Internet Tên máy và địa chỉ IP củanhững name server này được công bố cho mọingười biết
1 DNS LÀ GÌ? (tt)
Trang 8Sự khác nhau giữa Zone và Domain:
+ Zone: bao gồm một domain hay nhiều subdomain.+ Domain: gồm nhiều subdomain và zone
1 DNS LÀ GÌ? (tt)
Trang 9• 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ì rootname server phải cung cấp tên và địa chỉ IP củaname server quản lý top-level domain mà tên miềnnày thuộc vào
2 CƠ CHẾ PHÂN GIẢI.
Trang 10Có hai loại truy vấn:
+ Truy vấn đệ quy (recursive query) + Truy vấn tương tác
2 CƠ CHẾ PHÂN GIẢI.
Trang 11• 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ácfile 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êmmột nhánh tên miền mà được lập chỉ mục theo địachỉ 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
2 CƠ CHẾ PHÂN GIẢI.
Trang 123 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
Trang 13Overview of the DNS Namespace
sales
org net
Host: SERVER1
Trang 144 PHÂN LOẠI DOMAIN NAME SERVER
1 Primary Name Server: Mỗi miền phải có 1 Primary Name Server Người quản trị sẽ tổ chức những tập tin CSDL trên Primary Name Server Server này 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.
Trang 155 DELEGATION VÀ HOSTING DOMAIN.
+ Sự uỷ quyền (Delegation domain):
Thông thường miền cha cung cấp các domain chomiền con dưới hình thức uỷ quyền cho miền contự 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ềncha tự tổ chức và quản lý CSDL cho miền con
Trang 166 RESOURCE RECORD.
1 SOA (Start of Authority)
Trong mỗi zone file phải có một và chỉ một recordSOA (start of authority) Record SOA chỉ ra rằng máychủ name server là nơi cung cấp thông tin tin cậy từdữ liệu có trong zone
Trang 17a) serial number: Khi 1 slave name server kết nối với master server
để lấy dữ liệu, trước tiên nó sẽ kiểm tra số serial, nếu số serial của master lớn hơn tức là dữ liệu đã hết hạn sử dụng và nó sẽ load lại
dữ liệu mới Vì vậy khi ta cập nhật dữ liệu trên name server ta nên tăng số serial Thông thường ta định dạng theo thời gian như sau:
YYYYMMDDNN
Ví dụ: 2004122901
b) refresh number: Khoảng Thời gian (giây) mà slave biết phải kiểm tra lại dữ liệu có còn sử dụng được không.
Ví dụ: 10800 ; Refresh sau 3 giờ.
server sau một khoảng thời gian refresh thì nó sẽ cố gắng kết nối lại sau retry giây Giá trị này nhỏ hơn giá trị refresh.
Ví dụ: 3600 ; Retry sau 1 giờ
6 RESOURCE RECORD (tt).
Trang 18d) experi number: Nếu slave không thể kết nối với master server sau khoảng thời gian expire (giây) này, thì slave sẽ không trả lời cho vùng dữ liệu đó khi được truy vấn, vì nó cho rằng dữ liệu này đã quá củ Giá trị này phải lớn hơn giá trị refresh và retry.
Ví dụ: 604800 ; Expire sau 1 tuần.
e) time-to-live number: Time To Live, giá trị này được dùng cho tất cả các resource record trong file cơ sở dữ liệu Giá trị này cho phép những server khác cache lại dữ liệu trong
1 khoảng thời gian xác định TTL.
Ví dụ : 86400 ; TTL là 1 ngày
6 RESOURCE RECORD (tt).
Trang 204 CNAME (Canonical Name )
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 lại trỏ vào 1 tên canonical khác.
Trang 227 HOẠT ĐỘNG CỦA NAME SERVER
TRONG LINUX.
chờ các yêu cầu phân giải qua cổng xác định trong tập tin
/etc/services Named dùng giao thức TCP.
53.
port nguồn và đích đều là 53, với TCP truy vấn của server sẽ sử dụng port > 1023.
Trang 238 CÀI ĐẶT
BIND (Berkeley Internet Name Domain)
B1: Download gói BIND (Berkeley Internet Name Domain) source từ trang isc.org
• Code:
cd ~ && wget http://ftp.isc.org/isc/bind9/9.8.0/bind-9.8.0.tar.gz
B2: Bung gói tarball và thực hiện việc cài.
Trang 24B3: Thực hiện cấu hình file named.conf
(file khai báo thông số và zone cho BIND)
• Code: vi /dns/etc/named.conf
options {
listen-on port 53 { any; };
directory “/dns/var/named”; # đường dẫn vô thư mục /named chứa file zone
forwarders { địa chỉ máy cần hỏi }; # thêm lệnh này khi cài mail
Thư mục chứa các zone files sẽ là /var/named/
+ Khai báo zone triet.com, loại là master (primary) cho phép mọi địa chỉ query domain này, thông tin zone được lưu trong file
triet.com.zone (/var/named/triet.com.zone)
+ Khai báo reverse lookup zone (IP sang tên) trong file /var/named/70.161.113.zone.
Trang 259 CÁC TẬP TIN CSDL CHO ZONE.
• Cấu hình file triet.com.zone (Tập tin CSDL phân giải thuận), khai báo các DNS record cho domain này.
• Tạo thư mục named trong thư mục /var
Trang 269 CÁC TẬP TIN CSDL CHO ZONE.
• Cấu hình reverse lookup zone (Tập tin CSDL phân giải nghịch ),
Trang 2710 CẤU HÌNH.
Các bước cấu hình Name Server:
1 Đăng ký một domain name ( /etc/resolv.conf ).
2 Tạo một danh sách những tên và địa chỉ IP tương ứng.
3 Tạo tập tin /etc/named.conf , tuỳ theo loại Name server cần cấu hình.
4 Tạo những tập tin cơ sở dữ liệu cho zone ( /var/named ).
+ Tập tin CSDL phân giải thuận.
+ Tập tin CSDL phân giải ngược.
5 Khởi động lại named
#/etc/init.d/named restart
6 Cấu hình DNS Client để kiểm tra những Name Server đã cấu hình bằng công cụ nslookup Đặt cấu hình trong tập tin: /etc/resolv.conf
Trang 28CẤU HÌNH (tt).
• Tập tin cấu hình /etc/named.conf
Options : Định nghĩa những cấu hình toàn cục cho Bind
options {
directory “thư_mục_chứa_csdl"; mặc định là thư mục /var/named
forwarders {Địa_chỉ IP_name_server;};
Type: + master : server có bản copy chính csdl.
+ slave : lưu bản sao csdl từ master.
+ stub : tương tự như slave chỉ cho phép record NS từ Master + hint : zone chỉ ra những root name server.
Trang 29CẤU HÌNH (tt).
• CẤU HÌNH PRIMARY NAME SERVER:
Trang 30options {
listen-on port 53 { any; };
directory “/dns/var/named”; # đường dẫn vô thư mục /named chứa file zone
forwarders { địa chỉ máy cần hỏi }; # thêm lệnh này khi cài mail
Thư mục chứa các zone files sẽ là /var/named/
+ Khai báo zone triet.com, loại là master (primary) cho phép mọi địa chỉ query domain này, thông tin zone được lưu trong file
Trang 31Có hai khai báo notify cho một zone:
notify yes/no; //thông báo cho các name server liệt kê
bởi các record NS của zone này.
also-notify {danh sách các Slave name server cần
thông báo đến để cập nhật};
allow-update {danh sách IP update tự động lên name
server;};
Trang 33BẢO MẬT DNS SERVER(tt).
2 Allow-transfer :
Thông thường DNS cho phép copy các zone file giữa Master và Slave Name server Do DNS có thể chứa các thông tin nhạy cảm, nên chỉ cho phép một số máy có thể copy được zone file từ máy master.
Cú pháp của allow-transfer như sau:
allow-transfer {danh sách địa chỉ IP cho phép copy dữ liệu;};
Trang 34BẢO MẬT DNS SERVER(tt).
3 Allow-query :
Mặc định các dữ liệu DNS phổ biến công cộng cho mọi người có thể truy cập Tuy nhiên trong một số trường hợp có thể cần giới hạn việc truy cập dữ liệu DNS cho một số địa chỉ IP nào đó.
Cú pháp của allow-query như sau:
allow-query {danh sách địa chỉ IP cho phép truy cập dữ liệu;};
Trang 3512 KIỂM TRA CẤU HÌNH.
#nslookup –sil