Cai dat va cau hinh Windows Server 2012 R2 (38)

(Tiếp theo của "Cai dat va cau hinh Windows Server 2012 R2 (37)")

Cơ chế lưu tạm (caching) trên máy DNS server


Như đã trình bày trong phần Hoạt động của DNS, quá trình phân giải tên khá tốn thời gian và phức tạp. Tuy nhiên, trong nhiều trường hợp máy DNS server không nhất thiết phải gửi từng truy vấn tới các name server tại mỗi mức của tên DNS cần phân giải. Lý do là, DNS server có khả năng lưu lại các kết quả của các lần truy vấn trước đó trong đĩa cứng của nó.

Ví dụ, trong quá trình thực hiện yêu cầu phân giải tên từ DNS client, DNS server sẽ lưu lại địa chỉ IP của tên cần phân giải cùng với địa chỉ IP của các name server tại mỗi mức. Lần sau, khi có yêu cầu phân giải tên tương tự, DNS server sẽ trực tiếp trả lời cho DNS client dựa trên các thông tin đã được lưu trong đĩa cứng. Ngoài ra, nếu DNS client yêu cầu phân giải một cái tên khác, nhưng cùng trong một miền mà nó đã yêu cầu trước đây, DNS server sẽ gửi truy vấn trực tiếp tới name server của miền đó, mà không gửi tới root name server. Như vậy, việc phân giải các tên đã từng được nhiều người yêu cầu sẽ nhanh hơn một cái tên chưa được yêu cầu phân giải bao giờ.

Cơ chế lưu tạm là một giải pháp quan trọng trong kiến trúc DNS, cơ chế này giúp giảm số lượng các yêu cầu truy vấn gửi tới các name server mức gốc (root) và mức một (top-level), các name server này vốn là các “cổ chai” trong hệ thống DNS. Tuy nhiên, thông tin lưu tạm trên các DNS server cũng cần phải được cập nhật, đây cũng là vấn đề cần xem xét của cơ chế lưu tạm.

Vì mọi DNS server đều có lưu (tạm) các thông tin của DNS trong đĩa cứng của nó, nên khi một name server có thay đổi thông tin về DNS, thông tin thay đổi phải được cập nhật ở tất cả các DNS server. Việc cập nhật có thể mất hàng giờ, thậm chí hàng ngày để hoàn thành. Trong thời gian đang cập nhật, người dùng có thể nhận được các kết quả truy vấn không chính xác.

Nếu người quản trị thiết lập thời gian lưu tạm thông tin trên DNS server dài quá sẽ làm cho quá trình cập nhật bị chậm. Ngược lại, nếu thời gian lưu tạm quá ngắn sẽ làm cho các name server mức gốc (root name server) và mức một (top-level domain server) bị quá tải do quá trình cập nhật gây ra.

Khoảng thời gian lưu tạm thông tin DNS trên các DNS server được gọi là thời gian sống của thông tin (time to live), viết tắt là TTL. Có điều đặc biệt ở đây là, TTL không phải do người quản trị trên DNS server lưu tạm (DNS server caching) thiết lập, mà nó được thiết lập tại nơi tạo và quản lý các bản ghi thông tin của DNS (tại name server).

Thông thường người quản trị sẽ dựa vào mức độ biến động của thông tin DNS tại domain hoặc zone của mình để thiết lập giá trị TTL. Với các hệ thống có độ biến động thông tin DNS lớn, giá trị TTL nhỏ sẽ giúp các DNS client nhanh chóng nhận được các thông tin mới nhất. Với các hệ thống ít có sự thay đổi thông tin DNS, giá trị TTL lớn sẽ giúp giảm áp lực trong việc cập nhật thông tin DNS.

Trong Windows Server 2012 R2, để thay đổi giá trị TTL của một zone, bấm chuột phải vào zone, chọn Properties, chọn táp Start Of Authority (SOA), thay đổi giá trị của TTL trong mục Minimum (default) TTL. Xem hình minh họa.



Cơ chế lưu tạm (caching) trên máy DNS client (resolver)


Trên máy DNS client cũng có cơ chế lưu tạm thông tin DNS. Các địa chỉ IP đã được phân giải và nội dung của tập tin HOSTS sẽ được lưu trong ổ đĩa cục bộ. Khi máy client có nhu cầu phân giải tên, hệ thống sẽ kiểm tra trong ổ đĩa cục bộ trước, sau đó, nếu không có thông tin, hệ thống mới gửi yêu cầu phân giải tới DNS server.

Truy vấn (query) và tham vấn (referral) trong DNS


Quá trình một DNS server truy vấn một DNS server khác gọi là quá trình tham vấn (referral). Quá trình này thường xuyên xảy ra trong hoạt động của DNS (tạm sử dụng từ tham vấn, vì chưa tìm được từ nào thích hợp).

Để ý trong phần Hoạt động của DNS, DNS client đóng vai trò là nơi khởi tạo một truy vấn và nhận về kết quả của truy vấn. Sau khi nhận được yêu cầu truy vấn, DNS server của client sẽ phải tham vấn tới một vài DNS server khác trước khi có được kết quả cuối cùng để gửi cho DNS client.

DNS sử dụng hai loại truy vấn:

-          Truy vấn đệ quy (recursive query): nếu DNS server nhận được một truy vấn đệ quy, nó sẽ chịu hoàn toàn trách nhiệm trong việc phân giải tên đó sang IP. Nếu nó có sẵn địa chỉ IP của tên cần phân giải, nó sẽ trực tiếp trả lời cho máy gửi truy vấn; nếu không, nó sẽ phải gửi truy vấn đến các DNS server khác cho tới khi nào có được các thông tin cần thiết. Các DNS client luôn sử dụng các truy vấn đệ quy.

