Chủ Nhật, 26 Tháng 4, 2009 | Tác giả:

tin tôi đi. Chúng tôi vẫn đang đối phó với regexes – chỉ trong một vòng xoay (và mơ hồ thực tế) đường. Đây là một danh sách khá toàn diện về làm thế nào để đi về đỏ bừng cache DNS trong khi sử dụng regexes để hiển thị, nơi các phương pháp tương tự như đi chệch.

Tại sao chúng ta muốn xóa cache DNS chính xác?

Có một số lý do để xóa DNS lưu trữ, mặc dù tôi tin rằng đây là những phổ biến nhất:

  • một intranet dịch vụ có privăn rồi (nội bộ) địa chỉ IP khi vào mạng công ty nhưng nó có một địa chỉ IP công cộng để truy cập bên ngoài. Khi bạn cố gắng truy cập vào dịch vụ mà từ bên ngoài sau khi truy cập nó từ bên trong, có một cơ hội mà bạn đã có thể lưu trữ các tin (không thể tiếp cận) IP. Một giải pháp dài hạn tốt là làm cho dịch vụ không thể tiếp cận ngoại trừ qua VPN. A simpler solution is to leave work at work. 😛
  • An internet service or web site changes their DNS settings and your desktop/laptop is looking at theoldsetting. In this case, the new setting has not yet propagated. Hosting Admins come across this case very often.
  • Bảo mật: If someone can track your DNS history then it wouldn’t be too hard to figure out which web sites you’ve been viewing. Though the individual pages you’ve viewed can’t be tracked in this way, the hostnames, nhu la “dogma.swiftspirit.co.za” hoặc “google.comwill be in the DNS cache, likely in the order you first accessed each site. There are better ways to do this though. One example is to use a Tor network for all DNS requests.

Flushing WindowsDNS cache, from command prompt:

Evidence suggests that prior to Cửa sổ 2000, Cửa sổ Hệ điều hành không lưu lại kết quả DNS. Các ipconfig chỉ huy, chạy từ dấu nhắc lệnh, đã được trao một số quyền kiểm soát bộ nhớ cache DNS và vẫn xấp xỉ như nhau kể từ.

Để có được lời nhắc khi sử dụng Vista như không quản lý: Khởi đầu -> Chương trình -> phụ kiện -> Click chuột phải “Dấu nhắc lệnh” -> Chạy như quản trị viên

Nếu không thì: Khởi đầu -> Ra -> [cmd ] -> [ OK ]

ipconfig / flushdns

Flush the DNS Resolver Cache in Windows

Nó cũng có thể xóa bộ nhớ cache trong Windows bằng cách khởi động lại các “DNS Client” hoặc “Dnscache” vụ.

Flushing Mac OS X bộ nhớ cache DNS, từ dấu nhắc shell:

từ Mac OS X, táo Macs đã được chạy Unix-based, POSIX-compliant, hệ điều hành dựa trên Bước tiếp theo, bản thân ban đầu có chứa mã từ FreeBSDNetBSD. Mac OS X sử dụng lookupd hoặc dscacheutil để quản lý bộ nhớ cache DNS, tùy theo phiên bản.

Để có được dấu nhắc: Các ứng dụng -> Tiện ích -> Thiết bị đầu cuối

(lookupd|dscacheutil) -bộ nhớ cache tuôn

Gì có chúng tôi đây? Theo một phần 1, các thanh dọc chỉ ra rằng một trong hai “lookupd” HOẶC LÀ “dscacheutil” được chấp nhận. Các ngoặc chỉ ra rằng thanh dọc chỉ áp dụng cho “lookupd|dscacheutil” phần của biểu thức. như vậy, các ” -bộ nhớ cache tuôn” không phải là bắt buộc và phải được bao gồm trong các lệnh để cho nó hoạt động. Lưu ý rằng các lệnh sản xuất không có đầu ra trừ khi có một lỗi.

Sử dụng dscacheutil nếu bạn đang sử dụng Mac OS X 10.5 (Con báo) hoặc sau đó.

Mac OS X:

lookupd -flushcache

Mac OS X Leopard:

dscacheutil -flushcache

Use dscacheutil to flush the cache in Mac OS X Leopard

Ngoài ra còn có một công cụ GUI, DNS Flusher, mà tự động sử dụng lệnh chính xác có sẵn.

Flushing Linux / Unix’ DNS cache, từ dấu nhắc shell:

