DNS là gì? Vai trò của DNS trong hệ thống mạng
Máy chủ DNS là khái niệm khá mới lạ đối với những người mới bắt đầu xây dựng trang web. Tuy nhiên khi đã hiểu rõ về cách thức hoạt động của nó bạn sẽ hiểu vì sao 90% doanh nghiệp hiện nay đều cần sử dụng. Nội dung chia sẻ hôm nay Bizfly Cloud sẽ đem đến bạn đọc những thông tin chi tiết nhất.
DNS là gì?
DNS là viết tắt tiếng Anh của Domain Name System, tạm dịch là hệ thống phân giải tên miền. Một cách dễ hiểu, DNS có thể được coi là danh bạ của thế giới Internet. Nó giữ vai trò chuyển đổi các tên miền dễ đọc thành địa chỉ IP của một máy chủ tương ứng và ngược lại.
DNS giúp người dùng thiết lập kết nối truy cập internet theo mong muốn. Đồng thời định vị và gán một địa chỉ cụ thể cho các thông tin trên internet
Chức năng của DNS dùng để làm gì?
Các tính năng quan trọng của hệ thống quản lý tên miền DNS gồm:
- Chuyển đổi các tên miền dễ đọc thành địa chỉ IP của máy chủ tương ứng để đảm bảo kết nối internet.
- Phân giải ngược bằng cách tìm địa chỉ IP để tìm chính xác tên miền tương ứng.
- Phân chia, quản lý danh sách tên miền một cách hiệu quả và giúp tránh xảy ra tình trạng bị trùng lặp và xung đột.
- Chỉ định máy chủ email cho một tên miền cụ thể và cung cấp thông tin NS Record.
- Hỗ trợ thông tin SOA Record bao gồm dữ liệu về người quản lý tên miền, khoảng thời gian cập nhật,...
DNS hoạt động như thế nào?
Có thể chia quá trình xử lý một yêu cầu phân giải tên miền thành 10 bước:
- Người dùng nhập tên miền (vd: example.com) vào trình duyệt, trình duyệt tìm kiếm trong bộ nhớ cache xem nó đã từng lưu thông tin tên miền đó chưa, nếu chưa nó sẽ gửi một yêu cầu phân giải đến DNS Resolver – máy chủ tên miền cục bộ đầu tiên tiếp nhận yêu cầu của user và tương tác với các tầng DNS Server khác để lấy kết quả.
- DNS Resolver gửi yêu cầu đến DNS Root Server – máy chủ gốc của cây tên miền trên Internet.
- DNS Root Server trả về địa chỉ TLD Nameserver cần truy vấn. TLD Nameserver là máy chủ lưu trữ thông tin về các tên miền ở tầng cao nhất (Top Level Domain) như “.com”, “.org”,…
- DNS Resolver gửi truy vấn đến TLD Nameserver
- TLD Nameserver trả lại thông tin của máy chủ DNS quản lý các tên miền thứ cấp thuộc các miền cao nhất (vd: example.com thuộc .com). Các máy chủ trên được gọi là Authoritative Nameserver.
- DNS Resolver gửi truy vấn theo địa chỉ nhận được tới Authoritative Nameserver, quá trình phân giải địa chỉ diễn ra tại đây.
- Authoritative Nameserver lấy IP đầy đủ của tên miền được truy vấn và trả về cho DNS Resolver.
- DNS Resolver trả địa chỉ IP kết quả về trình duyệt của người dùng để thực hiện kết nối.
- Trình duyệt thực hiện kết nối HTTP đến địa chỉ đã nhận.
- Máy chủ tại IP đó trả về nội dung trang web được hiển thị trong trình duyệt.
Quá trình phân giải nêu trên không nhất thiết phải đi qua mọi tầng máy chủ DNS. Nếu máy chủ DNS ở một cấp nào đó đã lưu sẵn thông tin mà máy chủ ở cấp độ tiếp theo cung cấp (cached), kết quả có thể được trả lại ngay cho tầng trước. Sau đây ta cùng làm rõ hơn về các loại máy chủ DNS đã đề cập ở trên.
Có bao nhiêu loại DNS Server?
DNS Root Server
Mọi truy vấn DNS đều đi qua hệ thống DNS Root Server trước khi được chuyển tiếp truy vấn tới các tầng thấp hơn, cụ thể là Top Level Domain – TLD ở tầng tiếp theo. DNS Root Server lưu trữ thông tin về các máy chủ TLD, do đó nó có thể quyết định cần phải tìm kiếm ở đâu cho các tên miền thuộc lớp cao nhất. Trên Internet hiện nay chỉ có 13 hệ thống DNS Server ở cấp độ ROOT, trải đều trên khắp các vị trí địa lý để giảm thiểu độ trễ.
DNS Resolver
DNS Resolver còn được gọi là DNS Recursor, là máy chủ nhận truy vấn từ DNS client – các thiết bị đầu cuối truy cập Internet và giao tiếp với các tầng DNS Server để lấy kết quả là địa chỉ IP tương ứng tên miền website trả cho client. Có thể coi DNS Resolver như người quản thư tận tâm trong thư viện, người lắng nghe yêu cầu về một cuốn sách và sẵn sàng tra cứu các mục lưu trữ giúp chỉ ra vị trí chính xác bạn cần đến để lấy sách.
TLD Nameserver
TLD Nameserver (máy chủ tên miền mức cao nhất) quản lý thông tin cho tất cả các tên miền có chung phần mở rộng, chẳng hạn như .com, .net hoặc bất cứ thứ gì xuất hiện sau dấu chấm cuối cùng trong url. Ví dụ: máy chủ TLD cho tên miền “.com” chứa thông tin cho mọi trang web kết thúc bằng ‘.com’. Nếu người dùng đang tìm kiếm google.com, sau khi nhận được phản hồi từ máy chủ DNS Root Server, DNS Resolver sau đó sẽ gửi một truy vấn đến máy chủ TLD cho tên miền “.com”, truy vấn này sẽ được phản hồi với địa chỉ của Authoritative Nameserver quản lý tên miền đó.
Việc quản lý máy chủ định danh TLD do Cơ quan cấp số được ấn định trên Internet (IANA), là một nhánh của ICANN. IANA chia các máy chủ TLD thành hai nhóm chính:
Miền cấp cao nhất chung: Đây là những miền không dành riêng cho quốc gia, một số TLD chung được biết đến nhiều nhất bao gồm .com, .org, .net, .edu và .gov.
Tên miền cấp cao nhất của mã quốc gia: Những tên miền này bao gồm bất kỳ tên miền nào cụ thể cho một quốc gia hoặc tiểu bang (vd: “.vn”, “.uk”, “.us”, “.ru” và “.jp”).
Authoritative Nameserver
Khi một DNS resolver nhận được thông tin của Authoritative Nameserver, đây là nơi cuối cùng nó cần truy vấn để việc phân giải tên miền diễn ra. Authoritative Nameserver có chứa thông tin cụ thể tên miền nào gắn với địa chỉ nào. Nó sẽ trả về DNS Resolver địa chỉ IP cần thiết tìm thấy trong danh mục các bản ghi của nó.
Nguyên tắc làm việc của DNS
Nguyên tắc làm việc của DNS dựa trên việc tra vấn hệ thống DNS server. Mỗi nhà cung cấp sẽ có trách nhiệm quản lý DNS server và tên miền mà mình cung cấp. Chính vì thế khi tìm kiếm một địa chỉ website bất kỳ thì chỉ có DNS Server của đơn vị quản lý website mới có thể phân giải tên miền.
DNS có thể truy vấn các DNS Server khác để phân giải các tên miền. Khi có một DNS server ngoài cố gắng phân giải tên miền chúng không quản lý thì DNS Server của tên miền mà chúng cố gắng phân giải sẽ có những động thái trả lời lại. Đây cũng là một trong hai nhiệm vụ chính mà DNS Server phụ trách.
Cách sử dụng DNS?
DNS có ảnh hưởng đáng kể đến quá trình truy cập website từ cả phía client và server, do đó cấu hình DNS phù hợp là một điều cần biết với mọi người dùng phổ thông đến các quản trị viên website.
Đối với web administrator: lựa chọn Nameserver
Khi chọn mua một tên miền, nhà cung cấp dịch vụ thường có sẵn một máy chủ tên miền (Nameserver) quản lý tên miền đó của bạn, và bạn . Bạn không cần phải làm gì nhiều với tùy chọn mặc định này ngoài việc trỏ tên miền đó tới địa chỉ IP website của bạn. Tương tự Web Hosting, việc thuê nhà cung cấp quản lý dịch vụ phân giải tên miền cho bạn gọi là DNS Hosting.
Tuy nhiên, đôi khi tùy chọn mặc định không đủ để đáp ứng nhu cầu hoặc bạn không muốn đặt tất cả hệ thống của mình vào một nhà cung cấp dịch vụ, khi đó thuê ngoài một nhà cung cấp chuyên nghiệp trong lĩnh vực DNS Hosting là một lựa chọn không tồi. Có hàng tá nhà cung cấp như cloudns, godaddy, rackspace,… lựa chọn là tùy theo khu vực địa lý mà khách hàng của bạn sinh sống và nhiều yếu tố khác. Thuê ngoài DNS hosting thường cho bạn tốc độ khả năng tùy biến, các phương án dự phòng tốt hơn so với lựa chọn mặc định.
Đối với người sử dụng thông thường: lựa chọn Resolver
Nhiều người không biết rằng tốc độ truy cập Internet của họ không chỉ phụ thuộc gói dịch vụ viễn thông mà còn có thể cải thiện chỉ bằng cách thay đổi DNS server. Thông thường mỗi nhà cung cấp dịch vụ Internet (ISP – Internet Service Provider) đều có sẵn hệ thống máy chủ phân giải tên miền, nhưng bạn cũng có thể sử dụng dịch vụ của bên thứ ba (trả phí hoặc miễn phí nhưng thậm chí vẫn có chất lượng tốt hơn) như Cloudflare, Cisco,… Không có một đáp án chung cho câu hỏi chọn nhà cung cấp DNS Resolver nào là tốt nhất, điều đó tùy thuộc vị trí địa lý và ISP của bạn, và bạn có thể tự kiểm tra bằng các công cụ DNS benchmark.
Thay đổi DNS Resolver từ phía client có thể được thực hiện trên router hoặc đơn giản nhất là từ chính thiết bị đầu cuối. Bạn có thể search với từ khóa “thay đổi DNS server” + <tên thiết bị/hệ điều hành> để biết hướng dẫn cụ thể. Dưới đây là hướng dẫn cho các phiên bản Windows:
Mở Network and Internet settings trong Control Panel.
Chọn Change Adapter Settings.
Click phải chuột vào Network Adapter của bạn, chọn Properties.
Chọn Internet Protocol Version 4 (TCP/IPv4) và sau đó chọn Properties.
Check vào ô Use the following DNS server addresses và nhập địa chỉ DNS server của nhà cung cấp muốn sử dụng (vd: Cloudflare là 1.1.1.1/1.0.0.1, google là 8.8.8.8/8.8.8.4)
Chọn OK và Done để lưu.
Làm gì khi máy chủ DNS không phản hồi?
Máy chủ không phản hồi là sự cố khá thường gặp có thể xảy ra ở bất kỳ thời điểm nào. Tình trạng này thường xảy ra do một số nguyên nhân chính như: Lỗi card mạng/ Router, DNS thiết lập không chính xác, địa chỉ IP đã bị thay đổi, dịch vụ gián đoạn, truy cập bị chặn do các chương trình diệt virus,...
Để khắc phục sự cố các bạn hãy tham khảo các xử lý như sau:
Cách 1: Kiểm tra kết nối mạng của thiết bị khác
Nếu bạn chưa xác định được lỗi máy chủ DNS không phản hồi do trình duyệt hay đường truyền mạng thì hãy thử truy cập bằng thiết bị khác. Nếu thiết bị đó vẫn truy cập mạng bình thường tức là lỗi bắt nguồn từ trình duyệt của bạn.
Trong tình huống này bạn hãy hãy gỡ trình duyệt này ra để kết nối lại hoặc dùng trình duyệt khác. Nếu sự cố vẫn chưa được xử lý bạn hãy chuyển sang áp dụng cách thứ 2.
Cách 2: Fix lại địa chỉ Network Address
Bước 1: Đầu tiên bạn hãy mở cửa sổ lệnh RUN. Tiếp theo bạn thực hiện lần lượt các thao tác => Network and Sharing => Network and Sharing Center => Change adapter settings. Sau đó bạn tìm đường dây mạng đang kết nối với máy tính rồi chọn Properties.
Bước 2: Lúc này cửa sổ Local Area Connection Properties xuất hiện bạn hãy là chuyển DNS server thành DNS mặc định của Google hoặc OpenDNS. Việc thay đổi địa chỉ được thực hiện bằng cách click chọn Internet Protocol Version 4 (TCP/IPv4) rồi thay đổi DNS lần lượt như sau:
- Preferred DNS Server nhập 8.8.8.8.
- Alternate DNS Server nhập: 8.8.4.4.
Bước 3: Sau khi thay đổi DNS bạn chọn mục Validate settings upon exit => OK. Tiếp theo bạn cần mở cửa sổ “Command Prompt” rồi thực hiện lệnh ipconfig /all. Bây giờ bạn tìm và note lại địa chỉ “Physical Address” rồi trở lại phần “Network and Sharing Center” và tiếp tục chọn “Properties”.
Bước 4: Tại mục “Configure” bạn hãy chọn thẻ “Advanced” => Network Address. Tại đây bạn hãy nhập lại dãy địa chỉ vừa note ở bước trên theo cấu trúc viết liền và không có dấu gạch ngang. Cuối cùng các bạn khởi động lại máy chủ DNS để xem kết quả.
Cách 3: Tiến hành cài đặt lại DNS
Nếu đã áp dụng cách thứ 2 mà vẫn xuất hiện lỗi máy chủ DNS thì các bạn cần khởi động lại cài đặt DNS. Bizfly Cloud sẽ hướng dẫn bạn cách thực hiện chi tiết như sau:
- Bước 1: Nhấn tổ hợp phím “Windows + R” để mở cửa sổ RUN rồi nhập lệnh cmd.exe mở “Command Prompt”.
- Bước 2: Nhận các dãy lệnh sau, sau mỗi lệnh nhấn “Enter: một lần: ipconfig /flushdns, ipconfig /registerdns, ipconfig /release, ipconfig /renew, netsh winsock reset.
- Bước 3: Khởi động lại máy tính để kiểm tra kết quả.
Có bao nhiêu loại bản ghi DNS
Như đã đề cập, các DNS Server lưu trữ cặp thông tin tương ứng tên miền – địa chỉ IP và thêm nhiều thông số bổ sung khác để hoạt động. Những thông tin này được lưu trữ dưới nhiều định dạng khác nhau gọi là bản ghi DNS (DNS Record).
Rất khó thống kê chính xác số loại bản ghi DNS hiện có, tùy thuộc vào chức năng lại có loại bản ghi khác. Cũng giống như bạn có thể lưu một file mã nguồn C++ với định dạng “.cpp” và mở trong notepad mà thông tin văn bản hiển thị chẳng khác nào một file “.txt”, nhưng sử dụng một trình code editor phù hợp mọi thứ trông sẽ rất khác. Nếu cảm thấy hứng thú với chủ đề này, bạn có thể xem qua địa chỉ wikipedia này, có đến vài chục chuẩn DNS Records được liệt kê!
Sau đây chúng tôi sẽ liệt kê 8 loại bản ghi DNS phổ biến
Loại bản ghi DNS | Mô tả |
A | Trỏ tên miền đến địa chỉ IPv4 |
AAA | Trỏ tên miền đến địa chỉ IPv6 |
CNAME | Chuyển hướng một tên miền đến một tên miền khác |
PTR | Phân giải địa chỉ IPv4/IPv6 thành tên miền |
NS | Liệt kê danh sách Authoritative Nameserver phụ trách một tên miền |
MX | Liệt kê danh sách tên miền máy chủ email của một miền |
SOA | Cung cấp chi tiết quan trọng về một DNS zone, là bản ghi cần có cho mọi DNS zone |
TXT | Cung cấp mọi loại mô tả ở định dạng văn bản |
DNS Servers và địa chỉ IP
DNS có trách nhiệm phân giải tên miền thành địa chỉ IP. Trên thực tế, đây hoàn toàn không phải việc đơn giản vì:
- Số lượng địa chỉ đang được sử dụng rất lớn, lên đến hàng tỷ địa chỉ IP
- DNS phải xử lý hàng tỷ yêu cầu truy cập Internet cùng một lúc
- Hàng triệu tên miền, địa chỉ IP được thêm vào và thay đổi mỗi ngày
Và DNS đã giải quyết những khó khăn này thông qua hiệu suất mạng và các giao thức Internet. Mỗi máy tính trên mạng đều chỉ có một địa chỉ IP duy nhất và điều do IANA quản lý vì thế nên DNS dễ dàng phân giải ra địa chỉ phù hợp.
Phân biệt Public DNS và Private DNS
DNS public là các DNS Server do các tổ chức hoặc nhà cung cấp dịch vụ Internet (ISP) cung cấp và quản lý nhằm phục vụ người dùng Internet trên thế giới. Và DNS Public cần một Public DNS Record và một địa chỉ IP có thể truy cập được Internet. Ai cũng có thể sử dụng Public DNS và không cần phải yêu cầu xác thực.
Private DNS là máy DNS thuộc sở hữu của một tổ chức hoặc doanh nghiệp có trách nhiệm phục vụ nhu cầu nội bộ. Các máy tính cục bộ có thể nhận diện Private DNS theo tên. Người dùng từ bên ngoài không thể truy cập được vào các máy tính tính nội bộ này. Private DNS cũng là nơi lưu trữ tên và địa chỉ IP của File Servers, Mail Servers, Database Servers nội bộ,…
Tại sao DNS dễ bị tấn công?
Tấn công thông qua DNS là vấn đề còn lạ lẫm với người dùng thông thường nhưng là nỗi đau đầu lớn của thế giới Internet. Sự phức tạp của các giao thức phân giải tên miền và sự phân tán của các máy chủ dịch vụ tạo ra nhiều lỗ hổng khác nhau để hacker có thể khai thác, trong đó DNS Resolver có vẻ là mắt xích dễ bị tấn công nhất.
Mục đích của các cuộc tấn công DNS rất đa dạng, từ giả mạo website, tấn công DDoS, khuếch đại quy mô các cuộc tấn công đến tấn công nhằm vào chính nhà cung cấp dịch vụ DNS. Phương thức tấn công cũng rất đa dạng từ Zero-day (tấn công lỗ hổng chưa được biết đến trong giao thức DNS), tấn công máy chủ DNS để thay thế bộ nhớ cache điều hướng tên miền,… Nói chung, để nói về các loại tấn công DNS là rất dài và chúng tôi sẽ thực hiện một bài viết riêng trong tương lai.
Có dễ dàng bị rò rỉ DNS không?
Rò rỉ DNS là tình trạng bạn đang cố che dấu việc truy cập các website nhất định khỏi sự theo dõi của ISP, hacker (và cao hơn là sự giám sát của các chính phủ?) bằng các phương thức như mã hóa dữ liệu với VPN, nhưng lại để lộ thông tin website thông qua giao thức DNS. Dĩ nhiên các nhà cung cấp dịch vụ VPN đều có giải pháp đưa thông tin DNS đi cùng tunnel với dữ liệu một cách an toàn, nhưng một sơ suất nhỏ khi cấu hình có thể khiến thông tin DNS đi theo đường riêng đến ISP, và khi đó VPN của bạn coi như mất tác dụng. Ví dụ, nếu phần mềm VPN định hướng lưu lượng truy vấn DNS của bạn đến địa chỉ A nhưng địa chỉ đó không thể truy cập, truy vấn được trả về hệ điều hành và đi đến địa chỉ B được cấu hình mặc định thông qua con đường ISP thông thường, nó sẽ không được mã hóa VPN và các đơn vị trung gian có thể đọc được dễ dàng.
Nhìn chung những lỗi rò rỉ như vậy là khá hiếm thấy, bạn có thể hạn chế bằng cách sử dụng dịch vụ VPN từ các đơn vị tin cậy hoặc kiểm tra thủ công bằng các công cụ trên Internet để xác định thông tin DNS của mình có bị rò rỉ hay không.
Top những DNS phổ biến nhất hiện nay
Xét trên toàn bộ không gian Internet, Cloudflare, Cisco, Google và OpenDNS là các nhà cung cấp dịch vụ DNS Hosting và DNS Public Resolver nổi tiếng nhất. Chúng tôi xin liệt kê địa chỉ IPv4 của các dịch vụ này để bạn tham khảo:
Cisco OpenDNS: 208.67.222.222/208.67.220.220;
Cloudflare 1.1.1.1/1.0. 0.1;
Google Public DNS: 8.8.8.8/8.8.4.4;
Quad9: 9.9.9.9/149.112.112.112.
Ở Việt Nam hiện nay, về phía người dùng, phần lớn máy chủ DNS Resolver được vận hành bởi các ISP lớn như Viettel (203.113.131.1/203.113.131.2), VNPT (203.162.4.191/203.162.4.190) và FPT (210.245.24.20/210.245.24.22) do lợi thế đi kèm với các gói dịch vụ Internet. Tuy vậy với các website tại Việt Nam, lựa chọn DNS Nameserver thường là cùng nhà cung cấp với nhà cung cấp tên miền, mang đến nhiều vấn đề như sau:
Tốc độ website của nhà cung cấp dịch vụ rất chậm, gây khó khăn cho việc cấu hình
Sau khi cấu hình bản ghi, thời gian để các DNS Resolver của Google, CloudFlare, OpenDNS,… nhận bản ghi là rất lâu.
Nếu khách hàng đang sử dụng dịch vụ của Bizfly Cloud, nhưng lại phải quản lý tên miền ở website của nhà cung cấp tên miền thì rất bất tiện.
Không có độ sẵn sàng cao. Khi server chạy website gặp sự cố, không thể tự phát hiện và trỏ tên miền sang 1 server backup.
Hiểu được những vấn đề nói trên, các chuyên gia tại Bizfly Cloud đã nghiên cứu và phát triển dịch vụ quản lý tên miền với nhiều ưu điểm vượt trội:
- Thuận tiện: Khi sử dụng các dịch vụ của Bizfly Cloud như Cloud Server, Load Balancer, khách hàng sẽ dễ dàng trỏ bản ghi ngay trên cùng website, không phải chuyển sang website của nhà cung cấp tên miền như trước.
- Độ sẵn sàng cao: Các server DNS của Bizfly Cloud được chạy trên nhiều datacenter khác nhau giúp tăng khả năng dự phòng lên rất nhiều.
- Trỏ bản ghi dễ dàng: Với giao diện thân thiện và dễ sử dụng đối với người dùng, việc tạo và quản lý bản ghi của khách hàng sẽ rất dễ dàng và nhanh chóng.
- Cập nhật bản ghi nhanh chóng: Với tính năng DNS của Bizfly Cloud, sau khi trỏ bản ghi, kết quả sẽ được cập nhật rất nhanh. Thường sẽ nhỏ hơn 30 giây.
- Có đầy đủ các bản ghi thông dụng cơ bản như A, MX, TXT, CNAME,…
- DNS của Bizfly Cloud có thể trỏ các bản ghi cho IPv6
- Các tính năng nâng cao: Bizfly Cloud cung cấp thêm các tính năng nâng cao, chuyên biệt cho khách như như health check, high available,…
- Health Check: Với DNS của Bizfly Cloud, khách hàng có thể cấu hình để kiểm tra các backend của mình. Health Check bằng tcp port hoặc qua http.
- High Available: Với bản ghi đặc biệt AA, khách hàng có thể cấu hình bản ghi A hoặc AAAA theo dạng active-active
- FailOver: Khách hàng có thể sử dụng bản ghi AP cùng health check để cấu hình active-passive
- Geo Location: Với các bản ghi GEO, tên miền của khách hàng sẽ được phân giải theo địa điểm của client. Ví dụ: với người dùng ở Hà Nội sẽ được phân giải và truy cập vào máy chủ web đặt tại Hà Nội. Còn nếu ở Hồ Chí Minh sẽ được phân giải và truy cập vào máy chủ web đặt tại Hồ Chí Minh.
Hãy truy cập bizflycloud.vn ngay hôm nay để trải nghiệm dịch vụ quản lý tên miền với chất lượng cao nhất và chi phí hợp lý!
Hi vọng bài viết này của BizFfy Cloud đã cho bạn được cái nhìn toàn diện và cung cấp đầy đủ những thông tin hữu ích về DNS và các đặc điểm của hệ thống này. Hãy luôn theo dõi và cùng chúng tôi khám phá những xu hướng mới nhất trong lĩnh vực công nghệ thông tin và điện toán đám mây.