Chào bạn, Thiện Mỹ đây. Mỗi ngày bạn gõ tên website hàng chục lần mà có lẽ chưa bao giờ nghĩ chuyện gì xảy ra trong nửa giây trước khi trang hiện lên. Tập này mình nói về DNS, phần ít ai thấy nhưng thiếu nó thì internet gần như không dùng được.
Trả lời ngắn: DNS là hệ thống phân giải tên miền, làm việc như một cuốn danh bạ khổng lồ. Bạn gõ tên miền, DNS tra ra địa chỉ số của máy chủ đang giữ website, rồi trình duyệt kết nối tới địa chỉ đó. Nhờ DNS mà ta chỉ cần nhớ những cái tên dễ nhớ thay vì những dãy số dài.
Máy tính nói chuyện bằng số
Trên internet, mỗi máy chủ có một địa chỉ số, gọi là địa chỉ IP. Máy tính tìm nhau bằng những con số này, giống như bưu điện tìm nhà bằng số nhà.
Con người thì không giỏi nhớ số. Bạn nhớ tên một quán ăn quen dễ hơn nhớ số điện thoại của nó rất nhiều.
DNS sinh ra để nối hai thế giới đó: con người dùng tên, máy tính dùng số, DNS đứng giữa dịch qua lại.
Ngoài sự tiện lợi, DNS còn cho phép thay đổi máy chủ mà không đổi tên. Website chuyển sang máy chủ mới, chỉ cần sửa bản ghi DNS, khách vẫn gõ tên cũ.
Đây là lý do tên miền có giá trị lâu dài. Máy chủ có thể thay nhiều lần, cái tên vẫn ở đó.
Bạn có thể hình dung DNS như dịch vụ chuyển tiếp thư: dù bạn chuyển nhà mấy lần, chỉ cần báo địa chỉ mới, thư gửi theo tên vẫn tới đúng chỗ.
Nửa giây ấy diễn ra thế nào
Khi bạn gõ một tên miền, máy của bạn trước hết hỏi bộ nhớ đệm của chính nó xem đã từng tra tên này gần đây chưa. Nếu có, xong ngay.
Nếu chưa, máy hỏi một máy chủ phân giải, thường do nhà mạng hoặc một dịch vụ bạn chọn cung cấp. Máy chủ này sẽ đi hỏi hộ bạn.
Nó hỏi lần lượt theo thứ bậc: hỏi máy chủ gốc xem ai quản đuôi chấm com, rồi hỏi máy chủ của đuôi chấm com xem ai quản tên miền này, rồi hỏi máy chủ tên miền của chính website để lấy địa chỉ.
Kết quả được gửi về máy bạn và lưu tạm một thời gian, để lần sau khỏi phải hỏi lại cả chuỗi.
Tất cả diễn ra trong vài phần trăm giây với đường truyền tốt. Bạn chỉ thấy trang hiện lên.
Chuỗi hỏi đáp này giải thích vì sao DNS vừa nhanh vừa có thể chậm: khi bộ nhớ đệm có sẵn thì gần như tức thì, khi phải đi hỏi cả chuỗi qua mạng xa thì có thể mất lâu hơn.
Các loại bản ghi hay gặp
Khi quản lý tên miền, bạn sẽ gặp các bản ghi DNS. Mỗi loại làm một việc riêng.
Bản ghi A cho biết tên miền trỏ tới địa chỉ IP nào. Đây là bản ghi cơ bản nhất để website chạy.
Bản ghi CNAME cho một tên trỏ sang một tên khác, thường dùng cho tên phụ như www, hoặc khi dùng dịch vụ bên ngoài.
Bản ghi MX cho biết thư gửi tới tên miền của bạn sẽ được chuyển tới máy chủ thư nào. Sai bản ghi này là mất thư.
Bản ghi TXT chứa đoạn chữ dùng để xác minh quyền sở hữu tên miền với các dịch vụ, và để khai báo chính sách chống giả mạo thư.
Bạn không cần thuộc lòng tất cả, nhưng nên biết bốn loại này để khi người làm kỹ thuật nói, bạn hiểu họ đang sửa gì.
Một mẹo nhỏ là trước khi sửa bất kỳ bản ghi nào, hãy chụp lại hoặc chép lại toàn bộ bảng bản ghi đang có. Rất nhiều sự cố email hay website sập xảy ra chỉ vì ai đó xoá nhầm một dòng mà không còn nhớ giá trị cũ là gì.
Vì sao đổi DNS phải đợi
Ai từng đổi máy chủ cho website đều gặp cảnh: sửa xong bản ghi, máy mình thấy trang mới, máy đồng nghiệp vẫn thấy trang cũ.
Nguyên nhân là bộ nhớ đệm. Mỗi bản ghi có một thời gian sống, gọi là TTL, quy định các máy chủ phân giải được giữ kết quả cũ bao lâu.
Trong khoảng thời gian đó, những nơi đã lưu kết quả cũ vẫn trả về địa chỉ cũ. Sau khi hết hạn, họ mới hỏi lại và nhận địa chỉ mới.
Người làm kỹ thuật có kinh nghiệm thường hạ thời gian sống xuống thấp vài ngày trước khi chuyển máy chủ, để lúc đổi thật mọi nơi cập nhật nhanh.
Trong lúc chờ, nên để máy chủ cũ chạy song song, đảm bảo khách vào nơi nào cũng thấy trang hoạt động.
Vậy nên khi người làm kỹ thuật nói cần chờ cập nhật DNS, đó không phải lời bao biện mà là cách hệ thống thật sự vận hành.
Lỗi DNS và an toàn
Khi trình duyệt báo không tìm thấy địa chỉ máy chủ, rất có thể là lỗi DNS: bản ghi sai, tên miền hết hạn, hoặc máy chủ tên miền gặp sự cố.
Lỗi DNS ảnh hưởng cả website lẫn email. Một bản ghi MX sai có thể làm thư của khách gửi tới công ty bị trả về mà bạn không hay biết.
Kẻ gian có thể tìm cách thay đổi kết quả DNS để đưa bạn tới trang giả. Vì vậy tài khoản quản lý DNS cần được bảo vệ bằng mật khẩu mạnh và xác thực hai lớp.
Các công nghệ như DNSSEC giúp xác minh kết quả DNS không bị làm giả trên đường đi. Bạn có thể hỏi nhà cung cấp tên miền xem đã hỗ trợ chưa.
Với doanh nghiệp, nên ghi lại toàn bộ bản ghi DNS hiện tại ở một nơi an toàn. Khi có sự cố hay đổi nhà cung cấp, bạn có bản đối chiếu.
Câu hỏi cho bạn tập này: bạn có biết tên miền của công ty mình đang dùng máy chủ tên miền của ai không?
Với gia đình, bạn cũng có thể chọn máy chủ phân giải ngoài mặc định của nhà mạng, có dịch vụ còn lọc sẵn trang lừa đảo hay nội dung không phù hợp với trẻ em. Đây là một thay đổi nhỏ trên bộ phát wifi mà nhiều nhà chưa biết tới.
Câu hỏi thường gặp
DNS là gì?
DNS là hệ thống phân giải tên miền, biến tên miền dễ nhớ thành địa chỉ IP của máy chủ để trình duyệt kết nối tới, giống như một cuốn danh bạ của internet.
Bản ghi A và CNAME khác nhau thế nào?
Bản ghi A trỏ tên miền thẳng tới một địa chỉ IP. Bản ghi CNAME cho một tên trỏ sang một tên khác, thường dùng cho tên phụ hoặc dịch vụ bên ngoài.
Vì sao đổi DNS rồi mà vẫn thấy trang cũ?
Vì các máy chủ phân giải còn giữ kết quả cũ trong bộ nhớ đệm cho tới khi hết thời gian sống TTL của bản ghi. Sau đó họ mới hỏi lại và nhận địa chỉ mới.
Bản ghi MX dùng để làm gì?
Bản ghi MX cho biết thư gửi tới tên miền sẽ được chuyển tới máy chủ thư nào. Cài sai bản ghi này có thể khiến thư bị trả về hoặc thất lạc.
Làm sao bảo vệ DNS của doanh nghiệp?
Bảo vệ tài khoản quản lý DNS bằng mật khẩu mạnh và xác thực hai lớp, lưu bản sao các bản ghi hiện tại, và hỏi nhà cung cấp về hỗ trợ DNSSEC.