N.B. Nếu bạn chưa có một trong hai trói buộc (với tra cứu bộ nhớ đệm được kích hoạt), nscd, hoặc dnsmasq cài đặt và chạy trên * nix dựa trên máy tính để bàn / máy chủ của bạn, bạn có lẽ không bộ nhớ đệm DNS ở tất cả và không có gì để tuôn ra là. In that case you will be utilising your DNS server for every web request, probably slowing your web experience.* If so, I recommend at least installing nscd as it is the easiest to set up. **

Flushing nscd’s cache

As with the Mac OS command, this produces absolutely no output unless there is an error:

(|nam )(|/usr/sbin/)nscd -i hosts
  • Use nam if you’re not already root otherwise the first selection is blank.
  • Specify /usr/sbin/ if nscd is not already within thepath”. If your distribution has nscd in a strange place, locate it first:
locate -r bin/nscd$

Notice that the abovebin/nscd$is itself a regular expression. 🙂

Using nscd, invalidate thehosts” bộ nhớ cache, logged in as a user:
sudo nscd -i hosts
Using nscd, invalidate thehosts” bộ nhớ cache, logged in as root:
nscd -i hosts
Using nscd, invalidate thehosts” bộ nhớ cache, logged in as root, specifying the full path:
/usr/sbin/nscd -i hosts

Flushing bind’s cache

Để tuôn bộ nhớ cache ràng buộc của, chúng tôi phát hành một lệnh qua rndc. Sử dụng sudo nếu bạn chưa gốc:

(|nam )rndc tuôn

Khởi động lại dịch vụ cũng làm việc cacheing!

Dưới đây là làm thế nào để khởi động lại một trong các daemon bộ nhớ đệm:

(|nam )(vụ |/etc /(RC  .d|rc  .d / init  .d|init  .d)/)(trói buộc|dnsmasq|nscd) khởi động lại

Đó là bắt đầu để có được khó đọc. *** May mắn tôi đã giải thích chi tiết:

  • Như với các lệnh trước, sử dụng sudo nếu bạn chưa phải gốc.
  • Việc lựa chọn thứ hai có quyền lựa chọn đầu tiên “vụ “. Điều này áp dụng chủ yếu với các hệ thống Red Hat / CentOS và Fedora.
  • Các “/etc /(RC .d|rc .d / init .d|init .d)/” cần phải được mở rộng thêm. Đây là đối với hầu hết các hệ thống khác. Nói chung là, các rc.d là vì nếu bạn đang sử dụng một hệ thống init BSD-style (ví dụ: Arch Linux, FreeBSD, hoặc OpenBSD). Cách tốt nhất để biết chắc chắn đó lệnh để sử dụng là để ‘xác định vị trí’ các nscd đúng hay dnsmasq path. Hầu hết các hương vị Unix, thậm chí Solaris, sử dụng nscd:
xác định vị trí -r  .d / nscd $ ; xác định vị trí -r  .d / dnsmasq $ ; xác định vị trí -r  .d / rndc $
  • Sự lựa chọn cuối cùng là giữa “trói buộc”, “nscd”, và “dnsmasq”. Điều này phụ thuộc hoàn toàn vào được cài đặt và sử dụng.
  • Các cuối cùng của mô hình, ” khởi động lại”, là hướng dẫn dành cho kịch bản kiểm soát của daemon.

Arch, sử dụng dnsmasq, khởi động lại daemon bộ nhớ cache, logged in as root:

/etc / rc.d / dnsmasq khởi động lại

Arch, sử dụng nscd, khởi động lại daemon bộ nhớ cache, đăng nhập như người dùng:

sudo /etc/rc.d/nscd khởi động lại

CentOS / Mũ đỏ, sử dụng nscd, khởi động lại daemon, như là người chủ:

dịch vụ khởi động lại nscd

nscdrestart

Tuôn bộ nhớ cache DNS nội bộ Mozilla Firefox:

Mozilla Firefox giữ bộ nhớ cache DNS riêng của mình để thực hiện. Firefox 2 sẽ chỉ bộ nhớ cache 20 mục cho đến 60 giây. Cài đặt mặc định như của Firefox 3 dường như là 512 mục cho đến 60 phút mà dường như nhiều hơn nữa hợp lý cho mỗi ngày duyệt. Nếu máy tính của bạn đã tích hợp sẵn trong bộ nhớ cache (mà bây giờ hầu hết làm) sau đó bộ nhớ cache ở đây thực sự là không cần thiết. Tôi không biết về bất kỳ trình duyệt khác mà thực hiện DNS cache.

