Trình bày cách sử dụng DNS

DNS là gì? DNS cho phép người dùng kết nối với các trang web bằng tên miền thay vì các địa chỉ IP dài và khó nhớ. Cùng Vietnix tìm hiểu DNS là gì và cách hoạt đông, tầm quan trong của DNS qua bài viết dưới đây ngay nhé.

DNS viết tắt của Domain Name System có nghĩa là hệ thống phân giải tên miền. DNS là hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền trên Internet.

DNS là gì?

>> Xem thêm: Domain là gì? Tên miền là gì?

DNS được phát minh vào năm 1984 cho Internet và đây là một trong số các chuẩn công nghiệp của các cổng bao gồm cả TCP/IP. Hệ thống phân giải tên miền chính là chìa khóa chủ chốt của nhiều dịch vụ mạng hiện nay như Internet, Mail server, Web server…

Trình bày cách sử dụng DNS
DNS là gì?

Mỗi máy tính khi kết nối vào Internet sẽ được gán cho 1 địa chỉ IP (Ví dụ: 1414.1158.62462) riêng biệt và không trùng lẫn với bất kỳ máy tính nào khác trên thế giới. Cũng giống như vậy đối với website cũng có địa chỉ IP riêng biệt của website đó.

>> Tìm hiểu thêm địa chỉ IP là gì?

Tuy nhiên, mỗi website đề có một địa chỉ IP là các con số khá dài và khó nhớ khiến bạn không thể nhớ rõ con số IP đó.

Ví dụ địa chỉ IP là 103.200.21.192 dẫn đến website Vietnix thay vì gõ vietnix.vn trên thanh tìm kiếm. Lúc này là lúc DNS “trổ tài chuyển đổi” (ánh xạ) dãy số địa chỉ IP thành những ký tự thân thiện hơn. Chính vì nhờ có giao thức DNS nên bạn không cần phải nhớ địa chỉ IP để vào website Vietnix mà chỉ cần nhớ vietnix.vn là được.

Nói cách khác, DNS cũng giống như một danh bạ điện thoại dành riêng cho Internet. Nếu bạn biết tên của một người nhưng không biết số điện thoại hay ngược lại, bạn có thể tham khảo trong sổ danh bạ dễ dàng.

Quá trình phân giải DNS bao gồm chuyển đổi tên máy chủ (chẳng hạn như www.example.com) thành địa chỉ IP thân thiện với máy tính (chẳng hạn như 192.168.1.1). Một địa chỉ IP được cung cấp cho mỗi thiết bị trên Internet và địa chỉ đó là cần thiết để tìm thiết bị Internet phù hợp. Giống như một địa chỉ đường phố được sử dụng để tìm một ngôi nhà cụ thể.

Khi người dùng muốn tải một trang web, một bản dịch phải xảy ra giữa những gì người dùng nhập vào trình duyệt web của họ (example.com) và địa chỉ thân thiện với máy cần thiết để định vị trang web example.com.

Để hiểu quy trình đằng sau quá trình phân giải DNS, điều quan trọng là phải tìm hiểu về các thành phần khác nhau mà một truy vấn DNS phải vượt qua. Đối với trình duyệt web, việc tra cứu DNS diễn ra ở chế độ ẩn. Và không yêu cầu sự tương tác từ máy tính của người dùng ngoài yêu cầu ban đầu.

  • CNAME Record: Là một bản ghi tên quy chuẩn (Canonical Name Record). Đây là một dạng bản ghi tài nguyên trong hệ thống tên miền.
  • A Record: Dùng để trỏ tên miền website tới một địa chỉ IP cụ thể. Đây được xem là bản ghi DNS đơn giản nhất.
  • MX Record: Bản ghi này bạn có thể sử dụng để trỏ tên miền đến mail server. MX Record chỉ định server nào quản lý các dịch vụ Email của tên miền đó.
  • AAAA Record: Dùng để trỏ tên miền đến địa chỉ IPv6 và cho phép thêm host mới, TTL và IPv6.
  • TXT Record: Ngoài ra, có thể thêm giá trị TXT, Host mới, TTL và Point To để chứa các thông tin định dạng văn bản domain.
  • SRV Record: Đây là bản ghi DNS đặc biệt, dùng để xác định chính xác dịch vụ nào đang chạy Port nào. Và thông qua bản ghi này bạn có thể thêm Priority, Port, Weight, TTL, Point to.
  • NS Record: Bản ghi này có thể chỉ định Name Server cho từng tên miền phụ và bên cạnh đó có thể tạo tên Name Server, TTL hay host mới.

