კვირა, 26 აპრილი, 2009 | ავტორი:

Დამიჯერე. ჩვენ ჯერ კიდევ საქმე regexes – მხოლოდ შემოვლითი (და ბუნდოვნად პრაქტიკული) გზა. ეს არის საკმაოდ ამომწურავი ჩამონათვალი, როგორ წავიდეთ შესახებ ჰიპერემია DNS სამალავები, ხოლო გამოყენებით regexes რათა ნახოთ, სადაც მსგავს მეთოდებს გადაუხვევთ.

რატომ გვინდა გარკვევა DNS სამალავები ზუსტად?

არსებობს მთელი რიგი მიზეზების გამო გარკვევა DNS სამალავები, მიუხედავად იმისა, რომ მიმაჩნია, რომ ეს არის ყველაზე გავრცელებული:

  • An ქსელის მომსახურება აქვს Privშეჭამა (შიდა) IP მისამართი, როდესაც კომპანიის ქსელში, მაგრამ მას აქვს საჯარო IP მისამართი გარეთ შესვლა. როდესაც თქვენ ცდილობენ, რათა შეამოწმონ, რომ მომსახურების გარედან შემდეგ წვდომის შიგნიდან, არსებობს შანსი, რომ თქვენ არ ქეშირებული კერძო (მიუწვდომელი) IP. A good long-term solution is to make the service inaccessible except via 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.
  • კონფიდენციალურობის: 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, როგორიცაა “dogma.swiftspirit.co.za” ან “google .com” will 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 Windows’ DNS cache, საწყისი command prompt:

მტკიცებულება, რომ ადრე Windows 2000, Windows OS ის ​​არ ქეში DNS შედეგები. The ipconfig ბრძანება, აწარმოებს საწყისი command prompt, გადაეცა გარკვეული კონტროლი DNS cache და დარჩა დაახლოებით იმავე წლიდან.

იმისათვის რომ დროული თუ იყენებთ Vista როგორც არასამთავრობო Admin: დაწყება -> პროგრამები -> აქსესუარები -> მარჯვენა click “Command Prompt” -> Ადმინისტრატორის სახელით გაშვება

წინააღმდეგ შემთხვევაში: დაწყება -> Ra -> [cmd ] -> [ კარგი ]

ipconfig / flushdns

Flush the DNS Resolver Cache in Windows

ეს არის ასევე შესაძლებელია გარკვევა ქეში in Windows by გადატვირთვით the “DNS კლიენტი” ან “Dnscache” სამსახურის.

Flushing Mac OS X DNS cache, საწყისი კონსოლი:

მას შემდეგ, რაც Mac OS X, Apple მაკიs უკვე გაშვებული იუნიქსისნაირ, POSIX-პირფერი, ოპერაციული სისტემის საფუძველზე Შემდეგი ნაბიჯი, თავად თავდაპირველად შემცველი კოდი FreeBSD და NetBSD. Mac OS X იყენებს lookupd ან dscacheutil მართვა DNS cache, დამოკიდებულია ვერსია.

იმისათვის რომ სწრაფი: პროგრამები -> Utilities -> Terminal

(lookupd|dscacheutil) -flushcache

რაც აქ გვაქვს? რაც შეეხება ნაწილი 1, the ვერტიკალური ბარი ეს მიუთითებს იმაზე “lookupd” ან “dscacheutil” მისაღებია. The ფრჩხილებში მიუთითებს, რომ ვერტიკალური ბარი მხოლოდ ვრცელდება “lookupd|dscacheutil” გამოხატვის ნაწილი. ამრიგად, the ” -flushcache” არ არის სურვილისამებრ და ის უნდა შეიცავდეს ბრძანებას, რათა ის იმუშაოს. გაითვალისწინეთ, რომ ამ ბრძანებებს არ გამოაქვეყნებს შედეგი, თუ არ არის შეცდომა.

გამოიყენეთ dscacheutil, თუ იყენებთ Mac OS X- ს 10.5 (ლეოპარდი) ან მოგვიანებით.

Mac OS X:

საძიებელი

Mac OS X ლეოპარდი:

dscacheutil-flushcache

Use dscacheutil to flush the cache in Mac OS X Leopard

ასევე არსებობს GUI ინსტრუმენტი, DNS Flusher, რომელიც ავტომატურად იყენებს სწორ ბრძანებას.

Flushing Linux / Unix’ DNS cache, საწყისი კონსოლი:

