Tin tức và phân tích của tất cả các thiết bị di động

Cách xóa bộ đệm DNS trên Linux

Máy tính lưu giữ hồ sơ của tất cả các trang web bạn truy cập trong “bộ đệm DNS”. Mục đích của bộ đệm này là để tiết kiệm thời gian khi người dùng cố gắng truy cập vào một miền; hệ thống không phải tìm kiếm nó theo cách thủ công mỗi lần. Nói chung, bộ nhớ đệm DNS tăng tốc trải nghiệm internet của bạn và đó là lý do tại sao hầu như mọi hệ điều hành, từ macOS cho đến, đều có tính năng này. Windows và Linux.

Tuy nhiên, mặc dù hữu ích như bộ nhớ đệm DNS, đôi khi vẫn có thể phát sinh các sự cố như hiển thị trang web cũ thay vì trang web mới cập nhật, không kết nối với máy chủ từ xa, v.v. Một cách tuyệt vời để khắc phục các loại lỗi này trên máy tính Linux là để “làm trống” bộ đệm DNS trên Linux. Sau khi xóa bộ đệm DNS, nó sẽ làm mới cơ sở dữ liệu DNS và loại bỏ nhiều vấn đề mà nhiều người dùng gặp phải.

Xóa DNS – Systemd đã giải quyết

Tại thời điểm này, hầu hết người dùng Linux đang chạy một hệ điều hành có hệ thống khởi tạo Systemd tích hợp sẵn. Trong khi chủ đề về Systemd gây chia rẽ cộng đồng, có một điều mà mọi người đều biết: Systemd tạo ra các bản vá sâu, phức tạp và việc bảo trì ở cấp hệ điều hành dễ dàng hơn rất nhiều so với trước đây. Điều này đặc biệt đúng với việc xóa bộ đệm DNS.

Systemd xử lý bộ đệm DNS trong một thứ được gọi là “systemd đã giải quyết”. Nó là một công cụ tiêu chuẩn tìm đường vào hầu hết các hệ điều hành Linux. Để xác định xem hệ điều hành của bạn có đang sử dụng Systemd Resolved để xử lý DNS và bộ đệm ẩn DNS trên hệ thống của bạn hay không, hãy khởi chạy cửa sổ đầu cuối bằng cách nhấn Ctrl + Alt + T hoặc Ctrl + Shift + T trên bàn phím. Sau đó chạy lệnh status systemctl trong tệp systemd-resolved.service.

systemctl status systemd-resolved.service

Xem qua bản in Systemd Resolved trong cửa sổ đầu cuối và tìm phần “Đang hoạt động” sau khi định vị phần “Đang hoạt động” và đảm bảo rằng nó có chữ “đang hoạt động (đang chạy)” bên cạnh. Nếu vậy, hệ thống Linux của bạn sử dụng điều này để quản lý DNS của nó.

Để xóa bộ đệm DNS cho Systemd Resolved, bạn cần sử dụng một trong các tính năng tích hợp sẵn của Systemd Resolved. Đặc biệt, lệnh xóa bộ đệm. Nó sẽ ngay lập tức xóa DNS và khởi động lại bạn!

sudo systemd-resolved --flush-caches

Hoặc, nếu bạn không thể sử dụng Sudo, hãy làm:

su -
systemd-resolved --flushcaches

Sau khi sử dụng lệnh flushcaches, bộ đệm DNS trên hệ thống sẽ được xóa đúng cách. Tuy nhiên, nếu bạn vẫn gặp sự cố sau khi chạy lệnh này, bạn nên khởi động lại hoàn toàn dịch vụ. Để thực hiện việc này, hãy sử dụng lệnh khởi động lại systemctl.

sudo systemctl restart systemd-resolved.service

Bạn không thể sử dụng sudo? Đăng nhập với quyền root bằng su trước khi thử khởi động lại dịch vụ bằng systemd.

su -
systemctl restart systemd-resolved.service

Khi Systemd-Resolved khởi động lại xong, tất cả các sự cố DNS sẽ được khắc phục!

Xóa DNS – Mặt nạ DNS

DNSMasq là một giải pháp DNS phổ biến khác cho nền tảng Linux mà nhiều hệ điều hành sử dụng. Giống như tiện ích Systemd-Resolved, người dùng có thể tương tác với nó bằng lệnh systemctl. Để xác định xem hệ điều hành của bạn có đang sử dụng tiện ích DNSMasq để quản lý DNS hay không, hãy chạy lệnh trạng thái.

systemctl status dnsmasq.service

Đọc bản in trạng thái mà systemd hiển thị trên màn hình. Đi qua phần “Hoạt động” của bài đọc. Đi qua nó và tìm kiếm “đang hoạt động (đang chạy)” để xác nhận rằng dịch vụ đang hoạt động. Trong trường hợp này, có thể xóa ngay bộ đệm DNS cho DNSMasq bằng cách sử dụng lệnh khởi động lại systemctl. Trong thiết bị đầu cuối, nhập lệnh sau.

sudo systemctl restart dnsmasq.service

Hoặc, đối với những người không thể sử dụng các lệnh systemd với sudo, hãy thử đăng nhập bằng Root trước khi thử khởi động lại.

su -
systemctl restart dnsmasq.service

Xóa DNS – NSCD

NSCD là hệ thống lưu trữ DNS ưa thích cho hầu hết các hệ điều hành Linux dựa trên RedHat. Do đó, nếu bạn đang sử dụng OpenSUSE Linux, CentOS hoặc thứ gì đó tương tự, rất có thể bạn sẽ phải sử dụng nó để xóa bộ đệm DNS của mình.

Lưu ý: mặc dù Fedora Linux dựa trên RedHat nhưng nó không giữ bộ đệm DNS theo mặc định.

Để xác định xem HĐH Linux của bạn có đang sử dụng NSCD hay không, bạn cần sử dụng lệnh status vì đây là dịch vụ systemd.

systemctl status nscd.service

Chạy lệnh trạng thái trên dịch vụ NSCD sẽ cung cấp cho bạn nhiều thông tin chi tiết về nó. Duyệt và tìm phần có nội dung “Đang hoạt động”. Nếu hệ thống của bạn đang sử dụng nó, bạn sẽ thấy dòng chữ màu xanh lá cây có nội dung “đang hoạt động (đang chạy)”.

Xóa bộ đệm DNS bằng NSCD hoạt động khá giống với bất kỳ hệ thống bộ đệm nào khác hoạt động với systemd. Tất cả những gì người dùng phải làm là chạy lệnh khởi động lại systemctl. Nó sẽ tải lại dịch vụ và tự động xóa bộ đệm DNS, điều này sẽ giải quyết mọi sự cố DNS mà bạn có thể gặp phải.

sudo systemctl restart nscd.service

Ngoài ra, nếu hệ điều hành Linux của bạn tắt các lệnh systemctl đang chạy với sudo, bạn có thể khởi động lại dịch vụ bằng cách đăng nhập vào root trước với su.

su -

systemctl restart nscd.service