DNS Server gồm hai loại là Root Name ServerLocal Name Server. Để hiểu hơn, cùng Vietnix tìm hiểu chi tiết hơn về hai DNS Server này ngay dưới đây:

Root Name Server là một dịch vụ phân giải tên miền gốc và trên thế giới có khoảng 12 DNS root Server.

DNS root Server quản lý tất cả các tên miền Top-level. Khi có yêu cầu phân giải một Domain Name thành một địa chỉ IP, client sẽ gửi yêu cầu đến DNS gần nhất (DNS ISP). DNS ISP sẽ kết nối tới DNS root Server để hỏi địa chỉ của Domain Name.

DNS root Server sẽ căn cứ và dựa vào các Top Level của tên miền và từ đó có những tài liệu hướng dẫn phù hợp để chuyển hướng cho khách hàng đến đúng địa chỉ cần truy vấn.

DNS Server này dùng để chứa thông tin để truy xuất và tìm kiếm máy chủ tên miền. Và thường được duy trì và phát triển bởi các doanh nghiệp hay các nhà cung cấp dịch vụ Internet.

Nếu bạn sử dụng DNS của nhà cung cấp mạng thì bạn sẽ không cần điền địa chỉ DNS. Nhưng neeys trường hợp bạn sử dụng DNS khác, thì bạn phải điền địa chỉ cụ thể của máy chủ đó để thay đổi DNS Server:

Bước 1: Nhấn vào Start Menu > Gõ Control Panel > Chọn Control Panel.

Bước 2: Truy cập vào View network status and task.

Bước 3: Truy cập vào mạng Internet.

Bước 4: Vào phần Properties để bắt đầu thay đổi DNS máy tính.

Bước 5: Nhấp vào Internet Protocol Version 4 > Chọn Use the following DNS server addresses > Đổi DNS > OK.

Trong hầu hết các tình huống, DNS liên quan đến một tên miền được phân giải sang địa chỉ IP thích hợp. Để tìm hiểu cách thức hoạt động của quy trình này. Nó giúp theo dõi quá trình tra cứu DNS khi nó di chuyển từ trình duyệt web. Thông qua quy trình tra cứu DNS và quay lại. Chúng ta hãy xem các bước.

Lưu ý: Thông thường thông tin tra cứu DNS sẽ được lưu trong bộ nhớ cache bên trong máy tính truy vấn hoặc từ xa trong cơ sở hạ tầng DNS. Thông thường có 8 bước trong tra cứu DNS. Khi thông tin DNS được lưu trong bộ nhớ cache. Các bước được bỏ qua khỏi quy trình tra cứu DNS giúp việc này nhanh hơn.

>> Xem chi tiết hơn về cache là gì?

Ví dụ dưới đây phác thảo tất cả 8 bước khi không có cache:

Bước 1: Một người dùng nhập “example.com” vào trình duyệt web và truy vấn trên Internet. Và được nhận bởi DNS Recursive Resolver.

Bước 2: Resolver sau đó truy vấn một root nameserver DNS (.).

Bước 3: Sau đó, Root Nameserver phản hồi resolver bằng địa chỉ của máy chủ DNS tên miền cấp cao (TLD) (chẳng hạn như .com hoặc .net), nơi lưu trữ thông tin cho các tên miền của nó. Khi tìm kiếm example.com, yêu cầu ban đầu là hướng tới TLD.com.

Bước 4: Resovler sau đó thực hiện một yêu cầu tới TLD.com.

Bước 5: Sau đó, máy chủ TLD phản hồi với địa chỉ IP nameserver của domain example.com.