-          Truy vấn lặp (iterative query): nếu DNS server nhận được một truy vấn lặp, nó sẽ lập tức trả lời với thông tin tốt nhất mà nó đang có. Loại truy vấn lặp thường được sử dụng giữa các DNS server với nhau. Việc cấu hình một DNS server gửi truy vấn đệ quy tới một DNS server khác chỉ xảy ra khi thực hiện cấu hình server chuyển tiếp (forwarder).

Server chuyển tiếp trong DNS (DNS forwarder)


Server chuyển tiếp (forwarder) là một DNS server, nó có nhiệm vụ nhận và thực hiện các truy vấn đệ quy từ các DNS server khác.

Trong hệ thống mạng gồm nhiều DNS server cùng hoạt động, người quản trị thường không muốn tất cả chúng đều trực tiếp gửi truy vấn tới các DNS server khác trên Internet. Vì điều này thường dẫn tới có nhiều truy vấn bị lặp lại, làm tốn băng thông Internet của hệ thống mạng.

Để khắc phục tình trạng này, Windows Server 2012 R2 cho phép người quản trị thực hiện cấu hình một DNS server đóng vai trò là server chuyển tiếp (forwarder), nó sẽ thay mặt các DNS server khác thực hiện tất cả các truy vấn ra ngoài Internet.

Như vậy, mỗi khi DNS server nhận được yêu cầu truy vấn từ DNS client, nếu thông tin nó đang có không thể trả lời cho truy vấn được, thì nó sẽ chuyển truy vấn đệ quy đó cho forwarder. Forwarder sẽ tham vấn các DNS server khác trên Internet cho tới khi nào phân giải được tên ra IP. Khi có kết quả, forwarder sẽ gửi kết quả về DNS server, sau đó, DNS server chuyển kết quả cho DNS client.

Trong Windows Server 2012 R2, để cấu hình chuyển tiếp truy vấn cho forwarder, mở DNS Manager, bấm chuột phải vào nút SERVER, chọn Properties, chọn táp Forwarders, nhập tên hoặc IP của forwarder. Xem hình minh họa.



Windows Server 2012 R2 cũng hỗ trợ chuyển tiếp có điều kiện (conditional forwarding), chức năng này cho phép người quản trị chỉ định forwarder dựa trên tên truy vấn. Cụ thể, khi DNS server nhận được yêu cầu phân giải tên từ DNS client, nó sẽ kiểm tra tên cần phân giải với danh sách các forwarder của nó, nếu tên cần phân giải có xuất hiện trong danh sách thì việc chuyển tiếp mới được thực hiện. Sử dụng chức năng này giúp các tổ chức có nhiều miền nội bộ có thể truy vấn trực tiếp các DNS server nội bộ, chứ không phải truy vấn các DNS server trên Internet.

Phân giải ngược (reverse name solution)


Các phần trên đã trình bày quá trình phân giải từ địa chỉ dạng tên sang địa chỉ IP (thường được gọi là quá trình phân giải xuôi). Tuy nhiên, trong một số trường hợp, hệ thống cũng cần thực hiện việc phân giải từ địa chỉ IP sang tên, quá trình này gọi là phân giải ngược.

Hệ thống tên của DNS được tổ chức phân cấp dựa theo tên, do đó, từ một địa chỉ IP cho trước, để tìm được tên tương ứng, hệ thống chỉ còn cách là thực hiện tham vấn tới từng name server trong hệ thống. Điều này là không thực tế.

Để giải quyết vấn đề trên, các nhà phát triển DNS đã tạo ra một miền đặc biệt có tên là in-addr.arpa. Miền này được sử dụng trong việc phân giải ngược của hệ thống DNS.

Dưới miền mức hai (second-level) in-addr.arpa, còn có thêm bốn mức (miền) con nữa. Tại mỗi mức con có chứa 256 miền (con), được đặt tên theo các số từ 0 tới 255. Ví dụ, miền in-addr.arpa có 256 miền mức ba (third-level domain), chúng có tên từ 0.in-addr.arpa tới 255.in-addr.arpa; mỗi miền mức ba lại có 256 miền mức bốn (fourth-level domain); mỗi miền mức bốn lại có 256 miền mức năm (fifth-level domain); mỗi miền mức năm có 256 nút (host), được đặt tên từ 0 tới 255. Xem hình minh họa.




Vì được tổ chức theo cấu trúc phân cấp, nên ba byte đầu tiên của một địa chỉ IP có thể được biểu diễn giống như một tên miền, byte thứ tư của địa chỉ IP sẽ được lưu trong bản ghi tại miền con mức năm. Ví dụ, để phân giải địa chỉ IP 192.168.89.34 sang dạng tên, DNS server cần xác định vị trí của name server chứa tên miền 89.168.192.in-addr.arpa như cách thức thực hiện trong phân giải xuôi (từ tên miền sang IP), sau đó, tìm bản ghi có tên 34 trong miền 89.168.192.in-addr.arpa.

---------------------------
Tham khảo (Lược dịch): Craig Zacker, Exam Ref 70-410 - Installing and Configuring Windows Server 2012 R2, Microsoft Press, 2014

--------------------------- 
Cập nhật 2015/3/9
---------------------------
Đọc thêm
Cai dat va cau hinh Windows Server 2012 R2 (39)