Cache DNS trên Linux là bộ nhớ tạm lưu trữ các bản ghi phân giải tên miền nhằm tăng tốc độ truy cập website. Việc xóa cache DNS giúp bạn khắc phục lỗi truy cập do thông tin DNS cũ, đảm bảo kết nối chính xác đến máy chủ. Bài viết này sẽ hướng dẫn bạn cách xóa cache DNS Linux một cách đơn giản và hiệu quả nhất.
Những điểm chính
- Khái niệm Cache DNS Linux: Hiểu rõ cache DNS trên Linux là gì, vai trò của nó trong việc tăng tốc độ phân giải tên miền khi truy cập website.
- Cách xác định trình phân giải DNS cục bộ: Biết cách kiểm tra hệ thống đang sử dụng trình phân giải nào để áp dụng phương pháp xóa cache phù hợp.
- Hướng dẫn xóa cache DNS trên Linux: Nắm được các cách xóa cache DNS tùy theo hệ thống – sử dụng resolvectl, tín hiệu hoặc khởi động lại dịch vụ systemd-resolved.
- Xóa cache DNS trên Google Chrome: Biết cách làm sạch DNS cache trình duyệt Chrome để khắc phục lỗi truy cập trang web liên quan đến DNS.
- Kiểm tra việc xóa cache DNS: Biết cách xác nhận cache DNS đã được xóa thành công để đảm bảo hiệu quả.
- Biết thêm Vietnix là nhà cung cấp dịch vụ lưu trữ uy tín: Hỗ trợ kỹ thuật nhanh chóng, dịch vụ ổn định, phù hợp cho cả cá nhân và doanh nghiệp.
- Câu hỏi thường gặp: Giải đáp các thắc mắc phổ biến liên quan đến việc xóa cache DNS trên Linux và trình duyệt.
Cache DNS Linux là gì?
Cache DNS Linux là bộ nhớ tạm thời lưu trữ các bản ghi DNS của những website bạn đã truy cập trên thiết bị sử dụng hệ điều hành Linux. Các bản ghi này có nhiệm vụ ánh xạ tên miền (như vietnix.vn) đến địa chỉ IP tương ứng, giúp hệ thống truy cập website nhanh hơn mà không cần phân giải lại từ đầu.

