Khi lướt web, một vấn đề có thể nảy sinh bất kì khi nào là người dùng nhận được rất nhiều lỗi DNS hoặc lỗi 404 trong trình duyệt web mặc dù kết nối mạng vẫn hoạt động bình thường. Trong trường hợp này, việc học cách xóa DNS cho hệ điều hành máy tính là điều cốt lõi để phục hồi chính xác chất lượng dịch vụ cho khả năng duyệt web của máy tính. Hoạt động xóa DNS sẽ giúp loại bỏ địa điểm và tên của các trang web đã lưu hoặc cache trên máy tính. Điều này có thể ảnh hưởng tới tốc độ khi truy cập lại vào trang web (chậm hơn) nhưng nó sẽ giảm thiểu được những lỗi khi duyệt web xuất phát từ entry đang bị lỗi.
Tham khảo thêm:
- Thay đổi cách sử dụng DNS để có thể lướt web nhanh hơn
- Hướng dẫn gỡ bỏ phần mềm quảng cáo DNS Unlocker
DNS là gì?
Domain Name System (DNS) là một hệ thống cơ sở dữ liệu có thể dịch ngôn ngữ thuần của địa chỉ web hoặc địa chỉ URL sang địa chỉ IP. Hệ thống này được tạo do việc nhớ tên miền (ví dụ www.quantrimang.com.vn) dễ dàng hơn nhiều khi phải nhớ địa chỉ IP. Về cơ bản, bất kì máy tính nào trong mạng cục bộ đều có ít nhất một server đóng vai trò quản lý truy vấn DNS, thực hiện công việc cache hoặc tìm kiếm nhanh chóng để giảm thiểu thời gian cần thiết để tìm miền. Nếu server cục bộ không lưu trữ tên miền, nó sẽ yêu cầu nhận diện từ tên server tiếp theo và tiếp tục như vậy.
Đọc bài viết: Tìm hiểu về DNS? DNS Lookup là gì? để hiểu rõ hơn về DNS.
Bản ghi của DNS
Trước khi DNS được sáng tạo vào năm 1982, ý tưởng sử dụng tên thay cho địa chỉ số của máy tính trên mạng kết nối với ARPANET. Trước năm 1982, bất kì máy tính nào kết nối tới mạng đều cần phải có một file HOSTS.TXT có thể truy hồi từ một máy tính tại SRI. File này sẽ lập bản đồ của các địa chỉ dạng số. File host vẫn được sử dụng ở những hệ điều hành hiện đại để map 127.0.0.1 về “localhost”. Tuy nhiên, sự phát triển nhanh chóng của mạng máy tính đã biến file chỉnh sửa host trở nên vô dụng. Do đó, Paul Mockapetris đã sáng tạo ra Domain Name System vào năm 1983 và viết bản triển khai đầu tiên. Bản triển khai gốc sau đó được coi như là chuẩn IETF và đã được thay thế kể từ thời điểm đó. Triển khai Unix đầu tiên của DNS được hoàn thành vào năm 1984 bởi Douglas Terry, David Riggle, Mark Painter, và Songnian Zhou ám chỉ BIND server (Berkeley Internet Name Domain). BIND sau đó đã được nhập vào Windows NT đầu năm 1990.
DNS Cache Poisoning
Tương tự với những cấu trúc Internet cơ bản khác, Domain Name System ban đầu cũng không được thiết kế bảo mật cho lắm. DNS cache poisoning là thuật ngữ được dùng để miêu tả dữ liệu hoặc bảo mật trong DNS bị xâm hại. Sự xâm phạm xảy ra khi dữ liệu được giới thiệu tới DNS cache không xuất phát từ hoặc bắt nguồn từ nguồn DNS hợp lệ. Điều này có thể là bởi mã độc tấn công hay từ DNS cache xấu hoặc DNS cấu hình sai. Một khi DNS Server nhận được thông tin không hợp lệ và cache vào cơ sở dữ liệu, sau đó nó sẽ cho thông tin xấu này là độc hại. Ít nhất, server bị nhiễm độc sẽ chuyển người dùng cuối tới những trang web họ không muốn. Trong quá trình mã độc tấn công, họ có thể bị chuyển hướng tới những trang web chứa mã độc được thiết kế nhằm phá hoại máy tính khách hoặc tới những trang dành riêng để lấy cắp thông tin hoặc tiền của người dùng.
Ngăn chặn DNS Cache Poisoning
Rất nhiều vụ tấn công DNS cache poisoning truyền thống bị chặn bằng cách giúp DNS server tin tưởng những thông tin đi qua nó bằng những DNS Server khác. Điều này có thể hoàn thành bằng cách bỏ qua bản ghi DNS sẽ quay trở về server đang có yêu cầu không liên quan tới truy vấn. Phiên bản hiện tại của BIND tập trung vào tấn công mã độc bằng cách này. Thêm vào đó, triển khai cổng nguồn ngẫu nhiên cho DNS request (biến các yêu cầu trở nên khó bắt chước hơn) cùng với việc sử dụng số mã hóa bảo mật ngẫu nhiên để chọn cổng nguồn và ngay lúc đó sẽ giảm được đáng kể khả năng tấn công của DNS. Secure DNS hoặc DNSSEC là sáng kiến hiện tại đang được triển khai một cách chậm rãi để giải quyết hoàn toàn vấn đề DNS cache độc bằng cách sử dụng chữ ký điện tử và xác nhận công cộng để công nhận tính hợp pháp của dữ liệu.
Những lỗi phổ biến với DNS
Có rất nhiều vấn đề xảy ra với DNS có thể phát sinh ở cấp độ người quản trị mạng hoặc người dùng cao cấp. Tuy nhiên, đối với người dùng cuối, vấn đề chủ yếu của DNS nảy sinh do họ cấu hình sai hoặc nơi lưu trữ DNS trên máy tính cục bộ yêu cầu dọn dẹp. Không phụ thuộc vào loại hệ điều hành, rất nhiều người dùng máy tính gia đình sẽ nhập sai DNS Server của nhà cung cấp dịch vụ họ đang sử dụng dẫn tới việc kết nối Internet gặp trục trặc. Mỗi nhà cung cấp dịch vụ lại có quá trình cấu hình riêng và địa chỉ IP của DNS Server cho mạng cục bộ sử dụng được cung cấp trong hợp đồng. Rất nhiều trường hợp nhà cung cấp sử dụng địa chỉ DNS Server chính của mình, cho dù nó cùng địa chỉ với Gateway IP hay không (cũng như địa chỉ IP của router).
Xóa DNS Cache để làm gì?
Bộ nhớ cache DNS lưu trữ những địa điểm (địa chỉ IP) của máy chủ web chứa trang web mà bạn vừa xem. Nếu vị trí của máy chủ web thay đổi trước khi mục đó được cập nhật trong bộ nhớ cache DNS bạn sẽ không thể truy cập trang web. Nếu gặp phải hàng loạt lỗi HTML 404 thì sẽ phải xóa bộ nhớ cache DNS. Sau khi xóa xong, máy tính sẽ truy vấn máy chủ tên để lấy thông tin DNS mới và bạn có thể truy cập được vào trang web.
Hướng dẫn Flush DNS trong Windows bằng cách sử dụng lệnh
Bước 1 – Đóng tất cả các trình duyệt web đang mở và ứng dụng trên máy tính.
Bước 2 – Mở Windows command prompt bằng cách chọn menu “Start” và gõ “cmd” trong mục tìm kiếm, sau đó nhấn phím enter.
Bước 3 – Trong lệnh, gõ “ipconfig /flushdns” rồi nhấn phím enter. Một lúc sau, Windows sẽ hiển thị message dạng: “Successfully flushed the DNS Resolver Cache”. Sau khi message này hiển thị, có nghĩa là DNS đã xóa và gỡ bỏ tất cả các entry không hợp lệ.
Bước 4 – Hiển thị DNS resolver cache bằng cách gõ “ipconfig /displaydns” trong lệnh rồi nhấn phím enter.
Hướng dẫn xóa DNS Cache trên Windows 10
Cách 1: Sử dụng dòng lệnh
Cách làm này tương tự như trên các hệ điều hành Windows trước đây, cụ thể:
- Nhấp chuột phải vào Start Menu và mở Command Prompt (Admin), cửa sổ UAC (User Account Control) hiện ra, nhấn Yes để khởi động cửa sổ dòng lệnh với quyền quản trị.
- Trong giao diện dòng lệnh, dán lệnh ipconfig /flushdns và nhấn Enter
- Lệnh này sẽ làm sạch DNS Cache, loại bỏ những file cache quá lớn (đôi khi là nguyên nhân gây ra lỗi khi tải một trang web) và bạn sẽ nhận được thông báo Successfully flushed the DNS Resolver Cache.
Cách 2: Xóa bộ nhớ DNS sử dụng Batch File
Bạn có thể làm sạch DNS Cache bằng cách sử dụng một tập tin thực thi trong Windows 10. Tập tin này bao gồm nhiều lệnh, chỉ cần chạy file để thực hiện các lệnh chứa trong nó. Do đó, nếu ngại sử dụng giao diện dòng lệnh thì chỉ cần tải về tập tin thực thi, chạy nó để xóa DNS Cache trên Windows. Tải file tại đây.
Một số câu lệnh hữu ích liên quan đến DNS và địa chỉ IP
Nếu vẫn đang phải đối mặt với các vấn đề trên trang web, có thể sử dụng những câu lệnh dưới đây để sửa lỗi DNS hoặc các vấn đề liên quan đến địa chỉ IP:
- ipconfig /displaydns: Kiểm tra các bản ghi DNS theo cấu hình Windows IP
- ipconfig /release: Thoát khỏi các thiết lập địa chỉ IP hiện tại
- ipconfig /renew: Đặt lại các thiết lập địa chỉ IP
Hướng dẫn tắt DNS Cache trong Windows
Nếu việc xóa DNS cache không giúp giải quyết những lỗi DNS xảy ra thường xuyên trên máy tính chạy hệ điều hành Microsoft Windows, DNS cache ở máy khách hoàn toàn có thể disable được. Khi DNS cache ở máy khách bị disable, máy tính của bạn vẫn có thể sử dụng được, nhưng không hiệu quả hoặc nhanh như khi dịch vụ này được kích hoạt và làm việc bình thường.
Bước 1 – Mở Windows command prompt bằng cách chọn menu “Start” và gõ “cmd” vào mục tìm kiếm rồi nhấn phím enter.
Bước 2 – Gõ “net stop dnscache” hoặc “sc servername stop dnscache” ở cửa sổ lệnh rồi nhấn phím enter. DNS cache sẽ bị disable cho tới khi máy tính khởi động hoặc khởi động lại ở lần tiếp theo. Để có thể giữ cho thay đổi này có hiệu lực lâu dài, DNS Client Service cần được thay đổi thành disable bằng cách sử dụng Microsoft Service Controller hoặc các công cụ Services.
Các bước để dừng DNS Client Services trong Windows bằng cách sử dụng Services Tool
Bước 1 – Mở cửa sổ lệnh. Sau đó, nhập services.msc vào cửa sổ lệnh rồi nhấn phím enter.
Bước 2 – Định vị ứng dụng “DNS Client” và kích đúp vào icon của phần mềm này.
Bước 3 – Chọn menu “Stop”. Ngược lại, ứng dụng sẽ khởi động lại ở cùng một khu vực.
Thay đổi cài đặt DNS Cache trong Windows
Phương pháp sau đây cũng có thể sử dụng để chỉnh sửa Windows DNS cache ở máy khách: thay đổi 2 entry registry trong registry tương ứng với dịch vụ này.
Bước 1 – Chọn menu “Start” và gõ “regedit” trong hộp thoại tìm kiếm rồi nhấn enter.
Bước 2 – Kích vào “Edit” và “Find” và gõ “DNSCache” hoặc sử dụng menu ở bên tay trái để định vị: HKEY_LOCAL_MACHINESYSTEM → CurrentControlSet → Services → Dnscache → Parameters.
Bước 3 – MaxCacheTTL là khoảng thời gian tối đa mà Windows sẽ cache một DNS lookup. Giá trị mặc định tại thời điểm viết bài này là 86,400 giây. Người dùng có thể thay đổi entry này thành 1 để yêu cầu Windows thực hiện việc xóa cache mỗi giây. Điều này có thể ảnh hưởng xấu tới khả năng hoạt động của máy tính.
Bước 4 – Một registry key cài đặt khác cũng có thể thay đổi được là MaxNegativeCacheTTL, khoảng thời gian tối đa một kết quả DNS thất bại được cache lại. Thông thường nó sẽ được đặt ở giá trị 900 giây, nhưng nếu bạn chuyển thành 0, Windows sẽ không lưu trữ những tìm kiếm thất bại.
Chú ý: Đường dẫn tới DNS cache registry key sẽ khác biệt đôi chút phụ thuộc vào phiên bản của Windows đã cài trên máy tính của bạn. Người dùng nên cẩn thận khi chỉnh sửa registry và công việc này hoàn toàn không dành cho những người không có kinh nghiệm sử dụng máy tính.
Hướng dẫn xóa DNS trong hệ điều hành Mac OS X
Nếu là người sử dụng nhiều Internet hoặc là một lập trình web hay có khá nhiều công việc quản lý trên máy tính Mac, việc xóa DNS cache là yêu cầu chắc chắn sẽ nảy sinh. Phụ thuộc vào phiên bản của hệ điều hành đã cài trên máy tính (Leopard hay Tiger), sẽ có chút khác biệt về lệnh để xóa DNS.
Bước 1 – Nếu đã cài trình duyệt Mozilla Firefox trên máy tính và đang mở nó, hãy thoát khỏi ứng dụng này.
Bước 2 – Mở Terminal trên máy tính.
Bước 3 – Trên máy tính chạy Lion (Mac OS X 10.5, 10.6, hoặc 10.7) gõ lệnh sau và nhớ nhấn phím “return” khi hoàn thành:
dscacheutil –flushcache
Bước 4 – Trong Mac OS X 10.4 Tiger, gõ lệnh sau và nhớ nhấn phím “return” khi hoàn thành:
lookupd –flushcache
Hướng dẫn xóa DNS trong Linux
Trong rất nhiều phiên bản của Linux, nscd daemon được sử dụng để quản lý DNS cache ở máy khách. Đối với những phiên bản sử dụng phương pháp này, khởi động lại nscd daemon là cách đầu tiên để xóa DNS cache. Các phiên bản khác của Linux có thể sử dụng BIND hoặc dnsmasq để xóa.
Các bước để xóa NSCD DNS Cache
NSCD được dùng để tăng tốc quá trình truy cập liên tục vào cùng một dữ liệu và cải thiện khả năng hoạt động chung của hệ thống.
Bước 1 – gõ $sudo /etc/init.d/nscd restart và nhấn phím enter hoặc phím return.
Bước 2 – Sau khi nscd khởi động, DNS sẽ bị xóa. Thay vào đó, người dùng có thể gõ “# service nscd restart”.
Các bước để xóa DNSMASQ DNS Cache
DNMASQ được sử dụng như một DHCP, TFTP, và DNS server nhỏ gọn. Ban đầu nó được thiết kế để cải thiện các dịch vụ DHCP và DNS tới LAN, chấp nhận truy vấn DNS và trả lời chúng. Nó cũng được cài đặt trên rất nhiều router để cache truy vấn DNS hoặc tìm kiếm.
Bước 1 – gõ “$ sudo /etc/init.d/dnsmasq restart”
Bước 2 – Sau khi dnsmasq khởi động, DNS sẽ bị xóa.
Các bước để xóa BIND Server DNS Cache
Tương tự như nscd và dnsmasq, để xóa DNS cache trong BIND, chỉ cần yêu cầu khởi động để xóa cache.
Bước 1 – gõ “# /etc/init.d/named restart” tiếp đến nhấn phím enter hoặc phím return.
Bước 2 – Sau khi BIND hoàn thành khởi động, DNS sẽ bị xóa.
Hướng dẫn Disable Firefox DNS Cache
Không giống các trình duyệt web phổ biến khác, Firefox chạy DNS cache riêng của mình độc lập với những dịch vụ khác trên máy tính. Do đó, nếu bạn thường xuyên chuyển giữa VPN, home ISP hoặc các kết nối khác, kết quả không mong muốn có thể xảy ra nếu người dùng truy cập vào những dịch vụ yêu cầu sử dụng VPN, ISP,.... Do đó, khi thực hiện hành động xóa toàn bộ DNS trên máy tính, người dùng nên đóng Firefox. Nếu các vấn đề về DNS vẫn xuất hiện trên máy tính và Firefox lại là trình duyệt yêu thích của bạn, câu trả lời có lẽ nằm ở việc người dùng nên disable DNS cache trong trình duyệt này.
Bước 1 – Chạy Mozilla Firefox trên máy tính.
Bước 2 – Cài đặt plugin Firefox DNS cache.
Bước 3 – Phải chuột vào menu “Home” trên Firefox sau đó chọn menu “Customize”.
Bước 4 – Tìm kiếm nút “DNS Cache” sau đó kéo nó sang bên cạnh nút “Home” trên Firefox rồi kích nút “Done”.
Bước 5 – Kích vào nút “DNS Cache” bất cứ khi nào bạn muốn disable Firefox DNS cache.
Bước 6 – Ngoài ra, người dùng có thể thay đổi cài đặt FireFox DNS để đặt thời gian hết hạn cho cache sau 0 giây. Để thực hiện, gõ “about:config” trong thanh địa chỉ rồi nhấn phím enter hoặc phím return. Phải chuột vào khu vực trống ở màn hình hiển thị sau đó rồi chọn New → Integer.
Bước 7 – Gõ “network.dnsCacheExpiration” rồi đặt 0 là giá trị của integer. Nếu “network.dnsCacheExpiration” đã có trước, điều chỉnh giá trị integer thành 0. Nếu sau này muốn khôi phục lại mặc định của Firefox, chỉ cần thay đổi giá trị quay trở lại mặc định là 3600. Khi phím 0 được nhấn, DNS cache trong Firefox sẽ tự động hết hạn trên máy tính của bạn.