Bước 6: Cuối cùng, recursive resolver gửi một truy vấn đến nameserver của tên miền.

Bước 7: Địa chỉ IP cho example.com sau đó được trả về từ nameserver.

Bước 8: DNS Resovler sau đó trả lời trình duyệt web bằng địa chỉ IP của tên miền được yêu cầu ban đầu.

Bước 9: Khi 8 bước tra cứu DNS đã trả về địa chỉ IP cho example.com. Trình duyệt có thể đưa ra yêu cầu cho trang web. Trình duyệt tạo một yêu cầu HTTP đến địa chỉ IP.

Bước 10: Máy chủ tại IP đó trả về trang web sẽ được hiển thị trong trình duyệt (bước 10).

Trong một truy vấn DNS thông thường, ba loại truy vấn xảy ra. Bằng cách sử dụng kết hợp các truy vấn này. Một quy trình được tối ưu hóa cho quá trình phân giải DNS có thể giúp giảm khoảng cách di chuyển. Trong một tình huống lý tưởng, dữ liệu bản ghi được lưu trong bộ nhớ cache sẽ khả dụng, cho phép máy chủ định danh DNS trả về truy vấn không đệ quy.

3 loại truy vấn DNS

  • Recursive query: DNS client yêu cầu máy chủ DNS (thường là recursive DNS resolver). Sẽ trả lời máy khách bằng bản ghi tài nguyên được yêu cầu. Hoặc thông báo lỗi nếu resolver không thể tìm thấy bản ghi.
  • Iterative query: Trong tình huống này, DNS client sẽ cho phép máy chủ DNS trả về câu trả lời tốt nhất có thể. Nếu máy chủ DNS được truy vấn không có kết quả trùng khớp với tên truy vấn. Nó sẽ trả về một giới thiệu đến máy chủ DNS có thẩm quyền cho mức thấp hơn. DNS client sau đó sẽ thực hiện một truy vấn đến địa chỉ được giới thiệu. Quá trình này tiếp tục với các máy chủ DNS bổ sung trong chuỗi truy vấn cho đến khi xảy ra lỗi hoặc hết thời gian.
  • Non-recursive query: Thông thường điều này sẽ xảy ra khi DNS resolver client truy vấn máy chủ DNS một record mà server có quyền truy cập hoặc bản ghi tồn tại bên trong bộ đệm của server. Thông thường, một máy chủ DNS sẽ lưu các bản ghi DNS để ngăn chặn việc tiêu thụ thêm băng thông và giảm tải cho các máy chủ DNS khác.

Điển hình, trong một DNS query mà không có caching, có bốn server hoạt động cùng nhau để cung cấp địa chỉ IP cho client: Recursive Resolvers, Root Nameservers, TLD nameservers, và Authoritative Nameservers

DNS recursor (còn được gọi là DNS resolver) là một máy chủ nhận truy vấn từ DNS client, sau đó tương tác với các DNS server khác để truy tìm IP chính xác. Khi resolver nhận được yêu cầu từ client, resolver sau đó thực sự hoạt động như một client, truy vấn ba loại DNS server khác để tìm kiếm đúng IP.

Đầu tiên, resolver truy vấn root nameservers. Root-server là bước đầu tiên trong việc phân giải các tên miền có thể đọc được thành địa chỉ IP. Sau đó, root server sẽ phản hồi lại resolver bằng địa chỉ của Top Level Domain (TLD) DNS server (chẳng hạn như .com hoặc .net) lưu trữ thông tin cho các miền của nó.

Tiếp theo, resolver truy vấn TLD server. TLD server phản hồi bằng địa chỉ IP Authoritative Nameserver của tên miền. Sau đó, recursor sẽ truy vấn authoritative nameserver. Sau đó máy chủ này sẽ respond bằng địa chỉ IP của origin server.

Resolver cuối cùng sẽ chuyển địa chỉ IP của origin server trở lại client. Sử dụng địa chỉ IP này, client sau đó có thể bắt đầu truy vấn trực tiếp đến origin server. Và origin server sẽ phản hồi bằng cách gửi dữ liệu trang web cho trình duyệt web để hiển thị.