Tuy nhiên, theo thời gian, cache DNS có thể bị lỗi hoặc chứa thông tin cũ, gây ra các vấn đề như không tải được trang web, mạng chập chờn, tốc độ duyệt web chậm hoặc trình duyệt bị treo liên tục. Trong những trường hợp này, việc xóa (flush) cache DNS sẽ giúp hệ thống lấy lại thông tin DNS mới và chính xác nhất từ internet, cải thiện hiệu suất và độ ổn định khi truy cập web.
Cách tìm trình phân giải DNS cục bộ
Trước khi tiến hành xóa cache DNS trên Linux, bạn cần xác định hệ thống đang sử dụng trình phân giải DNS cục bộ nào. Điều này giúp bạn chọn đúng phương pháp xóa cache phù hợp. Để kiểm tra, bạn có thể sử dụng lệnh sau:
sudo lsof -i :53 -S
Giải thích các thành phần của lệnh:
- lsof: Dùng để liệt kê các tệp tin đang được mở cùng với các tiến trình tương ứng.
- -i :53: Tìm các tiến trình đang sử dụng cổng 53, cổng mặc định của DNS.
- -S: Hiển thị các tiến trình liên quan đến socket.
Kết quả trả về sẽ cho bạn biết tiến trình nào đang chiếm dụng cổng 53. Nếu bạn thấy xuất hiện tên “systemd-resolved”, thì đó chính là trình phân giải DNS cục bộ mà hệ thống của bạn đang sử dụng.
Cách xóa cache DNS Linux
Cách 1: Sử dụng lệnh resolvectl (dành cho hệ thống dựa trên systemd)
Đây là cách phổ biến và chính thống để xóa cache DNS trên các hệ điều hành Linux sử dụng systemd. Công cụ resolvectl tương tác trực tiếp với systemd-resolved – dịch vụ chịu trách nhiệm quản lý phân giải tên miền trên hệ thống.
Bước 1: Mở Terminal và chạy lệnh resolvectl – Bạn có thể mở nhanh Terminal bằng tổ hợp phím Ctrl + Alt + T. Sau đó nhập lệnh sau để xóa cache DNS:
sudo resolvectl flush-caches
Trong đó:
- sudo: Thực thi lệnh với quyền quản trị.
- resolvectl: Công cụ dòng lệnh giao tiếp với systemd-resolved.
- flush-caches: Tuỳ chọn yêu cầu systemd-resolved làm mới toàn bộ cache DNS.
Bước 2: Xác minh việc xóa cache DNS – Sau khi chạy lệnh trên, bạn có thể kiểm tra trạng thái của dịch vụ systemd-resolved để xác nhận cache đã được làm mới. Lệnh này sẽ hiển thị trạng thái dịch vụ systemd-resolved và xác nhận rằng nó vẫn đang hoạt động bình thường sau khi cache được xóa:
sudo systemctl status systemd-resolved
Cách 2: Sử dụng tín hiệu
Đây là phương pháp thay thế khi bạn muốn xóa cache DNS mà không cần khởi động lại dịch vụ. Lệnh sẽ gửi một tín hiệu USR2 đến tiến trình systemd-resolved, yêu cầu nó làm mới cache.
Bước 1: Gửi tín hiệu USR2 đến tiến trình systemd-resolved – Bạn mở Terminal (Ctrl + Alt + T) và nhập lệnh sau:
sudo killall -USR2 systemd-resolved
Trong đó:
- sudo: Thực thi lệnh với quyền quản trị.
- killall: Gửi tín hiệu đến tiến trình theo tên.
- -USR2: Tín hiệu USR2 được gửi tới tiến trình systemd-resolved để yêu cầu làm mới cache.
Bước 2: Kiểm tra nhật ký xác minh việc làm mới cache – Bạn sử dụng lệnh sau để xem các dòng log liên quan đến systemd-resolved, qua đó xác minh quá trình xóa cache đã diễn ra:
sudo journalctl -r -u systemd-resolved
Trong đó:
- -r: Hiển thị log theo thứ tự ngược (dòng mới nhất lên đầu).
- -u systemd-resolved: Chỉ lọc log của dịch vụ systemd-resolved.
Cách 3: Sử dụng systemctl để khởi động lại systemd-resolved (cho các hệ thống dựa trên systemd)
Nếu bạn muốn đảm bảo chắc chắn cache được làm mới, bạn có thể chọn khởi động lại toàn bộ dịch vụ systemd-resolved. Cách này hiệu quả trong trường hợp bạn nghi ngờ dịch vụ không hoạt động đúng hoặc muốn làm sạch hoàn toàn.
Bước 1: Mở Terminal – Bạn nhấn Ctrl + Alt + T để mở nhanh cửa sổ dòng lệnh.
Bước 2: Thực hiện khởi động lại dịch vụ systemd-resolved – Bạn chạy lệnh sau:
sudo systemctl restart systemd-resolved
Trong đó:
- restart: Khởi động lại dịch vụ.
- systemd-resolved: Tên dịch vụ chịu trách nhiệm phân giải DNS.
Bước 3: Kiểm tra lại bằng trình duyệt – Sau khi dịch vụ khởi động lại, cache DNS sẽ được làm mới. Bạn có thể mở trình duyệt và truy cập lại các website trước đó để kiểm tra kết quả.
Cách xóa cache DNS trên Google Chrome
Ngoài cache DNS được lưu trữ ở cấp hệ điều hành, trình duyệt Google Chrome cũng lưu lại các bản ghi DNS riêng của nó. Nếu bạn đã xóa cache DNS hệ thống nhưng vẫn gặp lỗi truy cập website, rất có thể cache DNS của Chrome đang là nguyên nhân. Để đảm bảo quá trình phân giải DNS không bị ảnh hưởng, bạn nên xóa luôn cache này.
Bước 1: Mở Google Chrome và truy cập vào công cụ quản lý DNS nội bộ – Bạn dán đường dẫn sau vào thanh địa chỉ của trình duyệt:
chrome://net-internals/#dns
Bước 2: Xóa cache DNS trong Chrome – Tại trang quản lý DNS, bạn sẽ thấy nút “Clear host cache”. Bạn nhấn vào nút này để tiến hành xóa toàn bộ cache DNS mà Chrome đang lưu.
Cách kiểm tra cache DNS đã được xóa hay chưa
Sau khi bạn đã thực hiện xong thao tác xóa cache DNS bằng một trong các phương pháp như dùng resolvectl, tín hiệu USR2, hoặc khởi động lại systemd-resolved, bạn có thể kiểm tra xem cache đã được xóa thành công chưa bằng các bước sau:
Bước 1: Kiểm tra trạng thái dịch vụ systemd-resolved – Bạn mở Terminal bằng tổ hợp phím Ctrl + Alt + T, sau đó chạy lệnh như bên dưới. Lệnh này sẽ hiển thị trạng thái của dịch vụ systemd-resolved, giúp bạn xác nhận rằng dịch vụ vẫn đang hoạt động bình thường sau khi DNS cache được xóa.
sudo systemctl status systemd-resolved
Bước 2: Kiểm tra phân giải DNS bằng lệnh nslookup – Bạn có thể kiểm tra việc phân giải DNS mới bằng cách sử dụng lệnh sau:
nslookup google.com
Một số sự cố thường gặp khi kiểm tra DNS cache:
- Lỗi “Command not found”: Nếu gặp lỗi không tìm thấy các lệnh như
resolvectl
hoặcsystemctl
, bạn hãy kiểm tra xem hệ thống của bạn có sử dụng systemd-resolved để quản lý DNS không. Một số bản phân phối Linux cũ có thể không hỗ trợ những lệnh này. - DNS vẫn không hoạt động: Nếu sau khi xóa cache mà vẫn không thể phân giải tên miền, bạn nên:
Kiểm tra file cấu hình DNS:
cat /etc/resolv.conf
Khởi động lại dịch vụ mạng:
sudo systemctl restart network-manager
Đảm bảo DNS server được cấu hình đúng (nếu bạn đang sử dụng DNS tùy chỉnh).
- Hệ thống không sử dụng systemd: Nếu hệ thống của bạn không dùng systemd, bạn hãy sử dụng các công cụ thay thế như nscd hoặc dnsmasq tùy theo bản phân phối.
Vietnix – Nhà cung cấp dịch vụ lưu trữ chất lượng cao
Vietnix là một trong những lựa chọn hàng đầu khi bạn cần thuê VPS với chất lượng vượt trội. Với dịch vụ VPS Linux được xây dựng trên hạ tầng mạnh mẽ cùng 100% ổ cứng SSD, Vietnix đảm bảo tốc độ truy cập nhanh, ổn định và bảo mật tối ưu. Giao diện quản trị thân thiện giúp bạn dễ dàng tùy chỉnh hệ thống, kèm theo sao lưu tự động giúp bảo vệ dữ liệu an toàn và hiệu quả. Liên hệ ngay để được tư vấn chi tiết!
Thông tin liên hệ:
- Hotline: 18001093
- Email: sales@vietnix.com.vn
- Địa chỉ: 265 Hồng Lạc, Phường 10, Quận Tân Bình, Thành Phố Hồ Chí Minh.
- Website: https://vietnix.vn/
Câu hỏi thường gặp
Sự khác biệt giữa xóa cache DNS bằng lệnh killall -USR2
và khởi động lại systemd-resolved
là gì?
Sự khác biệt chính giữa xóa cache DNS bằng lệnh killall -USR2 systemd-resolved
và khởi động lại systemd-resolved
là:
– killall -USR2: Gửi tín hiệu để systemd-resolved xóa cache DNS mà không làm gián đoạn dịch vụ, giúp duy trì kết nối ổn định và tránh downtime.
– Khởi động lại systemd-resolved: Tắt và bật lại hoàn toàn dịch vụ DNS, đảm bảo làm mới toàn bộ hệ thống nhưng có thể gây mất kết nối tạm thời do dịch vụ bị gián đoạn.
Tóm lại, dùng killall -USR2
nhẹ nhàng hơn, còn khởi động lại là phương án triệt để nhưng có thể ảnh hưởng đến hoạt động mạng.
Xóa cache DNS Linux có gây ra mất kết nối tạm thời không và làm sao giảm thiểu điều này?
Xóa cache DNS trên Linux có thể gây mất kết nối tạm thời vì hệ thống phải phân giải lại địa chỉ IP khi truy cập tên miền mới. Để giảm thiểu, bạn nên xóa cache vào lúc ít hoạt động, dùng lệnh resolvectl flush-caches
hoặc gửi tín hiệu USR2
thay vì khởi động lại dịch vụ, đảm bảo máy chủ DNS phản hồi nhanh và đồng thời xóa cache DNS của trình duyệt nếu cần. Làm vậy giúp hạn chế gián đoạn kết nối hiệu quả.
Lời kết
Việc xóa cache DNS Linux là bước quan trọng giúp bạn khắc phục nhanh các sự cố liên quan đến DNS trên các thiết bị sử dụng hệ điều hành Linux, đảm bảo hệ thống luôn lấy được dữ liệu tên miền mới nhất và duy trì kết nối ổn định. Qua bài hướng dẫn này, mình hy vọng bạn đã nắm rõ các cách xóa cache DNS phù hợp với từng môi trường, từ sử dụng lệnh resolvectl
, gửi tín hiệu đến khởi động lại dịch vụ systemd-resolved. Đừng quên kiểm tra lại sau khi thực hiện để chắc chắn cache đã được làm mới hoàn toàn.