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.
35 trang |
Chia sẻ: Mr Hưng | Lượt xem: 863 | Lượt tải: 0
Bạn đang xem trước 20 trang nội dung tài liệu Domain name system, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
DOMAIN NAME SYSTEM
Âu Bửu Long – Lê Minh Triết
Phiên bản 2014
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 ñaàu do quy moâ maïng ARPAnet coøn nhoû (vaøi traêm maùy),
neân chæ coù moät taäp tin HOSTS.TXT löu thoâng tin veà aùnh xaï
teân maùy thaønh ñòa chæ IP.
• Tuy nhieân khi quy moâ maïng lôùn, vieäc söû duïng file
HOSTS.TXT coù caùc nhöôïc ñiểm:
Löu löôïng maïng vaø maùy chuû duy trì file HOSTS.TXT bò
quaù taûi do hieäu öùng “coå chai”.
Xung ñoät teân: Khoâng theå coù 2 maùy tính coù cuøng teân trong
file HOSTS.TXT
Khoâng ñaûm baûo söï toaøn veïn: vieäc duy trì 1 file treân
maïng lôùn raát khoù khaên.
Löu yù: Treân maùy Linux taäp tin coù teân laø hosts naèm trong /etc
• Dòch vuï DNS (Domain Name Service) nhaèm khaéc
phuïc caùc nhöôïc ñieåm treân.
- DNS laø 1 CSDL phaân taùn.
- DNS hoaït ñoäng theo moâ hình Client-Server:
+ Server (Name Server): laø maùy chuû phuïc vuï teân.
+ Client (Resolver): laø trình phaân giaûi teân.
- DNS ñöôïc thi haønh nhö moät giao thöùc taàng
Application trong moâ hình TCP/IP.
- DNS phaân boå theo cô cheá phaân caáp töông töï nhö
söï phaân caáp cuûa heä thoáng taäp tin Unix/Linux.
1. 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.
1. DNS LÀ GÌ? (tt)
Ñòa chæ teân mieàn (domain name) toång quaùt:
host.subdomain.domain
+ host: teân maùy.
+ subdomain: teân mieàn phuï.
+ domain (top-level-domain): teân mieàn chính.
Moät soá top-level-domain thoâng duïng:
.com : Caùc toå chöùc, coâng ty thöông maïi.
.org : Caùc toå chöùc phi lôïi nhuaän.
.net : Caùc trung taâm hoã trôï veà maïng.
.edu : Caùc toå chöùc giaùo duïng.
.gov : Caùc toå chöùc thuoäc chính phuû.
. . .
Ngoaøi ra moãi nöôùc coù moät top-level-domain rieâng goàm 2 kyù töï.
VD: .vn :Vieät Nam, .us :Myõ, .ca :Canada, .kr : Haøn Quoác, . . .
1. DNS LÀ GÌ? (tt)
Caùch phaân boå döõ lieäu quaûn lyù domain name:
• Nhöõng root name server (.) quaûn lyù nhöõng top-level
domain treân Internet. Teân maùy vaø ñòa chæ IP cuûa
nhöõng name server naøy ñöôïc coâng boá cho moïi
ngöôøi bieát.
1. DNS LÀ GÌ? (tt)
Söï khaùc nhau giöõa Zone vaø Domain:
+ Zone: bao goàm moät domain hay nhieàu subdomain.
+ Domain: goàm nhieàu subdomain vaø zone.
1. DNS LÀ GÌ? (tt)
• Phaân giaûi teân thaønh IP.
Vai troø cuûa Root name server: laø maùy chuû quaûn lyù
caùc name server ôû möùc top-level domain.
Khi coù truy vaán veà moät teân mieàn naøo ñoù thì root
name server phaûi cung caáp teân vaø ñòa chæ IP cuûa
name server quaûn lyù top-level domain maø teân mieàn
naøy thuoäc vaøo.
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
2. CƠ CHẾ PHÂN GIẢI.
•Phaân giaûi IP thaønh teân.
AÙnh xaï ñòa chæ vaøo teân ñöôïc duøng ñeå dieãn dòch caùc
file log cho deã ñoïc hôn. Noù coøn duøng trong 1 soá
tröôøng hôïp chöùng thöïc treân heä thoáng UNIX.
Ñeå coù theå phaân giaûi teân maùy cuûa moätù ñòa chæ IP,
trong khoâng gian teân mieàn ngöôøi ta boå sung theâm
moät nhaùnh teân mieàn maø ñöôïc laäp chæ muïc theo ñòa
chæ IP. Phaàn khoâng gian naøy coù teân laø mieàn in-
addr.arpa.
Moãi nuùt trong mieàn in-addr.arpa coù nhaõn laø chæ soá
thaäp phaân cuûa ñòa chæ IP.
2. CƠ CHẾ PHÂN GIẢI.
3. CHỨNG NHẬN TÊN MIỀN.
Fully Qualified Domain Name (FQDN):
Moät teân mieàn ñaày ñuû cuûa 1 nuùt chính laø
chuoãi tuaàn töï caùc teân goïi cuûa nuùt hieän taïi ñi
ngöôïc leân nuùt goác, moãi teân goïi caùch ra bôûi
daáu chaám. Teân tuyeät ñoái cuõng ñöôïc xem laø
teân mieàn ñaày ñuû ñaõ ñöôïc chöùng nhaän
(fully qualified domain name) FQDN
Overview of the DNS Namespace
Root Domain
Subdomain
Second-Level Domain
Top-Level Domain
FQDN:
SERVER1.sales.south.nwtraders.com
south
nwtraders
com
sales
west east
orgnet
Host: SERVER1
4. PHÂN LOẠI DOMAIN NAME SERVER
1. Primary Name Server: Moãi mieàn phaûi coù 1 Primary Name Server.
Ngöôøi quaûn trò seõ toå chöùc nhöõng taäp tin CSDL treân Primary Name
Server. Server naøy phaân giaûi taát cả caùc maùy trong mieàn hay zone.
2. Secondary Name Server: Secondary (hay slave) Name Server ñöôïc söû
duïng ñeå backup cho Primary Name Server. Coù theå coù moät hay nhieàu
Secondary Name Server. Theo moät chu kyø, Secondary seõ copy nhöõng file
CSDL töø Primary Name Server.
3. Caching Name Server: Caching Name Server khoâng coù baát kyø file CSDL
naøo. Noù ñöôïc söû duïng ñeå phaân giaûi teân maùy treân nhöõng maïng ôû xa
thoâng qua nhöõng Name Server khaùc.
Laøm taêng toác ñoä phaân giaûi baèng caùch söû duïng cache.
Giaûm bôùt gaùnh naëng phaân giaûi teân maùy cho name server.
Giaûm vieäc löu thoâng treân nhöõng maïng lôùn.
5. DELEGATION VÀ HOSTING DOMAIN.
+ Söï uyû quyeàn (Delegation domain):
Thoâng thöôøng mieàn cha cung caáp caùc domain cho
mieàn con döôùi hình thöùc uyû quyeàn cho mieàn con
töï quaûn lyù vaø toå chöùc CSDL cho mieàn con.
+ Hosting domain:
Mieàn cha taïo hosting domain cho mieàn con. Mieàn
cha töï toå chöùc vaø quaûn lyù CSDL cho mieàn con.
6. RESOURCE RECORD.
1. SOA (Start of Authority)
Trong moãi zone file phaûi coù moät vaø chæ moät record
SOA (start of authority). Record SOA chæ ra raèng maùy
chuû name server laø nôi cung caáp thoâng tin tin caäy töø
döõ lieäu coù trong zone.
Cuù phaùp:
[teân-mieàn] IN SOA [teân-server-dns] [ñòa chæ email] (
serial number;
refresh number;
retry number;
experi number;
time-to-live number; )
a) 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ờ.
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ờ
6. 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
6. RESOURCE RECORD (tt).
2. NS (Name Server)
Record tieáp theo caàn coù trong zone laø NS (name
server) record. Moãi name server cho zone seõ coù moät
NS record.
Cuù phaùp:
[teân-domain] IN NS [maùy-DNS-Server]
Ví dụ :
movie.edu. IN NS terminator.movie.edu.
movie.edu. IN NS wormhole.movie.edu.
Chæ ra 2 name servers cho zone movie.edu.
6. RESOURCE RECORD (tt).
3. A (Address)
Record A (Address) aùnh xaï teân vaøo ñòa chæ.
Cuù phaùp:
[teân maùy] IN A [ñòa chæ IP]
Ví dụ :
terminator.movie.edu. IN A 192.168.11.100
4. CNAME (Canonical Name )
Record CNAME (canonical name) taïo teân bí danh alias troû
vaøo moät teân canonical. Teân canonical laø teân host trong
record A hoaëc laïi troû vaøo 1 teân canonical khaùc.
Cuù phaùp:
[teân maùy alias] IN CNAME [teân maùy goác]
Ví dụ :
server.movie.edu. IN CNAME terminator.movie.edu.
6. RESOURCE RECORD (tt).
5. MX (Mail Exchanger)
DNS duøng record MX ñeå thöïc vieäc chuyeån mail treân maïng
Internet.
Cú pháp:
[teân-domain] IN MX [ñoä öu tieân] [teân mail server]
Ví dụ : t3h.com IN MX 0 mail.t3h.com.
6. PTR (Pointer)
Record PTR (pointer) duøng ñeå aùnh xaï ñòa chæ vaøo teân.
Cú pháp:
[ñòa chæ IP] IN PTR [teân maùy]
Ví dụ : 1.11.29.172.in-addr.arpa IN PTR server.t3h.com.
hoặc 1 IN PTR server.t3h.com.
6. RESOURCE RECORD (tt).
7. HOẠT ĐỘNG CỦA NAME SERVER
TRONG LINUX.
• Chöông trình server cuûa DNS name server laø moät chöông
trình Daemon (named).
• Trong quaù trình khôûi ñoäng named ñoïc caùc taäp tin döõ lieäu roài
chôø caùc yeâu caàu phaân giaûi qua coång xaùc ñònh trong taäp tin
/etc/services. Named duøng giao thöùc TCP.
• Moät truy vaán client-to-server: port nguoàn >1023, port ñích
53.
• Moät traû lôøi server-to-client: port nguoàn 53, port ñích > 1023.
• Moät truy vaán vaø traû lôøi server-to-server: vôùi giao thöùc UDP
port nguoàn vaø ñích ñeàu laø 53, vôùi TCP truy vaán cuûa server seõ
söû duïng port > 1023.
8. 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
B2: Bung gói tarball và thực hiện việc cài.
• Code:
tar –zxf bind-9.8.0.tar.gz && mkdir /dns
cd bind-9.8.0
./configure --prefix=/dns && make && make install
B3: 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.
};
zone “triet.com” {
type master;
allow-query { any; };
file “triet.com.zone”;
allow-update { none; } ;
};
zone “70.161.113.in-addr.arpa” { # địa chỉ máy cài DNS – máy mình
type master;
allow-query { any; };
file “70.161.113.zone”;
allow-update { none; } ;
};
+ Dịch vụ BIND listen connection trên port 53
từ tất cả địa chỉ (any)
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.
9. 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
• Code: vi /var/named/triet.com.zone
$TTL 7D
@ IN SOA ns1.triet.com. root.triet.com. (
2011031101 ; serial#
3600 ; refresh, seconds
3600 ; retry, seconds
3600 ; expire, seconds
3600 ) ; minimum, seconds
triet.com. NS ns1.triet.com.
triet.com. MX 10 mail.triet.com.
@ A 172.16.83.38
ns1 A 172.16.83.38
mail A 172.16.83.38
www A 172.16.83.38
9. 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 ),
• Code: vi /var/named/70.161.113.zone
; Zone file for 113.161.70.x
$TTL 7D
@ IN SOA ns1.triet.com. root.triet.com. (
2011031101 ; serial number
3600 ; refresh, seconds
3600 ; retry, seconds
3600 ; expire, seconds
3600 ) ; minimum, seconds
NS ns1
38 PTR ns1.triet.com.
38 PTR www
10. CẤU HÌNH.
Caùc böôùc caáu hình Name Server:
1. Ñaêng kyù moät domain name (/etc/resolv.conf).
2. Taïo moät danh saùch nhöõng teân vaø ñòa chæ IP töông öùng.
3. Taïo taäp tin /etc/named.conf, tuyø theo loaïi Name server caàn caáu hình.
4. Taïo nhöõng taäp tin cô sôû döõ lieäu cho zone (/var/named).
+ Taäp tin CSDL phaân giaûi thuaän.
+ Taäp tin CSDL phaân giaûi ngöôïc.
5. Khôûi ñoäng laïi named
#/etc/init.d/named restart
6. Caáu hình DNS Client ñeå kieåm tra nhöõng Name Server ñaõ caáu hình baèng
coâng cuï nslookup. Ñaët caáu hình trong taäp tin: /etc/resolv.conf
CẤ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;};
};
Zone: Định nghĩa một zone để quản lý CSDL cho miền hay miền con.
zone “tên_miền" {
type master/slave/hint/stub;
masters {Đ/c IP của Primary Name server;};
file “tên_file_CSDL";
};
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.
CẤU HÌNH (tt).
•CẤU HÌNH PRIMARY NAME SERVER:
Tạo tập tin /etc/named.conf
Theâm vaøo 2 zone: Ví dụ :
zone “domain_name" {
type master;
file "named.hosts";
};
zone “domain ngược" {
type master;
file "named.rev";
};
zone “net.com" {
type master;
file “zone.thuan";
};
zone “11.168.192.in-addr.arpa" {
type master;
file “zone.nghich";
};
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.
};
zone “triet.com” {
type master;
allow-query { any; };
file “triet.com.zone”;
allow-update { none; } ;
};
zone “70.161.113.in-addr.arpa” { # địa chỉ máy cài DNS – máy mình
type master;
allow-query { any; };
file “70.161.113.zone”;
allow-update { none; } ;
};
+ Dịch vụ BIND listen connection trên port 53
từ tất cả địa chỉ (any)
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.
CẤU HÌNH (tt).
Ví dụ : Taäp tin /etc/named.conf
11. BẢO MẬT DNS SERVER.
1. Notify :
Giữa DNS Slave và Master có cơ chế tự động cập nhật khi có sự thay đổi dữ
liệu trong zone file, dựa trên thông số refresh (thời gian làm tươi)
Tuy nhiên có thể mô tả tham số “notify” để khi máy Master thay đổi dữ liệu
zone,có thể thông báo ngay cho các slave biết để cập nhật theo.
Có 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;};
BẢO MẬT DNS SERVER(tt).
Ví dụ :
zone “net.com” {
type master;
file "named2.hosts";
notify yes;
also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;}
allow-update{none;};
};
zone “12.168.192.in-addr.arpa" {
type master;
file "named2.rev";
notify yes;
allow-update{none;};
};
BẢ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;};
Ví dụ :
zone “net.com" {
type master;
file "named2.hosts";
notify yes;
also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;};
allow-transfer {192.168.11.1; 192.168.11.4; 192.168.10.1;};
};
BẢ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;};
Ví dụ :
zone “net.com" {
type master;
file "named2.hosts";
notify yes;
also-notify {192.168.11.1; 192.168.11.4; 192.168.10.1;};
allow-transfer {192.168.11.1; 192.168.11.4; 192.168.10.1;};
allow-query {192.168.11/24};
};
12. KIỂM TRA CẤU HÌNH.
#nslookup –sil
Các file đính kèm theo tài liệu này:
- bai_dns_2014_9825.pdf