hosts dosyası yok sayıldı, sorun nasıl giderilir?
Windows bilgisayarlardaki hosts dosyası, diğer ad çözümleme yöntemlerini geçersiz kılmak için belirli ad dizelerini belirli IP adreslerine bağlamak için kullanılır.
Çoğu zaman, kişi hosts dosyasını değiştirmeye karar verir ve değişikliklerin etkili olmayı reddettiğini veya hosts dosyasının eski girişlerinin bile daha sonra göz ardı edildiğini keşfeder. Bir dizi "gotcha" hatası buna neden olabilir ve hangisinin olduğunu bulmak sinir bozucu olabilir.
Windows'un bir hosts dosyasını yok sayması sorunuyla karşılaşıldığında, izlenebilecek kapsamlı bir sorun giderme protokolü nedir?
Bu sorunun SO'da kopyaları var, örneğin https://serverfault.com/questions/50934/hosts-file-being-ignored
Ancak, bunlar belirli bir vakayla ilgilenme eğilimindedir ve OP'nin yaptığı hata ortaya çıktığında tartışma sona erer. Eğer siz de aynı hatayı yapmadıysanız, böyle bir tartışma çok faydalı olmayacaktır. Bu nedenle, ana bilgisayarlarla ilgili tüm sorunları çözmek için tüm durumları kapsayacak genel bir protokolün daha yararlı olacağını düşündüm.
Kendi deneyimlerime ve Google'da araştırırken karşılaştıklarıma dayanarak, işte deneyebileceğiniz bazı şeyler:
1. Doğru çalıştığını kontrol ettiniz mi?
Ana bilgisayarlarda yapılan değişiklikler hemen etkili olmalıdır, ancak Windows ad çözümleme verilerini önbelleğe alır, bu nedenle bir süre eski kayıtlar kullanılabilir. Bir komut satırı açın (Windows+R,
cmd
, Enter) ve şunu yazın:Eski verileri bırakmak için. Çalışıp çalışmadığını kontrol etmek için (www.example.com için ana bilgisayarlarınızda bir ipv4 girişi veya ipv6.example.com için ana bilgisayarlarınızda bir ipv6 girişi olduğunu varsayarak) kullanın:
Ve doğru IP'yi kullanıp kullanmadığına bakın. Evet ise, hosts dosyanızda sorun yoktur ve sorun başka bir yerdedir. Ayrıca, NetBios önbelleğini sıfırlayabilirsiniz (konsolu yönetici olarak açın yoksa başarısız olur):
DNS önbelleğindeki geçerli verileri şu şekilde kontrol edebilirsiniz:
2. Temel Bilgiler
olmalı,
host` vb. değil.hosts
değilhosts.txt
) - Windows'u bilinen uzantıları gizleyecek şekilde yapılandırdıysanız dikkatli olun, emin olmak için özellikleri kontrol edin: Doğru hosts dosyası'nın türü sadece "Dosya" olarak görünecektir.#
) eklediniz mi?www.example.com
veexample.com
- her ikisini de eklemek en güvenlisidir)?3. Beyaz boşluk
Her satırın formatı
IP adresi
, ardından yatay bir sekme (kaçış kodu\t
, ASCIIHT
, hex0x09
) veya tek bir boşluk (hex0x20
), ardından ana bilgisayar adı, yaniwww.example.com
, ardından satır başı ve ardından satır beslemesidir (kaçış kodları\r\n
, ASCIICRLF
, hex0x0d 0x0a
). Kontrol karakterlerini belirtmek için Unicode kontrol resimlerini kullanan örnek girişler. (Bunları kopyalayıp hosts dosyanıza yapıştırmayın!)Tek tek baytlar Notepad++ içinde hex editör eklentisi ile görüntülenebilir. Notepad++ ayrıca özel karakterleri de gösterecektir (View -> Show Symbol), böylece boşluk karakterlerinin sayısını ve türünü kolayca inceleyebilirsiniz. Ana bilgisayar girişlerini bir yerden kopyalayıp yapıştırdıysanız, birden fazla boşlukla karşılaşabilirsiniz. Teorik olarak hosts iki sütunu ayıran birden fazla boşluğu destekler, ancak başka hiçbir şey işe yaramazsa denemek için başka bir şeydir. Güvenli tarafta olmak için, hosts dosyanızdaki tüm satırların sekme veya boşluk kullandığından emin olun, ikisini birden değil. Son olarak, dosyayı boş bir satırla sonlandırın.
4. Kayıt Defteri Anahtarı
Hosts dosyasının konumunu belirten bir kayıt defteri anahtarı vardır. Windows'un hosts dosyasını başka bir yere koymayı desteklemediği söyleniyor, ancak kontrol etmek isteyebilirsiniz. Anahtar şöyledir:
Giriş şöyle olmalı:
5. İzinler
Bazen dosya üzerindeki izinler, dosya öznitelikleri ve benzer şeylerle ilgili sorunlar olabilir. Dosyayı varsayılan izinlerle yeniden oluşturmak için:
hosts
olarak yeniden adlandırın.%SystemRoot%\System32\drivers\etc
dizininize kopyalayın (taşımayın) ve eski dosyanın üzerine yazın. Son nokta önemlidir: Kopyalama işe yarar, taşıma yaramaz. YerelUsers
hesabı hosts dosyasını okuyabilmelidir. Emin olmak için (Windows 7'de):%SystemRoot%\System32\drivers\etc
dizinine gidin.hosts
dosyasını göremiyorsanız, gizli ve sistem dosyalarını görebildiğinizden emin olun.dosyasına sağ tıklayın ve içerik menüsünden
Özellikler` seçeneğini seçin.penceresinde,
Security` sekmesine tıklayın.kutusundaki ad listesini inceleyin. Eğer
%COMPUTERNAME%\Users` mevcutsa, izinleri görüntülemek için üzerine tıklayın.mevcut değilse veya mevcutsa ancak
Okumaiznine sahip değilse,
Düzenle...` öğesine tıklayın.mevcut değilse,
Ekle...ye tıklayın,
Kullanıcılaryazın,
İsimleri Kontrol Ete tıklayın ve Tamam
a tıklayın veya Enter tuşuna basın.ı seçin ve
İzin versütununda
Oku ve yürütseçeneğinin işaretli olduğundan emin olun. Tamam'a tıklayın. Bir
Windows Güvenliğiuyarı kutusu açılırsa, devam etmek için
Evet` seçeneğini seçin.penceresini kapatmak için Tamam
a tıklayın.6. Kodlama
Hosts dosyası BOM olmadan ANSI veya UTF-8 olarak kodlanmalıdır. Bunu Dosya -> Farklı Kaydet ile yapabilirsiniz.
7. Proxy'ler
Yapılandırılmış bir proxy'niz varsa, hosts dosyasını atlayabilir. Çözüm, proxy kullanmamak veya bunu yapmayacak şekilde yapılandırmaktır. Kontrol etmek için Internet Explorer -> Internet Seçenekleri -> Bağlantılar -> LAN ayarlarınıza gidin. Her şey boşsa ve "Ayarları otomatik olarak algıla" işaretliyse, bir proxy kullanmıyorsunuz demektir. Web'e erişmek için bir proxy'ye güveniyorsanız ve bu nedenle devre dışı bırakmak istemiyorsanız, Internet Explorer -> Internet Seçenekleri -> Bağlantılar -> LAN ayarları -> Proxy Sunucusu / Gelişmiş'e giderek istisnalar ekleyebilirsiniz. Ardından istisnalarınızı İstisnalar metin kutusuna ekleyin. Örneğin
localhost;127.0.0.1;*.dev
8. DNS adresi
(Bu aynı zamanda proxy sorunlarını da çözebilir.) Ağ bağlantıları özelliklerinize, ardından TCP/IP ayarlarına gidin ve ilk DNS sunucusunu
127.0.0.1
(localhost) olarak değiştirin. İkincisi muhtemelen gerçek DNS'inizin IP'si olmalıdır. Hosts dosyasının çalışması için bu gerekli değildir, ancak bir şey garip bir şekilde yapılandırılmışsa sizin durumunuzda yardımcı olabilir.9. .local adresleri
myhost.local şeklinde bir .local alan adı girişi kullanıyorsanız ve göz ardı ediliyorsa lütfen aşağıdakileri deneyin
www.myhost.local mevcut olmasa bile. Windows bir şekilde çalışma grubunu veya yerel etki alanını eklemiyor.
Önce ipadresini ve ardından "domain"'i aşağıdaki gibi yazdığınızdan emin olun:
Benim durumumda Windows 7 tarafından oluşturulan dosyayı denedim: C:\Windows\System32\drivers\etc\hosts.ics.
hosts.ics:
Sonuç olarak, Windows C:\Windows\System32\drivers\etc\hosts içindeki ayarları yok sayar ve hosts.ics dosyasından kullanır.