Cách xóa bộ nhớ cache DNS trong Mac OS X và macOS

Bài viết ngắn này mô tả cách xóa (hoặc đặt lại) bộ nhớ cache DNS. Các truy vấn DNS (địa chỉ IP) thường được lưu trong bộ nhớ cache, nhưng đôi khi có thể cần làm trống và xóa bộ nhớ cache DNS. Xóa (hoặc "xả") bộ nhớ cache sẽ làm mới dữ liệu này. Ví dụ: nếu bạn gặp nhiều mã lỗi 404 (không thể tìm thấy máy chủ) hoặc bạn gặp sự cố trong đó máy chủ được đặt tên không giải quyết đúng cách, bạn có thể muốn đặt lại bộ nhớ cache DNS của mình. May mắn thay, quá trình này thực sự dễ dàng.

Giới thiệu về Bộ nhớ cache DNS của máy Mac của bạn

macOS và OS X lưu giữ bộ nhớ cache cục bộ của các truy vấn DNS đã được giải quyết trong một thời gian do máy chủ DNS chỉ định. Đôi khi, cần phải đặt lại bộ nhớ cache ngay lập tức và truy vấn lại máy chủ DNS. Ví dụ: nếu máy chủ DNS của bạn gần đây đã thay đổi, bạn có thể cần thực hiện việc này.

Nếu máy Mac của bạn không sử dụng các mục nhập DNS mới nhất từ ​​máy chủ của bạn, việc khởi động lại máy Mac thường cập nhật thông tin đã lưu trong bộ nhớ cache của nó. Nếu bạn muốn cập nhật các mục nhập DNS và bạn không thể khởi động lại máy Mac hoặc Máy chủ của mình bằng macOS hoặc OS X, hãy sử dụng các lệnh đầu cuối bên dưới (tùy thuộc vào phiên bản macOS hoặc OS X.)

Xóa bộ nhớ cache DNS trong macOS Sierra và các phiên bản Mac OS X khác nhau

macOS Sierra

Mở Terminal và nhập lệnh bên dưới. Lệnh này xóa bộ đệm MDNS và UDNS. DNS trong macOS được xử lý thông qua mDNSResponder, giết quá trình này là cách dễ nhất để đặt lại bộ nhớ cache DNS của bạn trên máy Mac ngoài việc khởi động lại và thay đổi cài đặt DNS theo cách thủ công. Hãy nhớ rằng khi được nhắc nhập mật khẩu, hãy nhập mật khẩu đăng nhập Mac của bạn và nhấn Enter.

sudo killall -HUP mDNSResponder Lệnh sudodscacheutil -flushcache cũng hoạt động 

OS X 10.10 Yosemite & El Capitan

Sử dụng lệnh Terminal sau để đặt lại bộ đệm DNS trong OS X v10.10.4 trở lên

sudo killall -HUP mDNSResponder 

Sử dụng lệnh Terminal sau để đặt lại bộ đệm DNS trong OS X v10.10 đến v10.10.3

sudo Discoveryutil mdnsflushcache

Nhập mật khẩu quản trị của bạn khi được nhắc thực hiện xả.

OS X 10.9 Mavericks

Mở Terminal và nhập:

dscacheutil -flushcache; sudo killall -HUP mDNSResponder

OS X Mountain Lion hoặc Lion (10.7 và 10.8)

Khởi chạy ứng dụng Terminal (Ứng dụng> Tiện ích> Thiết bị đầu cuối) và nhập (nhập mật khẩu quản trị của bạn khi được nhắc):

sudo killall -HUP mDNSResponder

Mac OS X 10.6 và 10.5

Mở Terminal và nhập:

sudo dscacheutil -flushcache

Mac OSX 10.4 trở xuống

Khởi chạy Terminal và nhập:

tra cứu -flushcache 

Xác minh các vấn đề DNS của bạn đã được giải quyết

Để kiểm tra xem DNS của bạn hiện đang hoạt động bình thường hay không, hãy sử dụng lệnh "đào". Ở trong Nhà ga và nhập “đào appletoolbox.com. ” Hoặc tên của bất kỳ trang web nào bạn thường xuyên truy cập – chỉ cần đảm bảo rằng bạn nhập dig trước địa chỉ web.

Lệnh đào được sử dụng để truy vấn máy chủ định danh DNS để biết thông tin về địa chỉ máy chủ lưu trữ, trao đổi thư, máy chủ định danh và thông tin liên quan. Nếu tốc độ là vấn đề của bạn, hãy xem trong PHẦN TRẢ LỜI để biết Thời gian truy vấn.

Nếu con số đó quá cao, nghĩa là mất quá nhiều thời gian để trang web tải, hãy thay đổi cài đặt DNS của máy tính, thiết bị hoặc bộ định tuyến của bạn thành Máy chủ DNS mở (208.67.222.222 & 208.67.220.220) hoặc Máy chủ DNS công cộng của Google (8.8. 8.8 và 8.8.4.4.)

Lưu tệp .scpt vào màn hình của bạn để truy cập nhanh

  • Mở “Trình chỉnh sửa tập lệnh” và thêm lệnh sau, sau đó lưu vào màn hình của bạn (sao chép và dán dòng sau bao gồm dấu ngoặc kép)
    • Đối với macOS Sierra, hãy thực hiện tập lệnh shell “Sudo killall -HUP mDNSResponder”
    • Đối với El Capitan, hãy tập lệnh shell “Sudo dscacheutil-flushcache; sudo killall -HUP mDNSResponder ”
  • Nhấp đúp vào tệp đó bất cứ lúc nào bạn cần để xóa DNS
  • Nếu bạn muốn một thông báo trong Terminal cho bạn biết rằng DNS đã bị xóa, hãy thêm lệnh sau vào dòng của bạn
    • ; nói rằng bộ nhớ cache DNS đã được xóa thành công

bài viết gần đây