9
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 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 tên miề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ị địa chỉ hóa các thiết bị khắp thế giới 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ư 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) 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 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 hồi đáp 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 đó sẽ đi đến một server có thẫm quyền giải quyết truy vấn.

tài liệu Mã nguồn mở 13 dns

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

8

Forward lookup Zone file

Reverse lookup Zone file

Cache file resolver

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