Professional Documents
Culture Documents
§Ó hoµn thµnh ®Ò ¸n “DNS trªn LINUX” em xin göi lêi c¶m ¬n tr©n thµnh tíi
trung t©m ®µo t¹o Trêng B¸ch Khoa NPOWER vµ c¸c thÇy ®· gióp ®ì em trong
suèt thêi gian häc gióp em t×m hiÓu bµi vµ häc tËp ®îc t«t h¬n. §Æc biÖt em
xin gñi lêi c¶m ¬n tíi thÇy gi¸o NguyÔn Thanh Toµn ®· tËn t×nh híng dÉn còng
nh t¹o ®iÒu kiÖn vÒ tµi liÖu gióp em hoµn thµnh ®å ¸n m«n SERVER tèt nhÊt.
Em göi lêi c¶m ¬n tíi nh÷ng ý kiÕn ®ãng gãp tËp thÓ S0809G trong thêi gian
lµm ®å ¸n còng nh nh÷ng lóc b¸o c¸o trùc tiÕp tríc toµn thÓ líp.
§å ¸n hoµn thµnh kh«ng tr¸nh khái nh÷ng thiÕu sãt kÝnh mong nhËn ®îc nhiÒu
ý kiÕn ®ãng gãp phª b×nh cña ThÇy ®Ó §å ¸n ®îc hoµn thiÖn h¬n.
Sinh viªn
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
………………………………………………………………………………………………
Lời mở đầu
Ngày nay, với sự phát triển của khoa học kỹ thuật, máy tính trở nên phổ biến với
mọi người, nó mang lại cho con người khả năng to lớn và làm được những công
việc phi thường : tính toán nhanh, chính xác các phép toán phức tạp, điều khiển tự
động và làm việc theo sự lập trình của con người. Máy tính ra đời không chỉ là
công cụ giải phóng sức lao động, hỗ trợ tối đa trong sản xuất mà còn là phương
tiện học tập, giải trí bổ ích trong đời sống của mọi người. Sự phát triển của máy
tính cũng như công nghệ thông tin sẽ mang lại những thành tựu to lớn cho sự phát
triển kinh tế của đất nước. Là phương tiện tiếp cận nhanh nhất đến các thành tựu
của khoa học kỹ thuật.
Sức mạnh của máy tính được tăng lên nhiều lần khi các máy tính được kết nối
thành một mạng máy tính. Là cơ sở hạ tầng cho phép truyền dữ liệu, trao đổi
thông tin và điều khiển từ xa, tạo nên một môi trường giao tiếp, liên kết mọi
người vượt qua hạn chế về khoảng cách. Với mạng máy tính toàn cầu chúng ta có
thể dễ dàng tiếp cận với thế giới bên ngoài, tiếp cận với những thành tựu khoa học
tiên tiến nhất trên thế giới.
Hiện nay, ứng dụng công nghệ thông tin trong sản xuất và phát triển kinh tế là
mục tiêu hàng đầu của đất nước. Mạng Internet trở thành một lĩnh vực nghiên
cứu, phát triển và ứng dụng cốt lõi của công nghệ thông tin, bao gồm rất nhiều
vấn đề từ kiến trúc, đến nguyên lý thiết kế, cài đặt và mô hình ứng dụng, các dịch
vụ trên mang. Mạng viễn thông nói chung và máy tính và mạng máy tính nói
riêng là công cụ không thể thiếu trong hoạt động của bộ máy nhà nước, các doanh
nghiệp, trường học, ... và rất nhiều các lĩnh vực sản xuất khác. Nó đóng vai trò
như cầu nối để trao đổi thông tin giữa các chính phủ, các tổ chức xã hội và giữa
mọi người với nhau.
Với môt sự kết hợp rông rãi như vậy đặt ra vấn đề cái gì giúp con người có thể
truy cập tới các trang web dễ dàng để tìm hiểu trao đổi thông tin từ khắp mọi nơi
như vậy? Đó là hệ thống tên miền ( Domain Name System ).Khi cần truy cập đến
một web site trên Internet, bạn có thể gõ địa chỉ IP của site hoặc gõ tên DNS. Vì
các địa chỉ IP rất khó nhớ, nên DNS là một dịch vụ đáng giá. Nó giúp con người
dùng tên để truy cập Internet. Máy chủ DNS được đặt trên Internet để chuyển địa
chỉ IP thành tên miền. Nhà cung cấp dịch vụ Internet có thể thực hiên được điều
này hoặc kết nối với máy chủ DNS để làm chuyện này. Khi bạn nhập tên miền
trong web browser, yêu cầu này được gửi đến máy chủ DNS sơ cấp định nghĩa
trong cấu hình của web browser. Máy chủ DNS chuyển tên thành địa chỉ IP và
trả địa chỉ IP cho hệ thống, dể giúp người sử dụng truy cập tới các web thông qua
tên miền nhanh hơn.
Trong thời gian học tập tại trung tâm đào tao Bách Khoa Npower, dưới sự hướng
dẫn của các thầy giáo chuyên ngành quản trị mạng đặc biêt là thầy Nguyễn Thanh
Toàn, em đã chọn đề tài "Dịch vu DNS trên LINUX " cho đồ án môn học
SERVER. Mục đích của đề tài là tìm hiểu kỹ về dịch vụ DNS để cài đặt và cấu
hình DNS trên Linux. Với các tài liệu thu thập được em đã hoàn thành đồ án về
dịch vu DNS trên LINUX bao gồm những kiến thức cơ bản về dịch vụ DNS ,
cách phân bố dữ liệu quản lý domain name, cơ chế phân giải tên, phân loại
Domain Name Server , Resource Record (RR), cài đặt và cấu hình dịch vụ DNS.
I. Tên miền là gì ?
Mạng máy tính toàn cầu (Internet ) bao gồm hàng tỷ máy tính nối mạng với
nhau, mỗi máy tính cần có một địa chỉ xác định trên mạng. Hiện nay địa chỉ dùng
trên mạng là địa chỉ IP. Mỗi máy tính được cấp phát một địa chỉ IP và địa chỉ này
là duy nhất. Địa chỉ IP hiện đang đang được sử dụng phổ biến hiện nay là IPv4 có
32 bit chia thành 4 phần. Mỗi phần là 8 bít( tương đương là 1 byte) cách đếm từ
trái qua phải. Các phần cách nhau bằng một dấu chấm (.) và biểu diễn ở dạng
thập phân đầy đủ là 12 con số. Mỗi phần là 3 con số. Ví dụ một địa chỉ Internet :
146.123.110.224. Vì mạng máy tính toàn cầu hiện nay đang phát triển mạnh mẽ
nên nhu cầu về địa chỉ IP ngày càng tăng. Địa chỉ IP sắp tới được sử dụng là IPv6
có 128 bit. dài gấp 4 lần IPv4. Phiên bản Ipv4 có khả năng cung cấp 2 32 = 4 294
967 296 địa chỉ. Phiên bản IPv6 có khả năng cung cấp 2 128 địa chỉ. Hiện nay nước
ta đang triển khai thử nghiệm IPv6.
Ví dụ: Máy chủ Web Server của VDC đang chứa Báo Quê Hương có địa chỉ là
203.162.0.12 và tên miền của nó là home.vnn.vn. Thực tế người sử dụng muốn
truy nhập đến trang báo điện tử Quê Hương thì không cần biết đến địa chỉ IP mà
chỉ cần tên miền của nó là home.vnn.vn .Thì hệ thống tên miền sẽ trả lời lại địa
chỉ IP cho máy tính của bạn.
Tên Miền là một danh từ dịch theo kiểu nghĩa của từng từ một (Word by Word )
từ tiếng Anh (Domain name). Thực chất tên miền là sự nhận dạng vị trí của một
máy tính trên mạng Internet nói cách khác tên miền là tên của mạng lưới, tên của
các máy chủ trên mạng Internet. Mỗi địa chỉ bằng chữ này phải tương ứng với địa
chỉ IP của nó.
một địa chỉ thân thiện, mang tính gợi mở và dễ nhớ hơn cho người sử dụng đi
kèm.Và từ yêu cầu đó đã hình thành hệ thống tên miền.
Ban đầu với mạng máy tính còn nhỏ của Bộ quốc phòng Mỹ thì chỉ cần một tệp
HOSTS.txt chứa các thông tin về chuyển đổi địa chỉ và tên mạng. Tuy nhiên khi
mạng máy tính ngày càng phát triển thì với một tệp HOSTS.txt là không khả thi.
Lưu lượng mạng và máy chủ duy trì tập tin 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 tập tin
HOSTS.TXT. Tuy nhiên do tên máy không phân cấp và không có gì đảm
bảo đẻ ngăn chặn việc tạo 2 tên trùng nhau vì không có cơ chế ủy quyền
quản lý tập tin nên có nguy cơ bị xung đột tên.
Không đảm bảo sự toàn vẹn: việc duy trì 1 tập tin trên mạng lớn rất khó
khăn. Ví dụ như khi tập tin HOSTS.TXT vừa cập nhật chưa kịp chuyển đến
máy chủ thì ở xa đã có sự thay đổi địa chỉ trên mạng rồi.
Tóm lại việc sủ dụng tập tin HOSTS.TXT không phù hợp cho mạng lớn vì thiếu
cơ chế phân tán và mở rộng. Do đó, dịch vụ DNS ra đời nhằm khắc phục các
nhược điểm này. Thiết kế cấu trúc của dịch vụ DNS ra đời nhằm khắc phục các
nhược điểm này. Do vậy đến năm 1984 Paul Mockpetris thuộc viện USC’s
Information Sciences Institute phát triển một hệ thống quản lý tên miền mới lấy
tên là Hệ thống tên miền – Domain Name System và ngày càng phát triển.
Lưu ý: Hiện tại trên các máy chủ vẫn sủ dụng được tập tin hosts.txt đẻ phân giải
tên máy tính thành địa chỉ IP (trong Linux là ect/hosts ).
Hệ thống DNS là hệ thống sử dụng cơ sở dữ liệu phân tán và phân cấp hình cây
do đó việc quản lý sẽ dễ dàng hơn và cũng rất thuận tiên cho việc chuyển đổi từ
tên miền sang địa chỉ IP và ngược lại.
Tên miền là những tên gợi nhớ như home.vnn.vn hoặc www.cnn.com. Nó thân
thiện hơn địa chỉ IP giúp cho người sử dụng dễ dàng nhớ vì nó ở dạng chữ mà
người bình thường có thể hiểu và sử dụng hàng ngày.
Với Root server là đỉnh của cây và sau đó các miền (domain) được phân nhánh
dần xuống dưới và phân quyền quản lý. Khi một máy khách (client) truy vấn một
tên miền nó sẽ đi lần lượt từ root phân cấp xuống dưới để đến DNS quản lý
domain cần truy vấn. Tổ chức quản lý hệ thống tên miền trên thế giới là The
Internet Coroperation for Assigned Names and Numbers (ICANN) .Tổ chức này
quản lý mức cao nhất của hệ thống tên miền (mức root) do đó nó có quyền cấp
phát các tên miền ở mức cao nhất gọi là Top-Level-Domain.
Cấu trúc của dữ liệu được phân cấp hình cây, root quản lý toàn bộ sơ đồ và phân
quyền quản lý xuống dưới và tiếp đó các tên miền lại được chuyển xuống cấp
thấp hơn (delegale) xuống dưới.
Hệ thống tên miền(DNS) cho phép phân chia tên miền để quản lý và nó chia hệ
thống tên miền thành zone và trong zone quản lý tên miền được phân chia đó.
Các zone chứa thông tin vê miền cấp thấp hơn, có khả năng chia thành các zone
cấp thấp hơn và phân quyền cho các DNS server khác quản lý.
Ví dụ : Zone “.vn” thì do DNS server quản lý zone “.vn” chứa thông tin về các
bản ghi có đuôi là “.vn” và có khả năng chuyển quyền quản lý (delegate) các
zone cấp thấp hơn cho các DNS khác quản lý như “.fpt.vn” là vùng (zone) do
fpt quản lý.
Hệ thống cơ sở dữ liệu của DNS là hệ thống dữ liệu phân tán hình cây như
cấu trúc đó là cấu trúc logic trên mạng Internet.
-Label phải được bắt đầu bằng chữ số và chỉ được chứa chữ, số, dấu trừ (-) .
Com : Tên miền này được dùng cho các tổ chức thương mại.
Edu : Tên miền này được dùng cho các cơ quan giáo dục, trường học.
Net : Tên miền này được dùng cho các tổ chức mạng lớn.
Gov : Tên miền này được dùng cho các tổ chức chính phủ.
Org : Tên miền này được dùng cho các tổ chức khác.
Int : Tên miền này dùng cho các tổ chức quốc tế.
Info : Tên miền này dùng cho việc phục vụ thông tin.
Mil : Tên miền dành cho các tổ chức quân sự, quốc phòng.
Mã các nước trên thế giới tham gia vào mạng internet, các quốc gia
này được qui định bằng hai chữ cái theo tiêu chuẩn ISO-3166 Ví dụ :
Việt Nam là .vn , Singapo là .sg , Mỹ là .us , Anh là .uk , Nhật Bản là .jp,
Trung Quốc là .cn …
Vì sư quá tải của những domain name đã tồn tại, do đó đã phát sinh
nhưng top level domain mới tên miền mới là :
Asts : Những tổ chức liên quan tới nghệ thuật và kiến trúc.
Các tên miền dưới mức root này đươc gọi là Top –Level – Domain .
Mỗi nước có một top-level domain. Ví dụ top-level domain của Việt Nam là vn ,
mỗi nước khác nhau trên thế giới có cơ chế tổ chức phân cấp domain khác nhau
tùy thuộc vòa mỗi nước. Như tổ chức domain của Việt Nam :
Gốc (Domain root): Nó là đỉnh của nhánh cây của tên miền. Nó xác định kết
thúc của domain. Nó thể diễn đơn giản chỉ là dấu chấm “.”
Tên miền cấp một (Top-level-domain) : Là gồm vài kí tự xác định một nước,
khu vực hoặc tổ chức. Nó đươc thể hiện là “.com”
Tên miền cấp hai (Second-level-domain): Nó rất đa dạng rất đa dạng có thể là
tên một công ty, một tổ chức hay một cá nhân.
Tên miền cấp nhỏ hơn (Subdomain): Chia thêm ra của tên miền cấp hai trở
xuống thường được sử dụng như chi nhánh, phòng ban của một cơ quan hay chủ
đề nào đó. Như phone.fpt.vn là một phòng của công ty Fpt.
Tiếp theo là tên miền cấp 3 (thanglong) , tên miền được đăng kí với cơ
quan quản lý tên miền ở dưới cấp vn là trung tâm thông tin mạng Internet
Viet Nam(VNNIC).
Tên miền đứng thứ 2 từ bên phải là tên miền ở mức 2 (com) tên miền này
miêu tả chức năng của tổ chức sở hữu tên miền ở mức 3. Trong ví dụ này tổ
chức lấy tên miền ở mức hai la “edu” có nghĩa là tổ chức thuộc về giáo dục.
Cuối cùng là tên miền “.vn”, tên miền này chỉ ra toàn bộ miền này thuộc
quyền quản lý của mạng Internet Việt Nam.
Tên miền nên đặt giới hạn từ cấp 3 đến cấp 4 vì nhiều hơn nữa việc nhớ tên
và quản trị khó khăn.
Nên đặt tên đơn giản gợi nhớ và tránh phức tạp.
lý tên miền khác hoặc cấp cao hơn nó để có thể trả lời được các truy vấn về
những tên miền không thuộc quyền quản lý của nó và cũng luôn sẵn sàng trả lời
các máy chủ khác về các tên miền mà nó quản lý.
Máy chủ cấp cao nhất là Root Server do tổ chức ICANN quản lý:
Root Server không chứa dữ liệu thông tin về cấu trúc hệ thống DNS mà nó
chỉ chuyển quyền (delegate) quản lý xuống cho các server cấp thấp hơn và
do đó root server có khả năng định đường đến của một domain tại bất kì
đâu trên mạng.
Hiện nay trên thế giới có khoảng 13 root server quản lý toàn bộ hệ thống
Internet. Dưới đây là các thông tin về 13 root :
Một DNS server có thể nằm bất cứ vị trí nào trên mạng Internet nhưng được cấu
hình logic để phân cấp chuyển tên miền cấp thấp hơn xuống cho các DNS server
khác nằm bất cứ vị trí nào trên mạng Internet. Nhưng tốt nhất là đặt DNS tại vị trí
nào gần với các client để dễ dàng truy vấn đến đồng thời cũng gần với vị trí của
DNS server cấp cao hơn trực tiếp quản lý nó.
Trong mỗi tập tin CSDL 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.
domain name : tên domain mà DNS quản lý (Vd: hqhcm.gov).
Serial number: áp dụng cho mọi dữ liệu trong zone và là một số nguyên. Trong ví
dụ, giá trị này bắt đầu từ1 nhưng thông thường người ta sửdụng theo định
dạng thời gian như1997102301. Định dạng này theo kiều YYYYMMDDNN,
Lê Thị Thanh Hiền S0809G – BachKhoa-Npower 16
Đồ án môn học Server: DNS trên LINUX
Refresh number: chỉ ra khoảng thời gian máy chủ secondary kiểm tra dữ liệu zone
trên máy primary để cập nhật nếu cần. Giá trị này thay đổi tùy theo tần suất thay
đổi dữ liệu trong zone.
Retry number : Nếu máy chủ Secondary không kết nối được với máy chủ Primary
theo thời gian mô tả trong refresh ( ví dụ như máy chủ Primary bị shutdown vào
lúc đó thì máy chủ Secondary phải tìm cách kết nối lại với máy chủ Primary theo
một chu kì thời gian mô tả trong retry). Thông thường giá trị này nhỏ hơn giá trị
refresh.
Expire number: nếu sau khoảng thời gian này mà máy chủ secondary không kết
nối được với máy primary thì dữ liệu zone trên máy secondary sẽ bị quá hạn, lúc
này máy secondary sẽ không trả lời mọi truy vấn về zone này nữa. Giá trị expire
này phải lớn hơn giá trị refresh và retry.
TTL ( Time to Live): Giá trị này áp dụng cho mọi record trong zone và được đính
kèm trong thông tin trả lời một truy vấn. Mục đích của nó là chỉ ra thời gian mà
các máy chủ name server khác được cache lại thông tin trả lời. Việc cache thông
tin trả lời giúp giảm lưu lượng truy vấn DNS trên mạng.
Ví dụ :
Home.vnn.vn IN A 203.162.0.12
Theo ví dụ trên, tên miền home.vnn.vn được khai với bản ghi kiểu A trỏ đến địa
chỉ 203.162.0.12 sẽ là tên của máy tính này. Một tên miền có thể được khai nhiều
bản ghi kiểu A khác nhau để trỏ đến các địa chỉ IP khác nhau. Như vậy có thể có
nhiều máy tính có cùng tên trên mạng. Ngược lại một máy tính có một địa chỉ IP
có thể có nhiều tên miền trỏ đến, tuy nhiên chỉ có duy nhất một tên miền được xác
định là tên của máy, đó chính là tên miền được khai với bản ghi kiểu A trỏ đến
địa chỉ của máy.
Ví dụ :
Tên miền www.vnn.vn sẽ là tên bí danh của tên miền home.vnn.vn, hai tên miền
www.vnn.vn sẽ cùng trỏ đến địa chỉ IP 203.162.0.12
DNS dùng record MX trong việc chuyển mail trên mạng Internet. Ban đầu chức
năng chuyển mail dựa trên 2 record: record MD (mail destination) và record MF
(mail forwarder) records. MD chỉ ra đích cuối cùng của một thông điệp mail có
tên miền cụ thể. MF chỉ ra máy chủ trung gian sẽ chuyển tiếp mail đến được máy
chủ đích cuối cùng. Tuy nhiên, việc tổ chức này hoạt động không tốt. Do đó,
chúng được tích hợp lại thành một record MX. Khi nhận được mail, trình chuyển
mail (mailer) dựa vào record MX để quyết định đường đi của mail. Record MX
chỉ ra một mail exchange cho một miền – Mail Exchange là một máy chủ xử lý
(chuyển mail đến mail box cục bộ hay là một mail gateway chuyền sang một giao
thức chuyển mail khác như UUCP) hoặc chuyển tiếp mail đến một mail
exchanger khác (trung gian) gần với mình nhất để đến máy chủ đích cuối cùng
hơn dùng giao thức SMTP (Simple Mail Transfer Protocol).
Để tránh việc gửi mail bị lặp lại, Record MX có thêm một giá trị bổ sung ngoài
tên miền của mail exchanger là 1 số thứ tự tham chiếu. Đây là số nguyên không
dấu 16 bit (0-65535) chỉ ra thứ tự ưu tiên của các mail exchanger.
Cú pháp record MX :
Vnn.vn IN MX 10 mail.vnn.vn
Các thông số được khai báo trong bản ghi MX nêu trên gồm có:
vnn.vn : là tên miền được khai báo để sử dụng như địa chỉ thư điện tử.
mail.vnn.vn: là tên của trạm chuyển tiếp thư điện tử, nó thực tế là tên của
máy tính dùng làm máy trạm chuyển tiếp thư điện tử.
10: Là giá tri ưu tiên, giá trị ưu tiên có thể là một số nguyên bất kì từ 1 đến
225, nếu giá trị ưu tiên này càng nhỏ thì trạm chuyển tiếp thư điện tử được
khai báo sau đó sẽ là trạm chuyển tiếp thư điện tử được chuyển đến đầu
tiên.
Vnn.vn IN MX 10 mail.vnn.vn
Vnn.vn IN MX 20 backupmail.vnn.vn
Thì tất cả các thư điện tử có cấu trúc địa chỉ user@vnn.vn trước hết sẽ được gửi
đến trạm chuyển tiếp thư điện tử mail.vnn.vn. Chỉ trong trường hợp máy chủ
mail.vnn.vn không thể nhận thư thì các thư này mới chuyển đến trạm chuyển tiếp
thư điện tử backupmail.vnn.vn .
Cú pháp:
Ví dụ:
Vnnic.net.vn IN NS dns1.vnnic.net.vn
Vnnic.net.vn IN NS dns2.vnnic.net.vn
Với khai báo trên, tên miền vnnic.net.vn sẽ do máy chủ tên miền có tên
dns.vnnic.net.vn quản lý. Điều này có nghĩa, các bản ghi như A, CNAME, MX …
của tên miền cấp dưới của nó sẽ được khai báo trên máy chủ dns1.vnnic.net.vn.
và dns2.vnnic.net.vn.
Hệ thống DNS không những thực hiện việc chuyển đổi từ tên miền sang địa chỉ
IP mà còn thực hiện chuyển đổi địa chỉ IP sang tên miền. Bản ghi PTR cho phép
thực hiện chuyển đổi địa chỉ IP sang tên miền.
VD:
Bản ghi PTR trên cho phép tìm tên miền www.vnnic.net.vn khi biết địa chỉ IP
(203.162.57.101) mà tên miền trỏ tới.
VI.AAAA.
Ánh xạ tên máy (host name) vào địa chỉ IP version 6.
VII. SRV.
Cung cấp cơ chế định vị dich vụ, Active Directory sủ dụng Resource Record này
để xác định domain controllers, global catalog servers, Lightweight Directory
Access Protocol (LDAP) server.
- TTL và Class.
- Priority.
Primary server.
Secondary server.
1. Primary server
Nguồn xác thực thông tin chính thức cho các domain mà nó được phép quản
lý
Thông tin về tên miền được phân cấp quản lý thì được lưu trữ tại đây và sau
đó có thể được chuyển sang cho các secondary server.
Các tên miền do primary server quản lý thì được tạo và sửa đổi tai primary
server và được cập nhật đến các secondary server.
Server này có nhiệm vụ phân giải tất cả các máy trong miền hay zone.
Primary server nên đặt gần với các client để có thể phục vụ truy vấn tên miền
một cách dễ dàng và nhanh hơn.
2. Secondary server
DNS được khuyến nghị nên sử dụng ít nhất là hai DNS server để lưu cho mỗi
một zone. Primary DNS server quản lý các zone và secondary server sử dụng để
lưu trữ dự phòng cho primary server. Secondary DNS server được khuyến nghị
dùng nhưng không nhất thiết phải có. Secondary server được phép quản lý
domain nhưng dữ liệu về tên miền (domain), nhưng secondary server không tạo ra
các bản ghi về tên miền (domain) mà nó lấy về từ primary server.
Khi lượng truy vấn zone tăng cao tại primary server thì nó sẽ chuyển bớt tải
sang cho secondary server .Hoặc khi primary server gặp sự cố không hoạt động
được thì secondary server sẽ hoạt động thay thế cho đến khi primary server hoạt
động trở lại.
Secondary server nên được đặt ở gần với primary server và client để có thể
phục vụ cho việc truy vấn tên miền dễ dàng hơn. Nhưng không nên cài đặt
secondary server trên cùng một mạng con (subnet) hoặc cùng một kết nối với
primary server. Để khi primary server có kết nối bị hỏng thì cũng không có ảnh
hưởng đến secondary server.
Primary server thường xuyên thay đổi hoặc thêm vào các zone mới. Nên DNS
server sử dụng cơ chế cho phép secondary lấy thông tin từ primary server và lưu
trữ nó. Có hai giải pháp lấy thông tin về các zone mới là lấy toàn bộ (full) hoặc
chỉ phần thay đổi (incremental).
Khi Secondary Name Server được khởi động nó sẽ tìm Primary Name Server
nào mà nó được phép lấy dữ liệu về máy. Nó sẽ copy lại toàn bộ CSDL DNS của
Primary Name Server mà nó được phép transfer (quá trình này gọi là quá trình
Zone Transfer). Theo 1 chu kỳ nào đó do người quản trị quy định thì Secondary
Name Server sẽ sao chép và cập nhật CSDL từ Primary Name Server. Quá trình
Zone transfer như sau:
HÌnh 1.5 : Các bước của một quá trình Zone transfer
3. Caching-only server
Tất cả các DNS server đều có khả năng lưu trữ dữ liệu trên bộ nhớ cache của
máy để trả lời truy vấn một cách nhanh chóng. Nhưng hê thống DNS còn có một
loại Caching-only server. Loại này chỉ sử dụng cho việc truy vấn, lưu giữ câu trả
lời dựa trên thông tin có trên cache của máy và cho kết quả truy vấn. Chúng
không hề quản lý một domain nào và thông tin mà nó chỉ giới hạn những gì được
lưu trên cache của server.
Lúc ban đầu khi server bắt đầu chạy thì nó không lưu thông tin nào trong
cache. Thông tin sẽ được cập nhập theo thời gian khi các client server truy vấn
dịch vụ DNS. Nếu bạn sử dụng kết nối mạng WAN tốc độ thấp thì việc sử dụng
caching-only DNS server là giải pháp hữu hiệu cho phép giảm lưu lượng thông
tin truy vấn trên đường truyền.
Caching-only có khả năng trả lời các câu truy vấn đến client. Nhưng không
chứa zone nào và cũng không có quyền quản lý bất kì domain nào. Nó sử dụng
bộ cache của mình để lưu các truy vấn của DNS của client. Thông tin sẽ được lưu
trong cache để trả lời các truy vấn đến client để làm tăng tốc độ phân giải và giảm
gánh nặng phân giải tên máy . Quy trình truy vấn và cache lại trên máy tính như
sau :
Khi một DNS server mới được thêm vào mạng thì nó được cấu hình như một
secondary server mới cho một zone đã tồn tại. Nó sẽ tiến hành nhận toàn bộ dữ
liệu từ primary server. Đối với các DNS server phiên bản đầu tiên thường dùng
giải pháp lấy toàn bộ các cơ sở dữ liệu khi có các thay đổi trong zone.
Theo giải pháp này là chỉ truyền những những dữ liệu thay đổi của zone.
Đồng bộ dữ liệu này được miêu tả chi tiết trong tiêu chuẩn RFC 1995. Nó cung
cấp giải pháp hiệu quả cho việc đồng bộ những thay đổi, thêm, bớt của zone.
Nếu số serial cho dữ liệu nguồn lớn hơn số serial của secondary server thì nó sẽ
thực hiện gửi những thay đổi của bản ghi nguồn (Resource record – RR) của zone
ở primary server.
Để truy vấn IXFR thực hiên thành công và các thay đổi được gửi thì tại DNS
server nguồn của zone phải được lưu giữ các phần thay đổi để sử dụng truyền đến
nơi yêu cầu của truy vấn IXFR. Incremental sẽ cho phép lưu lượng truyền dữ liệu
ít và thực hiện nhanh hơn.
Zone transfer sẽ xảy ra khi có những hành động sau xảy ra:
- Khi quá trình làm mới của zone đã kết thúc (refresh exprire ).
- Khi secondary server được thông báo zone đã thay đổi tại nguồn quản lý zone.
Các bước yêu cầu chuyển dữ liệu từ secondary server đến DNS server chứa zone
để yêu cầu lấy dữ liệu về zone mà nó quản lý:
- Khi cấu hình DNS server mới, thì nó sẽ gửi truy vấn yêu cầu gửi toàn bộ zone
( all zone transfer request (AXFR) ) đến DNS server chính quản lý dữ liệu của
zone.
- DNS server chính quản lý dữ liệu của zone trả lời và chuyển toàn bộ dữ liệu về
zone cho secondary server (destination) mới cấu hình.
Để xác định có chuyển dữ liệu hay không thì nó dựa vào số serial được khai báo
bằng bản ghi SOA.
- Khi thời gian làm mới (refresh interval ) của zone đã hết, thì DNS server nhận
dữ liệu sẽ truy vấn yêu cầu làm mới zone tới DNS server chính chứa dữ liêu zone.
- DNS server chính quản lý dữ liệu sẽ trả lời truy vấn và gửi lại dữ liệu. Trả lời
truy vấn dữ liệu gồm số serial của zone tại DNS server chính.
- DNS server nhận dữ liệu về zone và sẽ kiểm tra số serial trong trả lời và quyết
định xem có cần truyền dữ liêu không.
Nếu giá trị của số serial của Primary Server bằng với số serial lưu tại nó thì
sẽ kết thúc luôn. Và nó sẽ thiết lập lại với các thông số cũ lưu trong máy.
Nếu giá trị của số serial tại Primary Server lớn hơn giá trị serial hiện tại
DNS nhận dữ liệu. Thì nó kết luận zone cần được cập nhật và cần đồng bộ
dữ liệu giữa hai DNS server
- Nếu DNS server nhận kết luận rằng zone cần phải lấy dữ liệu thì nó sẽ gửi yêu
cầu IXFR tới DNS server chính để yêu cầu truyền dữ liệu của zone.
- DNS server chính sẽ trả lời với việc gửi những thay đổi của zone hoặc toàn bộ
zone.
Nếu DNS server chính có hỗ trợ việc gửi những thay đổi của zone thì nó sẽ
gửi những phần thay đổi của nó (Incremental zone transfer of the zone).
Nếu DNS server chính không hỗ trợ thì nó sẽ gửi toàn bộ zone (Full AXFR
transfer of the zone ).
Client sẽ gửi yêu cấu cần phân giải địa chỉ IP của máy tính có tên
girigiri.gbrmpa.gov.au đến name server cục bộ. Khi nhận yêu cầu từ resolver,
Nameserver cục bộ sẽ phân tích tên này và xét xem tên miền này có do mình quản
lý hay không. Nếu như tên miền do Server cục bộ quản lý, nó sẻ trả lời địa chỉ IP
của tên máy đó ngay cho resolver. Ngược lại, server cục bộ sẽ truy vấn đến một
Root Name Server gần nhất mà nó biết được. Root Name Server sẽ trả lời địa chỉ
IP của Name Server quản lý miền au. Máy chủ name server cục bộ lại hỏi tiếp
name server quản lý miền au và được tham chiếu đến máy chủ quản lý miền
gov.au. Máy chủ quản lý gov.an chỉ dẫn máy name server cục bô tham chiều đến
Lê Thị Thanh Hiền S0809G – BachKhoa-Npower 31
Đồ án môn học Server: DNS trên LINUX
máy chủ quản lý miền gbrmpa.gov.au. Cuối cùng máy name server cục bộ truy
vấn máy chủ quản lý miền gmrmpa.gov.au và nhận được câu trả lời.
Truy vấn đệ quy (Recursive query) : Khi name server nhận được truy vấn
dạng này, nó bắt buộc phải trả về kết quả tìm được hoặc thông báo lỗi nếu
như truy vấn này không phân giải được. Nameserver không thể tham chiếu
truy vấn đến một name server khác. Namesserver có thể gửi truy vấn dạng
đệ quy hoặc tương tác đến nameserver khác nhưng nó phải thực hiện cho
đến khi nào có kết quả mới thôi.
Truy vấn tương tác : khi nameserver nhận được truy vấn dạng này, nó trả
lời cho resolver với thông tin tốt nhất mà nó có đc vào thời điểm đó. Bản
thân nameserver không thực hiện bất cứ một truy vấn nào thêm. Thông tin
tốt nhất trả về có thể lấy từ dữ liệu cục bộ (kể cả cache). Trong trường hợp
nameserver không tìm thấy trong dữ liệu cục bộ nó sẽ trả về tên miền và
địa chỉ IP của nameserver gần nhất mà nó biết.
Ví Dụ: Miền in-addr.arpa có thể có 256 subdomain. Tuơng ứng 256 giá
trị từ 0 đến 255 của byte đầu tiên trong địa chỉ IP. Trong mỗi Subdomain lại có
256 subdomain còn nữa ứng với byte thứ 2. Cứ như thế và đến byte thứ 4 có các
bản ghi cho tên miền đầy đủ của các máy tính hoặc các mạng có địa chỉ IP tuơng
ứng.
Lưu ý: khi đọc tên miền địa chỉ IP sẽ xuất hiện theo thứ tự ngược
Truy vấn từ Client đến Server sử dụng cổng nguồn là 1023 và cổng đích là
53.
Server trả lời truy vấn về cho sử dụng cổng nguồn là 53, cổng đích lớn hơn
1023.
Truy vấn và trả lời giữa các server sử dụng giáo thứ UDP cổng nguồn và
đích đều là 53, với TCP truy vấn của server sẽ sử dụng còng > 1023.
Stub Zone: chứa bản sao cơ sở dữ liệu của zone nào đó, nó chỉ chứa một
vài RR.
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).
3. Sự ủy quyền giữa các miền con (Delegating Subdomains)
Hình
1.11 :Sự ủy quyền
Một trong các mục tiêu thiết kế hệ thống DNS là khả năng quản lý phân tán thông
qua cơ chế ủy quyền (delegation). Trong một miền có thể tổ chức thành nhiều
miền con, mỗi miền con có thể được ủy quyền cho một tổ chức khác và tổ chức
đó chịu trách nhiệm duy trì thông tin trong miền con này. Khi đó, miền cha chỉ
cần một con trỏ trỏ đến miền con này để tham chiếu khi có các truy vấn.
4. Forwarders.
Là kỹ thuật cho phép Name Server nội bộ chuyển yêu cầu truy vấn cho
các Name Server khác để phân giải các miền bên ngoài.
Ví dụ: Trong Hình 1.8, ta thấy khi Internal DNS Servers nhận yêu cầu
truy vấn của máy trạm nó kiểm tra xem có thể phân giải được yêu cầu
này hay không, nếu không thì nó sẽ chuyển yêu cầu này lên Forwarder
DNS server (multihomed) để nhờ name server này phân giải dùm, sau
khi xem xét xong thì Forwarder DNS server (multihomed) sẽ trả lời yêu
cầu này cho Internal DNS Servers hoặc nó sẽ tiếp tục forward lên các
name server ngoài Internet.
named xem thu mục /var/named/chroot là thư mục gốc, các file
/var/named/chroot/var/named.conf là tập tin khai báo zone,
/var/named/chroot/var/named là thư mục lưu trữ file cơ sở dữ liệu. Khi ta dung
chroot thì tất cả các file cấu hình named đều được đưa vào thư mục
/var/nameg/chroot. Nếu ta không sử dụng package này nghĩa là ta loại bỏ bind-
chroot-9.2.3-13.i386.rpm thì các file mô tả thông tin cấu hình DNS được lưu lại.
- /var/named/chroot/etc/named.conf
- /var/named/chroot/var/named
- /etc/rndc.key, /etc/rndc.conf là các file hỗ trọ cho vấn đề chứng
thực trong named.
Tập tin này chứa những thông tin quan trọng được sử dụng bởi daemon named
khi daemon này hoạt động.
Nội dung của tập tin này như sau:
// generated by named-bootconf.pl
options [ ; chỉ định các tùy chọn.
directory "/var/named"; Thư mục lưu trữ file cơ sở dữ liệu của zone.
/*
* If there is a firewall between you and nameservers you want
* to talk to, you might need to uncomment the query-source
* directive below. Previous versions of BIND always asked
* questions using port 53, but BIND 8.1 uses an unprivileged
* port by default.
*/
// query-source address * port 53;
];
//
// a caching only nameserver config
//
controls [
inet 127.0.0.1 allow [ localhost; ] keys [ rndckey; ];
];
zone "." IN [
type hint;
file "named.ca";
];
zone "localhost" IN [
type master;
file "localhost.zone";
allow-update [ none; ];
];
zone "0.0.127.in-addr.arpa" IN [
type master;
file "named.local";
allow-update [ none; ];
];
include "/etc/rndc.key";
Options
Định nghĩa những cấu hình toàn cục cho DNS server:
Cú pháp:
Options [
(directory path_name
Bước 2: Tạo tập tin cơ sở dữ liệu phân giải địa chỉ IP thành tên máy (tập tin phân
giải ngược ).
Lê Thị Thanh Hiền S0809G – BachKhoa-Npower 44
Đồ án môn học Server: DNS trên LINUX
$ TTL 86400
@ IN SOA localhost.. root.localhost. (
2001112800;
10800;
1800;
36000;
86400)
IN NS localhost.
1 IN PTR localhost.
Cấu hình DNS Client nhằm sủ dụng công cụ nslookup kiểm tra những name
Server vùa cấu hình. Trong Linux, nhưng thông số cấu hình DNS client được lưu
trong tập tin /etc/resolv.conf . Tập tin đó dùng để quyết định DNS Server cụ thể
cần phải truy vấn và cách bổ sung phần tên miền cho phần tên của máy. Nôi dung
của tập tin đó có dạng sau:
Đối với máy Linux ta vào tập tin /etc/resolv.conf thêm vào 2 dòng sau :
Trong đó :
nameserver : dùng để định nghĩa máy chủ DNS mà resolver sẽ gủi yêu cầu
phân giải tên hoặc địa chỉ IP khi có nhu cầu. Sau từ khóa nameserver là
địa chỉ IP của Name Server.
domain : sẽ được nối thêm vào sau tên máy tính khi resolver gủi yêu cầu
đến server.
Bước 4: Khởi động và kiểm tra hoạt động của dịch vụ DNS
Khi đã hoàn thành các thao tác cần thiết cấu hình cho máy chủ DNS, ta khởi động
dịch vụ bằng lệnh: service named restart. Rồi ta tiếp tục kiểm tra để khẳng định
những cấu hình này đã đúng hay còn sai sót những điểm nào. Một công cụ đắc lực
giúp kiểm tra cấu hình DNS là nslookup hoặc lênh host.
# service named restart
# nslookup
>www.localhost
Server: localhost
Address: localhost IP
Kiểm tra các Record của miền bằng lệnh:
>Set type=any
>domain_name
$ TTL 86400
@ IN SOA ns.detai.com. root.detai.com. (
2001112800;
10800;
1800;
36000;
86400)
IN NS ns.detai.com.
IN MX 10 mail.detai.com.
ns IN A 192.168.5.19
www IN CNAME ns.detai.com.
mail IN A 192.168.5.19
$ TTL 86400
@ IN SOA ns.detai.com. root.detai.com. (
2001112800;
10800;
1800;
36000;
86400)
IN NS ns.detai.com.
IN MX 10 mail.detai.com.
19 IN PTR ns.detai.com.
Namerserver 192.168.5.19
Domain detai.com
Bước 5: Khởi động và kiểm tra hoạt động của dịch vụ DNS
# Service named restart
# nslookup
Hình 1.10
Thông thường miền cha cung cấp các domain con cho miền con dưới hình thức
ủy quyền cho miền con tự quản lý và tổ chức cơ sở dữ liệu cho miền con (thuật
ngữ này thường được gọi là delegation domain), hoặc miền cha tạo hosting
domain cho miền con (theo cách này thì miền cha phải tổ chức và quản lý cơ sở
dữ liệu cho miền con). Dựa vào sơ đồ trên ta thực hiện các thao tác cơ sau đẻ thực
hiền công việc cung cấp subdomain qua cơ chế ủy quyền cho các nameserver
quản lý cở sở dữ liệu của miền con. Tại nameserver quản lý cơ sở dữ liệu của
miền con. Tại nameserver quản lý cơ sở dữ liệu cho miền com.vn ta có thông tin
sau đẻ thực hiện cơ chế ủy quyền cho hai miền con là vinamilk.com.vn và
honda.com.vn và cho 1 server vinamilkserv và hondaserv quản lý:
Vinamilkserv IN A <ip-address1>
Vinamilk IN A vinamilkserv.com.vn
Trong đó IPaddress 1 là địa chỉ của nameserver quản lý cơ sở dữ liệu cho miền
vinamilk.com.vn. Sau đó ta cần mô tả RR PTR cho vinamilkserv trong file mô tả
cơ sở dữ liệu chơ zone ngịch.
Hondaserv IN A <ip-address2>
Honda IN NS hondaserv.com.vn
Trong đó ipaddress 2 là địa chỉ Ip của nameserver quản lý cơ sở dữ liệu cho miền
Honda.com.vn
Lưu ý: ở miền con ta cần mô tả forwarders (ipaddress;… ) lên miền cho đẻ miền
con nhờ nameserver của miền cho phân giải tên miền bên ngoài cho miền con.
Kết luận
Dịch vụ DNS ra đời giúp cho việc truy cập tới các web site từ bất cứ đâu được đễ
dàng hơn. Thay vì nhớ địa chỉ IP , dịch vụ DNS phân giải địa chỉ IP thành tên
máy, giúp cho viêc tìm hiểu, trao đổi thông tin một cách đơn giản linh hoạt.
Qua quá trình tìm hiểu dưới sụ hướng dẫn của thầy Nguyễn Thanh Toàn và tham
khảo ý kiến đóng góp của các thầy giáo bộ môn và các bạn tập thẻ S0809G, em
hoàn thành đồ án môn Server “DNS trên LINUX” đã trình bày rõ các vấn đền
sau:
Giới thiệu về DNS.
Các dữ liệu chứa trên DNS (Resource Record).
Hoạt động của DNS Server trên LINUX.
Cấu hình DNS.
Trong quá trình thực hiện cũng có một số vấn đề xảy ra nhưng đã được khác
phục.
Ưu điểm của dịch vụ:
Giúp người dùng dễ dàng nhớ và truy cập tài nguyên mạng.
An toàn và tin cậy.
Việc quản trị tập trung và dễ dàng hơn.
Mục tiêu của đồ án: Giới thiệu cơ chế tổ chức và quản lý dịch vụ DNS trên môi
trường LINUX.
Tailieu.vn
Quantrinmang.com
Hê điều hành LINUX - trường Bách khoa Npower
Chứng chỉ quản trị mang LINUX Trường ĐH Tự Nhiên
Phụ lục
Lời cảm ơn...........................................................................................................................1
Lời nhận xét.........................................................................................................................2
Lời mở đầu...........................................................................................................................3
Chương I. GIỚI THIỆU HỆ THỐNG TÊN MIỀN DNS....................................................5
I. Tên miền là gì ?............................................................................................................5
II. Hệ thống tên miền là gì (Domain Name System).......................................................6
1. Lịch sử phát triển hệ thống tên miền.......................................................................6
2. Mục đích của hệ thống tên miền (DNS)...................................................................7
III. Cấu trúc của hệ thống tên miền (DNS)......................................................................7
1. Cấu trúc cơ sở dữ liệu.............................................................................................7
2. Cấu trúc của tên miền..............................................................................................9
a)Cách đặt tên miền.....................................................................................................9
b)Các loại tên miền......................................................................................................9
c) Cấu trúc tên miền :.................................................................................................11
3. Máy chủ quản lý tên miền (Domain name server-dns)..........................................12
Chương II. CƠ SỞ DỮ LIỆU DNS SERVER...................................................................16
I. Bản ghi SOA (Start of Authority ).............................................................................16
II. A (Address) và CNAME (Canonical Name)............................................................18
1.Bản ghi kiểu A.........................................................................................................18
2. Bản ghi CNAME....................................................................................................19
III.MX (Mail Exchange)................................................................................................19
IV. Bản ghi NS..............................................................................................................21
V. Bản ghi PTR..............................................................................................................22
VI.AAAA.......................................................................................................................22
VII. SRV........................................................................................................................22
Chương III. HOẠT ĐỘNG CỦA DNS SERVER TRONG LINUX.................................24
I. Phân loại DNS server.................................................................................................24
1. Primary server.......................................................................................................24
2. Secondary server...................................................................................................24
3. Caching-only server...............................................................................................26
II. Đồng bộ dữ liệu giữa các DNS server( Zone transfer).............................................27
1. Các phương pháp đồng bộ dữ liệu giữa các DNS server......................................27
2. Cơ chế hoạt động đồng bộ dữ liệu giữa các DNS server.....................................28
III. Cơ chế phân giải tên................................................................................................30
1. Phân giải tên thành IP...........................................................................................30
2. Phân giải tên IP thành tên máy.............................................................................33
IV. Hoạt động của Name Server trong Linux................................................................35
V. Một số khái niệm cơ bản...........................................................................................35
1. Domain name và zone............................................................................................35
2. Fully Qualified Domain Name (FQDN)................................................................36
3. Sự ủy quyền giữa các miền con (Delegating Subdomains).......................................37
4. Forwarders.................................................................................................................37
5. Stub zone...................................................................................................................38
6. Dynamic DNS............................................................................................................39
7. Active Directory- integrated zone.............................................................................39