Ngoài quy trình được nêu ở trên, recursive resolver cũng có thể giải quyết các truy vấn DNS. Bằng cách sử dụng dữ liệu được lưu trong bộ nhớ cache. Sau khi truy xuất địa chỉ IP chính xác cho một trang web nhất định. Resolver sẽ lưu trữ thông tin đó trong bộ nhớ cache của nó trong một khoảng thời gian giới hạn. Trong khoảng thời gian này, nếu bất kỳ máy khách nào khác gửi yêu cầu cho tên miền đó, resolver có thể bỏ qua quy trình tra cứu DNS thông thường và chỉ cần trả lời client bằng địa chỉ IP được lưu trong bộ nhớ cache.

Khi thời gian lưu vào bộ nhớ đệm hết hạn, resolver phải truy xuất lại địa chỉ IP, tạo entry mới trong bộ nhớ cache của nó. Giới hạn thời gian này, được gọi là thời gian tồn tại (TTL) được đặt trong DNS Record cho mỗi trang web. Thông thường, thì TTL nằm trong khoảng 24-48 giờ. TTL là cần thiết vì máy chủ web đôi khi thay đổi địa chỉ IP của chúng. Do đó, các resolver không thể phân phát cùng một IP từ bộ nhớ cache vô thời hạn.

DNS Server có thể bị lỗi vì nhiều lý do, chẳng hạn như mất điện, tấn công mạng và trục trặc phần cứng. Những ngày đầu của Internet, sự cố ngừng hoạt động của DNS Server có thể có tác động rất lớn. Tuy nhiên, ngày nay có rất nhiều dự phòng được tích hợp vào DNS.

Ví dụ: Có nhiều trường hợp root DNS server, TLD nameserver. Và hầu hết các ISP đều có các recursive resolver dự phòng cho người dùng của họ. (Người dùng cá nhân cũng có thể sử dụng public DNS resolvers, như Cloudflare’s 1.1.1.1.) Hầu hết các trang web phổ biến cũng có nhiều phiên bản authoritative nameserver của họ.

>> Xem thêm: DNS 1.1.1.1 là gì?

Trong trường hợp DNS server chính bị ngừng hoạt động, một số người dùng có thể gặp phải sự chậm trễ do lượng yêu cầu được xử lý bởi các server dự phòng. Nhưng sẽ mất một lượng lớn DNS khiến một phần đáng kể Internet không khả dụng. (Điều này thực sự xảy ra vào năm 2016 khi nhà cung cấp DNS Dyn trải qua một trong những cuộc tấn công DDoS lớn nhất trong lịch sử).

>> Xem thêm một số lỗi phổ biến như: Dns_probe_finished_nxdomain

Vì hệ thống tên miền khá phức tạp và người tấn công có thể tận dụng điểm yếu trong DNS để tấn công với nhiều phương thức khác nhau. Đa số các cuộc tấn công đều tập trung vào việc lạm dụng DNS để ngăn người dùng không thể truy cập vào Internet.

Bên cạnh đó, DNS cũng có thể bị tấn công bằng phướng pháp tận dụng giao thức DNS để chuyển hướng người dùng truy cập vào các trang web độc hại nhằm đánh cắp dữ liệu nhạy cảm của cá nhân, doanh nghiệp.

Ngoài ra, việc sử dụng server đệ quy sẽ lưu phản hồi vào bộ nhớ tạm để tăng tốc độ của các truy vấn tiếp theo. Nhằm giảm số lượng request thông tin, nhưng khá nguy hiểm và dễ bị tấn công bởi Man-In-The-Middle. Những kẻ tấn công có thể truy cập vào Over IP (VoIP) để đánh cắp thông tin, mạo danh, trích xuất dữ liệu, thông tin,….

Hy vọng bài viết trên sẽ giúp cho các bạn hiểu rõ DNS là gì và cách thức hoạt động cũng như chức năng của DNS. Nếu bạn có thắc mắc hay đóng góp ý kiến, mời bạn để lại bình luận phía dưới bài viết này. Vietnix xin chân thành cảm ơn bạn.