ნ.ბ.. თუ უკვე არ გაქვთ სავალდებულო (ქეშირების საძიებო საშუალებით ჩართულია), nscd, ან dnsmasq დაინსტალირებული და გაშვებული თქვენს * nix- ზე დაფუძნებულ სამუშაო მაგიდაზე / სერვერზე, თქვენ ალბათ ხართ not caching DNS at all and there is nothing to flush. 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:

(|sudo )(|/usr/sbin/)nscd -i hosts
  • Use sudo 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” cache, logged in as a user:
sudo nscd -i hosts
Using nscd, invalidate thehosts” cache, logged in as root:
nscd -i hosts
Using nscd, invalidate thehosts” cache, logged in as root, specifying the full path:
/usr / sbin / nscd -i მასპინძლებს

ჰიპერემია bind ქეში

ფლეში bind ქეში, ჩვენ გასცეს ბრძანება მეშვეობით rndc. გამოიყენეთ sudo თუ თქვენ არ ხართ უკვე root:

(|sudo )rndc flush

გადატვირთვით cacheing მომსახურება ასევე მუშაობს!

აი, როგორ უნდა თავიდან არც ქეშირების daemons:

(|sudo )(სამსახურის |/etc /(rc  დ|rc  .დ / init  დ|init  დ)/)(სავალდებულო|dnsmasq|nscd) რესტარტი

რომ დაწყებული მიიღოს რთული წაკითხვის. *** საბედნიეროდ მე განმარტა დეტალურად:

  • როგორც წინა ბრძანება, გამოყენება sudo თუ თქვენ არ უკვე root.
  • მეორე შერჩევა პირველი ვარიანტი “სამსახურის “. ეს ეხება ძირითადად Red Hat / CentOS და Fedora სისტემები.
  • The “/etc /(rc დ|rc .დ / init დ|init დ)/” უნდა გაფართოვდეს შემდგომი. ეს არის ყველაზე სხვა სისტემები. საერთოდ, rc.d არის თუ თქვენ იყენებთ BSD სტილი init სისტემა (მაგალითად: Arch Linux, FreeBSD, ან OpenBSD). საუკეთესო გზა რომ იცოდეთ რომელი ბრძანების გამოყენება არის ‘განთავსება’ სწორი nscd ან dnsmasq path. Unix- ის არომატები, სოლარისაც კი, გამოიყენეთ nscd:
განთავსება -r  .d / nscd $ ; განთავსება -r  .d / dnsmasq $ ; განთავსება -r  .d / rndc $
  • ბოლო არჩევანს შორისაა “სავალდებულო”, “nscd”, და “dnsmasq”. ეს მთლიანად დამოკიდებულია იმაზე, თუ რომელი დაყენებულია და გამოიყენებს მას.
  • ნიმუშის ბოლო, ” რესტარტი”, ეს არის Daemon– ის კონტროლის დამწერლობის ინსტრუქცია.

Arch, დნესმასკის გამოყენებით, ქეშის დემონის გადატვირთვა, logged in as root:

/ა.შ. / rc.d / dnsmasq გადატვირთვა

Arch, nscd- ის გამოყენებით, ქეშის დემონის გადატვირთვა, შესულია როგორც მომხმარებელი:

sudo /etc/rc.d/nscd გადატვირთვა

CentOS / წითელი ქუდი, nscd- ის გამოყენებით, დემონის გადატვირთვა, როგორც ფესვი:

სერვისი nscd გადატვირთვა

nscdrestart

Flush Mozilla Firefox– ის შიდა DNS ქეში:

Mozilla Firefox ინახავს საკუთარი DNS ქეში შესრულებისთვის. Firefox 2 მხოლოდ ქეშს ინახავდა 20 ჩანაწერები მდე 60 წამში. Firefox– ის სტანდარტული პარამეტრი 3 როგორც ჩანს 512 ჩანაწერები მდე 60 -ე წუთზე, როგორც ჩანს, ბევრად უფრო გონივრული ყოველ დღე გვერდების. თუ თქვენი კომპიუტერი აქვს ჩაშენებული cache (რომელიც ყველაზე ახლა) მაშინ cache აქ არის რეალურად გადაჭარბებული. მე არ ვიცი არც ერთი სხვა ბრაუზერები, რომ განახორციელოს DNS ქეშირების.