Tôi đã tìm thấy một số giải pháp cho khi bạn cần phải xóa bộ nhớ cache. Có vẻ như có rất nhiều cách để làm điều này tuy nhiên đây là những đơn giản nhất, mà tôi đã đưa vào thứ tự ưu tiên.:

  1. cài đặt Firefox DNS Flusher Thêm vao – cung cấp một nút để tuôn ra bộ nhớ cache.
  2. cài đặt DNS cache Thêm vao – cung cấp một chuyển đổi mà vô hiệu hóa hoặc cho phép bộ nhớ cache DNS.
  3. Clear cache (xóa bộ nhớ cache của trình duyệt cũng như DNS Cache): Lựa chọn Tools -> Trong sáng Private dữ liệu; Bỏ chọn tất cả các hộp kiểm trừ Cmộtđiều đó; Nhấp chuột [ Clear Private Data Now ].
  4. Tay làm những gì DNS Cache làm: thiết lập như sau 2 về:cấu hình tùy chọn “network.dnsCacheExpiration” và “network.dnsCacheEntries” đến 0 và sau đó trở lại mặc định.

Tôi đã có một kỷ lục cache xấu và tôi xóa bộ nhớ cache của trình duyệt của tôi. Nhưng nó vẫn đem lại cho tôi những thông tin sai. Đưa cái gì?

Bởi vì cách tuyên truyền DNS công trình, bạn tốt nhất là cần phải tuôn DNS trên tất cả các máy chủ DNS giữa bản thân và “authoritive” chủ nhà, bắt đầu với các máy chủ gần nhất với các máy chủ authoritive (xa xa từ trình duyệt của bạn).

Như một ví dụ, nếu bạn có một router đó là bộ nhớ đệm DNS, thiết lập lại bộ nhớ cache của router trước khi khởi động lại bộ nhớ cache DNS của hệ thống điều hành của bạn, và chỉ sau đó bạn nên xóa bộ nhớ cache trong Firefox. Lý do là ngay cả khi bạn chỉ xóa hệ điều hành của bạn và nới lưu trữ của Firefox, máy tính để bàn của bạn vẫn sẽ hỏi router cho nó xấu kỷ lục nào.

Điều gì nếu máy chủ DNS của tôi là một máy chủ trên mạng ngoài tầm kiểm soát của tôi?

Bạn có thể thử tạm thời sử dụng một máy chủ tên khác nhau, thậm chí có thể một công khai mở máy chủ. OpenDNS cho thấy một số thông tin hữu ích về cách để làm điều này. Nếu bạn muốn, bạn cũng nên có thể nhận được thông tin có liên quan từ ISP của bạn về máy chủ DNS giải quyết của họ. Một ví dụ địa phương (Nam Phi) là Saixdanh sách các máy chủ DNS của họ giải quyết.

* Khả năng lý do tại sao Firefox có một bộ nhớ cache DNS built-in ****
** “((pacman|sưa chua) -S|hiện ra|(yum|khả năng|apt-get) cài đặt, dựng lên) nscd” và sau đó đảm bảo rằng các dịch vụ sẽ được thêm vào các script khởi động. Tham khảo tài liệu cài đặt của phân phối của bạn.
*** Tôi đang tìm kiếm một nổi bật Plugin cú pháp có thể làm việc với regex
**** Tôi đã đọc báo cáo rằng khởi động lại mạng(ing|) dịch vụ cũng xóa bộ nhớ cache DNS tuy nhiên tôi đã không nhìn thấy bất kỳ bằng chứng cho thấy điều này là đúng. Nếu bất cứ ai có một ví dụ nơi này là đúng, xin vui lòng cung cấp cho tôi với các chi tiết.
Chia sẻ
Thể loại: mạng, web
Bạn có thể làm theo bất kỳ phản ứng với cụm từ này thông qua RSS 2.0 nuôi. Bạn có thể lại một phản ứng, hoặc trackback từ trang web của riêng bạn.

2 Phản ứng

  1. 1
    Stef 

    Great article-need this..lol..

  2. 2
    John Hall 

    Thanks mate, good explanation helped me understand a little more. Its a bit of a minefield or what also I’m on Ubuntu 10.04 and it works on that to, ok thanks again John.

Để lại một trả lời » Đăng nhập