Upload
thuyet-nguyen
View
7
Download
1
Embed Size (px)
Citation preview
2/26/2014
1
Dịch vụ tên miền - DNS
Nội dung
• Vai trò của DNS
• Hệ thống tên miền
• Các thành phần của hệ thống tên miền
• Cơ chế giải tên miền
• Các vấn đề về bảo mật
• Các loại server DNS
• Cài đặt và cấu hình DNS
DNS
• DNS là từ viết tắt trong tiếng Anh của Domain Name System, là Hệ thống tên miền được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền Nó chuyển tên miền có ý nghĩa cho con người vào số định danh (nhị phân), liên kết với các trang thiết bị mạng cho các mục đích định vị và địa chỉ hóa các thiết bị khắp thế giới Nó phục vụ như một “Danh bạ điện thoại” để tìm trên Internet bằng cách dịch tên máy chủ máy tính thành địa chỉ IP Ví dụ, www.example.com dịch thành 208.77.188.166.
DNS
• Hệ thống tên miền giúp cho nó có thể chỉ định tên miền cho các nhóm người sử dụng Internet trong một cách có ý nghĩa, độc lập với mỗi địa điểm của người sử dụng.
• Tên miền internet dễ nhớ hơn các địa chỉ IP như là 208.77.188.166 (IPv4)
hoặc 2001: db8: 1f70:: 999: de8: 7648:6 e8 (IPv6).
Chức năng của DNS
• Mỗi Website có một tên (là tên miền hay đường dẫn URL:Uniform Resource Locator) và một địa chỉ IP.
• Địa chỉ IP gồm 4 nhóm số cách nhau bằng dấu chấm(IPv4).
• Khi mở một trình duyệt Web và nhập tên website, trình duyệt sẽ đến thẳng website mà không cần phải thông qua việc nhập địa chỉ IP của trang web.
• Quá trình "dịch" tên miền thành địa chỉ IP để cho trình duyệt hiểu và truy cập được vào website là công việc của một DNS server
Cấu trúc gói tin DNS
• ID: Là một trường 16 bits, chứa mã nhận dạng, nó được tạo ra bởi một chương trình để thay cho truy vấn. Gói tin hồi đáp sẽ dựa vào mã nhận dạng này để hồi đáp lại. Chính vì vậy mà truy vấn và hồi đáp có thể phù hợp với nhau.
• QR: Là một trường 1 bit. Bít này sẽ được thiết lập là 0 nếu là gói tin truy vấn, được thiết lập là 1 nếu là gói tin hồi đáp.
• Opcode: Là một trường 4 bits, được thiết lập là 0 cho cờ hiệu truy vấn, được thiết lập là 1 cho truy vấn ngược, và được thiết lập là 2 cho tình trạng truy vấn.
• AA: Là trường 1 bit, nếu gói tin hồi đáp được thiết lập là 1, sau đó nó sẽ đi đến một server có thẫm quyền giải quyết truy vấn.
2/26/2014
2
Cấu trúc gói tin DNS • TC: Là trường 1 bit, trường này sẽ cho biết là
gói tin có bị cắt khúc ra do kích thước gói tin vượt quá băng thông cho phép hay không.
• RD: Là trường 1 bit, trường này sẽ cho biết là truy vấn muốn server tiếp tục truy vấn một cách đệ qui.
• RA: Trường 1 bit này sẽ cho biết truy vấn đệ qui có được thực thi trên server không .
• Z: Là trường 1 bit. Đây là một trường dự trữ, và được thiết lập là 0.
Cấu trúc gói tin DNS
• Rcode: Là trường 4 bits, gói tin hồi đáp sẽ có thể nhận các giá trị sau: 0: Cho biết là không có lỗi trong quá trình truy vấn. 1: Cho biết định dạng gói tin bị lỗi, server không hiểu
được truy vấn. 2: Server bị trục trặc, không thực hiện hồi đáp được. 3: Tên bị lỗi. Chỉ có server có đủ thẩm quyền mới có thể
thiết lập giá trị náy. 4: Không thi hành. Server không thể thực hiện chức
năng này . 5: Server từ chối thực thi truy vấn.
Cấu trúc gói tin DNS
• QDcount: Số lần truy vấn của gói tin trong một vấn đề.
• ANcount: Số lượng tài nguyên tham gia trong phần trả lời.
• NScount: Chỉ ra số lượng tài nguyên được ghi lại trong các phần có thẩm quyền của gói tin.
• ARcount: Chỉ ra số lượng tài nguyên ghi lại trong phần thêm vào của gói tin.
Vai trò của DNS
Vai trò của DNS
• Phân giải tên miền thành IP
• Là dịch vụ cần thiết cho các dịch vụ mạng
khác
• Có nhiều giải pháp
– WINNS, NIS, DNS, host file
• Giải pháp tập trung
• Giải pháp phân tán
– Chức năng, dữ liệu, quản lý
Hệ thống các tên miền-cấu trúc
2/26/2014
3
Hệ thống tên miền-cấu trúc
• Gốc “.”
• Tên miền cấp 1
– Chức năng (gTLD), quốc gia (ccTLD), tài trợ (sTLD)
• Tên miền cấp 2
– Chức năng-quốc gia, tỉnh-quốc gia, khác
• FQDN-tên miền đầy đủ
– www.hut.edu.vn.
Hệ thống tên miền-quản lý
• ICANN (Internet Corporation for Assigned Numbers and Names
• Root Servers Systems Advisory Committee (RSSAC)
• Ủy quyền cho – Các ủy ban của các nước (ccTLD) – Các nhà đăng ký (gTLD, sTLD) – Các nhà đăng ký phạm vi từng nước
• Ủy quyền hoàn toàn • Nguyên tắc bên trái
Các thành phần của hệ thống tên miền
• Root Server
• TLD server
• Các server khác
• DNS resolver
• Dữ liệu trên các server
– Cấu hình của các server
– Dữ liệu được phân bố trên server (zone file)
– Dữ liệu bộ nhớ đệm
Dữ liệu phân bố trên server
• Zone file: lưu trữ các thông tin về một zone
• Các bản ghi trong zone file
– Thông tin chung về zone
– Thông tin về các host trong zone (A, AAAA, CNAME)
– Thông tin về các dịch vụ trong zone (MX, SRV, ….)
– Thông tin về các subdomain trong zone (NS)
Dữ liệu phân bố trên server
• Bộ giải (Resolvers)
• Khi một chương trình cần giải một tên host thì cần sử dụng một cơ chế gọi là bộ giải (resolver).
• Bộ giải đầu tiên sẽ tra cứu file /etc/nsswitch (trước /etc/host.conf) và xác định phương thức nào sẽ được sử dụng để giải các tên host (local file, name server, NIS hay ldap server).
Dữ liệu phân bố trên server
File /etc/host.conf (hoặc /etc/nsswitch.conf): • Các file này được quét bởi bộ giải tên để xác định xem đâu
là các file, máy chủ dns, cơ sở dữ liệu ldap hoặc máy chủ nis sẽ được tra cứu.
• Ví dụ (/etc/nsswitch): hosts: files dns nis networks: files • Dòng đầu tiên cho thấy các file (ở đây là /etc/hosts) sẽ
được truy vấn đầu tiên và sau đó là máy chủ DNS nếu nó bị lỗi. Dòng thứ hai chỉ dẫn sẽ sử dụng file /etc/networking cho thông tin về mạng
2/26/2014
4
Dữ liệu phân bố trên server
File /etc/hosts • Với một số nhỏ các máy tính được nối mạng thì có thể chuyển đổi
địa chỉ IP thành tên bằng cách sử dụng file /etc/hosts. Các trường có thể là:
• IP machine machine.domain alias • Ví dụ: file /etc/hosts • 192.168.1.233 io io.my.domain • 61.20.187.42 callisto callisto.physics.edu
Dữ liệu phân bố trên server
File /etc/resolv.conf • Nếu bộ giải cần sử dụng một máy chủ tên miền
(DNS) thì nó sẽ tra cứu danh sách các máy chủ hiện có tại file /etc/resolv.conf
• Cấu trúc có cấp bậc • Các máy chủ tên (Name servers) đều có một cấu
trúc cấp bậc (hierachical structure). Phụ thuộc vào vị trí trong tên miền điều kiện đầy đủ (fully qualified domain name - FQDM) mà một tên miền có thể được gọi là mức top - level, mức thứ hai (second level) hoặc mức thứ ba (third level).
Ví dụ đối với các tên miền cấp 1 (top level)
com Các tổ chức thương mại
edu Các tổ chức giáo dục Mỹ
gov Các tổ chức chính phủ Mỹ
mil Các tổ chức quân sự Mỹ
net Các nhà cc dịch vụ và cổng truy cập
org Các trang phi thương mại
uk Các trang thuộc về nước Anh
Dữ liệu phân bố trên server
• File cấu hình DNS
• Trong phiên bản BIND cũ (trước phiên bản BIND 8) file cấu hình là
/etc/named.boot.
Với BIND phiên bản 8, file /etc/named.conf được thay thế. Bạn có thể sử dụng tiện ích named-bootconf.pl để chuyển đổi từ file cấu hình cũ sang file cấu hình mới.
Dữ liệu phân bố trên server
File /etc/named.boot:
• directory /var/named
• cache named.ca
• primary myco.org named.myco
• primary 0.0.127.in-addr.arp named.local
• primary 1.168.192.in-addr.arp named.rev
Dữ liệu phân bố trên server • Dòng đầu tiên định nghĩa thư mục cơ sở được sử dụng. File
name.ca sẽ chứa danh sách các địa chỉ IP DNS cho việc truy
vấn các địa chỉ mở rộng. Dòng thứ ba là tham số lựa chọn
và chứa các bản ghi cho mạng nội bộ. Hai tham số tiếp theo
được sử dụng cho tìm kiếm ngược lại (reverse lookup).
Trong /etc/named.conf cache được thay thế bởi hint secondary được thay thế bởi slave primary được thay thế bởi master.
Dữ liệu phân bố trên server
2/26/2014
5
• Áp dụng các thay đổi này đối với file cấu hình BIND4 sẽ
sinh ra các file cấu hình BIND8 và BIND9 như sau.
File /etc/named.conf:
options {
directory “/var/named”;
};
zone “.” {
type hint;
file “named.ca”;
};
Dữ liệu phân bố trên server
• zone “myco.org” { • type master; • file “named.myco”; • }; • • • zone “1.168.192.in-addr.arp” { • type master; • file “named.rev”; • }; • • zone “0.0.127.in-addr.arpa” {
type master; • file “named.local”; • };
Dữ liệu phân bố trên server
File vùng DNS • Trong ví dụ này máy chủ được thiết lập như một máy chủ chỉ bẫy
(catching-only server). Tất cả các file vùng (zone file) đều chữa các bản ghi tài nguyên.
• Ví dụ file named.local zone file: @ IN SOA localhost. root.localhost. (
2001022700 ; Serial 28800 ; Refresh 14400 ; Retry 3600000 ; Expire 86400 ) ; Minimum IN NS localhost. 1 IN PTR localhost.
Dữ liệu phân bố trên server
Ký hiệu @ sẽ giải (tham chiếu) tới một vùng liên quan được khai báo trong /etc/named.conf. Điều này cho phép bất kỳ file vùng nào cũng có thể sử dụng như là một template cho các vùng khác
Bảng 1: Kiểu bản ghi thông thường NS Xác định các vùng của máy chủ tên miền chính PTR Tham chiếu ngược địa chỉ IP tới tên máy host MX Bản ghi thư điện tử Mail Exchange A Tương ứng một địa chỉ IP với một máy host CNAME Tương ứng một tên gán (alias) với một tên
chính của máy host
Dữ liệu phân bố trên server
Bảng 2: Các tham số vùng
@ IN SOA (Start Of Authority)
Xác định một vùng được cho phép bởi các tham số lựa chọn nằm trong dấu ngoặc kép
serial -Giá trị được tăng bằng tay khi dữ liệu thay đổi. Các máy chủ phụ (secondary servers) sẽ truy vấn số hiệu (serial number) của máy chủ chính. Nếu nó thay đổi, toàn bộ file vùng sẽ được tải về (downloaded)
Dữ liệu phân bố trên server refresh Thời gian được tính bằng giây trước khi máy
chủ phụ truy vấn bản ghi SOA của tên miền chính (primary domain). Giá trị của nó nhỏ nhất là một ngày.
retry Khoảng thời gian tính bằng giây trước khi một vùng mới được chuyển (transfer) nếu việc download trước đó lỗi.
Expire Thời gian sau khi máy chủ phụ loại bỏ tẩt cả dữ liệu vùng nếu nó liên hệ với máy chủ chính. Giá thị của tham số này thông thường ít nhất là 1 tuần
minimum đây là ttl đối với các dữ liệu đã được cached. Giá trị mặc định là 1 ngày (86400 giây) nhưng cũng có thể lâu hơn đối với các mạng LAN ổn định
Dữ liệu phân bố trên server
2/26/2014
6
Không gian tên và không gian địa chỉ Phân tán không gian tên
3/27/2010 32
Quản lý không gian tên
Tính chất Mức toàn cầu Mức hành chính
(administratial)
Mức vận
hành
(managerial
)
Qui mô địa lý Toàn cầu Quốc gia/tổ chức
lớn Tổ chức nhỏ
Số lượng server tương tác Một vài (16) Nhiều Lớn
Thời gian đáp ứng Giây 10-3 giây Ngay
Tốc độ cập nhật Ít cập nhật Liên tục Liên tục
Số lượng sao lưu Nhiều Rất ít Không có
Bộ nhớ đệm trên client Có Có Có
33
Cơ chế giải tên miền không đệ qui
• Client gửi yêu cầu dạng không đệ qui đến server – Server thỏa thuận với client có hỗ trợ hay không
• Nếu không • Nếu tồn tại host, gửi thông báo trả lời về cho client
• Nếu không có trả lời là không có host nào như vậy
• Nếu server đang bận báolỗi
• Nếu có Server tìm trong dữ liệu cục bộ (không thấy)
• Server gửi cho client địa chỉ của các root server
• Client hỏi Các root server về tên miền
• Các root server trả lại địa chỉ của các DNS
• Client tiếp tục hỏi các server khác
Cơ chế giải tên miền đệ qui
• Client gửi thông báo đệ qui đến server
– Server thỏa thuận với client có hỗ trợ hay không
– Nếu tồn tại host, gửi thông báo trả lời về cho client
– Nếu không có trả lời là không có host nào như vậy
– Hoặc trả lời là host đang bận
• Server tìm trong dữ liệu cục bộ (không thấy)
• Server gửi cho các root server
• Các root server gửi IP các NS TLĐ
• Server hỏi các server khác về tên miền
• Trả lời lại client
Diễn giải ngược tên miền
• Gửi thông báo yêu cầu diễn giải ngược
– Không có nhiều DNS server hỗ trợ
• Dùng zone ngược để lưu trữ các thông tin
giải địa chỉ ngược
• 142.47.202.in-addr.arpa.zone
• Các bản ghi PTR
2/26/2014
7
Các loại server DNS
Master
• Quản lý các thông tin liên quan đến một hoặc nhiều tên miền
• Trả lời các yêu cầu liên quan đến tên miền
• Chuyển tiếp các yêu cầu nếu không có thông tin
• Các thông tin trả lời được lấy cục bộ từ server
• Các thông báo trả lời được đặt là Authoritative
Slave
• Quản lý các thông tin về một miền đã được Master quản lý
• Nhận thông tin về miền thông qua thao tác chuyển miền
Cache
• Không tham gia vào quá trình quản lý thông tin của domain
• Chỉ lưu trữ các thông tin bằng bộ nhớ đệm
Các thao tác giữa các server
• Cập nhật đầy đủ zone
• Cập nhật tăng dần
• Thông báo về sự thay đổi
• Cập nhật động
Các loại server DNS
Cài đặt DNS dưới linux
• Cấu hình mạng với IP cố định
• Cài đặt các gói
– bind9
– bind9utils
– dnsutils
Qui trình cài đặt
Cấu hình bind Cấu hình bind daemon
2/26/2014
9
Hạn chế trao đổi zone Cập nhật thông tin trên DNS
Bài tập
• Cài đặt bind9 • Xác định các tệp cấu hình • Xác định các tệp dữ liệu cho localhost và cho hint • Cấu hình master server quản lý domain is12.hedspi • Cấu hình các máy may1, may2, may3 trong domain nói
trên ánh xạ sang địa chỉ IP của máy • Cấu hình /etc/resolve.conf để sử dụng máy cục bộ như
DNS server. • Cấu hình server để sử dụng được Internet như bình
thường. • Dùng CNAME để cấu hình may2 may3