მე ი რამდენიმე გადაწყვეტილებები, როდესაც თქვენ უნდა გარკვევას cache. როგორც ჩანს, არსებობს მრავალი გზა ამის გაკეთება, თუმცა ეს იოლი, რომელიც მე შევიდა მიზნით.:

  1. დააინსტალირეთ Firefox DNS flusher Დაამატე – უზრუნველყოფს ღილაკს ფლეში cache.
  2. დააინსტალირეთ DNS Cache Დაამატე – უზრუნველყოფს გადართვა, რომელიც შეუძლებელს ხდის ან საშუალებას DNS cache.
  3. Ქეშის გაწმენდა (გაასუფთავებს ბრაუზერის ქეში, ისევე როგორც DNS Cache): აირჩიეთ Tools -> Clear Private მონაცემები; გააუქმეთ ყველა მოსანიშნი უჯრა გარდა Caრომ; დაწკაპეთ [ წმინდა პირადი მონაცემების ახლა ].
  4. ხელით გავაკეთოთ, რა DNS Cache აკეთებს: მითითებული შემდეგ 2 შესახებ:config პარამეტრები “network.dnsCacheExpiration” და “network.dnsCacheEntries” უნდა 0 და შემდეგ უკან, რა.

მე მქონდა ცუდი ქეშირებული ჩანაწერი და მე განუბაჟებელი ჩემი ბრაუზერის ქეში. მაგრამ მისი მაინც მაძლევს არასწორი ინფორმაცია. რა აძლევს?

იმის გამო, DNS გავრცელების სამუშაოები, თქვენ სასურველია უნდა ფლეში DNS on ყველა DNS მასპინძლებს შორის საკუთარ თავს და “authoritive” მასპინძელი, დაწყებული მასპინძელი ყველაზე ახლოს authoritive მასპინძელი (შორ მანძილზე თქვენი ბრაუზერის).

Როგორც მაგალითი, თუ თქვენ გაქვთ როუტერი, რომელიც ქეშირების DNS, აღადგინოთ როუტერი cache დაწყებამდე DNS cache თქვენი ოპერაციული სისტემა, და მხოლოდ მაშინ უნდა გარკვევას cache in Firefox. ამის მიზეზი ის არის, რომ თუ მხოლოდ გარკვევა თქვენი OS და Firefox- ის სამალავები, თქვენს კომპიუტერში მაინც ვაპირებ ვკითხო როუტერი მისი ცუდი ჩანაწერი მაინც.

რა მოხდება, თუ ჩემი DNS სერვერი არის სერვერი, რომელიც წმინდა გარეთ ჩემი კონტროლის?

თქვენ შეიძლება ცდილობენ დროებით გამოყენებით სხვადასხვა nameserver, შესაძლოა საჯაროდ ღია სერვერზე. OpenDNS აჩვენებს კარგი ინფორმაცია, თუ როგორ უნდა გავაკეთოთ ეს. თუ გსურთ, თქვენ ასევე უნდა შეეძლოს მიიღოს შესაბამისი ინფორმაცია თქვენი ISP მათი გადაჭრის DNS სერვერები. ადგილობრივი მაგალითად (სამხრეთ აფრიკა) არის saix რომელიც სიები მათი გადაჭრის DNS სერვერები.

* სავარაუდოდ, მიზეზი, რის გამოც Firefox აქვს DNS cache ჩაშენებული ****
** “((pacman|იოგურტი) -S|წარმოშობა|(yum|aptitude|apt-get) დაინსტალირება) nscd” და შემდეგ უზრუნველყოფს, რომ მომსახურების ემატება გაშვების სკრიპტები. იხილეთ თქვენი განაწილების ინსტალაცია დოკუმენტაცია.
*** ვეძებ სინტაქსის შეფერადება მოდული, რომელსაც შეუძლია მუშაობა regex
**** მე წავიკითხე განცხადებები, რომ გადატვირთოთ სისტემა(ing|) მომსახურების ასევე წინანდელ DNS cache თუმცა მე არ მინახავს რაიმე მტკიცებულება, რომ ეს მართლაც ასეა. თუ ვინმეს აქვს, მაგალითად, სადაც ეს სიმართლეა, გთხოვთ მომაწოდეს დეტალები.
Share
კატეგორია: ქსელის, ვებ
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response, ან trackback from your own site.

3 Responses

  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.

  3. Fantastic blog! Do you have any recommendations for aspiring writers?

Leave a Reply » Შესვლა