Cách xóa cache DNS trên Linux

Xóa cache DNS có nghĩa là xóa các bản ghi DNS được lưu trong cache khỏi máy tính. Điều này buộc nó phải gửi yêu cầu đến máy chủ DNS để truy xuất các mục DNS mới.

Đây là cách bạn có thể xóa cache DNS trên Linux:

Sử dụng giải pháp systemd

Bạn có thể sử dụng lệnh Resolvectl để xóa cache DNS được lưu trữ bởi systemd-resolved:

sudo resolvectl flush-caches

Nếu bạn đang chạy Ubuntu 17.04 hoặc 18.04, hãy sử dụng lệnh systemd-resolved để xóa cache:

sudo systemd-resolved --flush-caches

Xóa cache DNS nscd trên Linux

Cách thuận tiện nhất để xóa cache DNS cho nscd là khởi động lại service. Bạn có thể làm như vậy bằng cách chạy:

sudo /etc/init.d/nscd restart

Nếu cách đó không hiệu quả, trước tiên, hãy kiểm tra xem cache cục bộ được lưu trên PC có liên tục hay không. Bạn có thể sử dụng flag -g để xác minh nó:

sudo nscd -g

Nếu đúng như vậy, hãy sử dụng flag -i với lệnh nscd để xóa các bản ghi (i là viết tắt của invalidate):

sudo nscd -i hosts

Xóa cache DNS dnsmasq

Việc xóa cache DNS do dnsmasq tạo ra rất đơn giản. Vì cache được lưu trong bộ nhớ nên việc khởi động lại service sẽ xóa tất cả các mục được lưu trữ.

Để khởi động lại dnsmasq, hãy chạy lệnh systemctl sau:

sudo systemctl restart dnsmasq

Hoặc, đưa ra lệnh sau:

service dnsmasq restart

Nhập mật khẩu admin nếu được nhắc. dnsmasq bây giờ sẽ khởi động lại và tất cả các mục DNS hiện có sẽ bị xóa khỏi cache.

Sau khi xóa cache DNS, tốt nhất bạn nên xem các mục trong cache cục bộ và xác minh xem dữ liệu đã được xóa thành công hay chưa. Bạn có thể sử dụng dig, một trong nhiều lệnh Linux khắc phục sự cố mạng và kiểm tra giá trị thời gian truy vấn ở đầu ra. Nếu lớn hơn 0 mili giây thì cache đã được xóa thành công (0 mili giây có nghĩa là bản ghi domain vẫn còn trong cache).

dig google.com
Chủ Nhật, 28/07/2024 18:00
42 👨 101
0 Bình luận
Sắp xếp theo
    ❖ Linux