hosts dosyası yoksayıldı, nasıl giderilir?


148

Windows bilgisayarlarındaki 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.

Sıklıkla, ana bilgisayar dosyasını değiştirmeye karar verir ve değişikliklerin etkili olduğunu reddettiğini veya daha sonra eski ana bilgisayar girişlerinin bile yok sayılacağını keşfeder. Bazı "gotcha" hataları buna neden olabilir ve hangisinin olduğunu bulmak sinir bozucu olabilir.

Windows bir ana makine dosyasını yoksayma sorunu ile karşılaştığında, izlenebilecek kapsamlı bir sorun giderme protokolü nedir?


Bu soru, SO'da, örneğin HOSTS dosyası yok sayılıyor gibi yineleniyor

Bununla birlikte, bunlar belirli bir durumla başa çıkma eğilimindedir ve OP'nin yaptığı her ne hata yapıldıysa, tartışma sona erer. Aynı hatayı yapmadıysanız, böyle bir tartışma çok yararlı değil. Bu nedenle, tüm vakaları kapsayacak tüm ev sahibi ile ilgili sorunları çözmek için genel bir protokolün olmasının daha yararlı olacağını düşündüm .


11
Ayrıca, başka bir yerde yayınlanan biri olarak, bu komut ana makine dosyasını yoksayar, çünkü bunu sınamak için "nslookup" komutunu kullanmayın. Aksine "ping" kullanın.
LatinSuD

Yanıtlar:


220

Kendi tecrübelerime ve Googling’de karşılaştığım şeye dayanarak, işte denenecek bazı şeyler:

1. Doğru çalıştığını kontrol ettiniz mi?

Ana bilgisayardaki değişikliklerin hemen geçerli olması gerekir, 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:

ipconfig /flushdns

Eski verileri bırakmak için. İşe yarayıp yaramadığını kontrol etmek için kullanın (www.example.com için ana bilgisayarlarınızda bir ipv4 girişiniz ya da ipv6.example.com için ana bilgisayarlarınızda bir ipv6 girişiniz varsayarak):

ping www.example.com -n 1
ping -6 ipv6.example.com -n 1

Ve doğru IP kullanıp kullanmadığını kontrol edin. Eğer evet ise, hosts dosyanız iyi durumda ve problem başka bir yerde.

Ayrıca, NetBios önbelleğini şu şekilde sıfırlayabilirsiniz (konsolu bir yönetici olarak açın yoksa başarısız olur):

nbtstat -R

Geçerli verileri DNS önbelleğindeki ile kontrol edebilirsiniz:

ipconfig /displaydns | more

2. Temel Bilgiler

  • Anasisteminiz doğru bir şekilde adlandırılmış mı? Olmalı, hostsolmama hostvb.
  • Uzantı doğru mu? Bir uzantıya sahip olmamalıdır ( hostsdeğil hosts.txt) - bilinen uzantıları gizlemek için pencereleri yapılandırdıysanız, emin olmak için özellikleri kontrol edin: Doğru ana bilgisayar dosyasının türü yalnızca "Dosya" olarak görünecektir.
  • Doğru sözdizimini takip ettiniz mi? Yanlışlıkla #yorumları gösteren bir hash ( ) satırına yanlışlıkla önek eklediniz mi ?
  • Tüm değişkenlere iyi baktınız mı ( www.example.comve example.com- sadece her ikisini de eklemek için en güvenli)?

3. Boşluk

Her satırın formatı IP address, sonra yatay bir sekmedir (kaçış kodu \t, ASCII HT, hex 0x09) veya tek bir boşluktur (onaltılık 0x20), sonra ana bilgisayar adı, yani. www.example.com, sonra nihayet bir satır başı izleyen bir satır başı (kaçış kodları \r\n, ASCII CRLF, hex 0x0d 0x0a).

Kontrol karakterlerini belirtmek için Unicode kontrol resimlerini kullanarak örnek girişler. (Bunları kopyalayıp ana makinenize yapıştırmayın!)

192.0.2.1␉www.example.com␍␊
2001:db8:8:4::2␉ipv6.example.com␍␊

Tek tek baytlar , hex editör eklentisiyle Notepad ++ ' da görüntülenebilir . Notepad ++ ayrıca özel karakterleri (Görünüm -> Sembolü Göster) gösterir; böylece boşluk karakterlerinin sayısını ve türünü kolayca denetleyebilirsiniz.

Ana bilgisayar girişlerini bir yerden kopyalayıp yapıştırdıysanız, birden çok boşluk bırakabilirsiniz. Teorik olarak, ana bilgisayarlar iki sütunu ayıran birden çok alanı destekler, ancak başka hiçbir şeyin işe yarayıp yaramadığını denemek için başka bir şeydir.

Güvenli tarafta olmak için, ana bilgisayar dosyanızdaki tüm satırların her ikisinin de değil, sekme veya boşluk kullandığından emin olun.

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ı var. Güya, Windows gerçekten ana bilgisayar dosyasını başka konumlara koymayı desteklemiyor, ancak kontrol etmek isteyebilirsiniz. Anahtar:

\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\DataBasePath

Giriş:

%SystemRoot%\System32\drivers\etc

5. İzinler

Bazen dosyada, dosya özniteliklerinde ve benzeri şeylerde izinlerle ilgili sorunlar olabilir. Dosyayı varsayılan izinlerle yeniden oluşturmak için:

  1. Masaüstünde yeni bir metin dosyası oluşturun.
  2. Geçerli konak dosyanızın içeriğini kopyalayıp Not Defteri'nde bu dosyaya yapıştırın.
  3. Yeni metin dosyasını kaydedin ve yeniden adlandırın hosts.
  4. Dosyayı dizine kopyalayın ( taşımayın ) %SystemRoot%\System32\drivers\etcve eski dosyanın üzerine yazın.

Son nokta önemlidir: Kopyalama çalışır, taşınmaz.

Yerel Usershesap , hosts dosyasını okuyabilmelidir . Emin olmak için (Windows 7’de):

  1. %SystemRoot%\System32\drivers\etcWindows Gezgini'nde gidin .
  2. Eğer göremiyorsan hostsdosyayı, gizli ve sistem dosyalarını görebilirsiniz sağlamak .
  3. hostsDosyaya sağ tıklayın Propertiesve içerik menüsünden seçim yapın.
  4. Gelen hosts Propertiespencerede, tıklayın Securitysekmesine.
  5. Group or user names:Kutudaki adların listesini inceleyin . Varsa %COMPUTERNAME%\Users, izinleri görüntülemek için üzerine tıklayın.
  6. Eğer Usersmevcut değil veya mevcut fakat yok Readiznine tıklayın Edit....
  7. Eğer yoksa Users, tıklayın Add..., yazın Users, tıklayın Check Namesve Tamam'a tıklayın veya Enter'a basın.
  8. Seçin Usersve sütunda Read & executekontrol edildiğinden emin olun Allow. Tamam'ı tıklayın. Bir Windows Securityuyarı kutusu açılırsa, Yesdevam etmeyi seçin .
  9. Pencereyi kapatmak için Tamam'a tıklayın hosts Properties.
  10. Bu cevabın 1. bölümüne gidin ve şimdi çalışıp çalışmadığını kontrol etmek için talimatları izleyin.

6. Kodlama

Anasistem dosyası ANSI veya UTF-8'de BOM olmadan kodlanmış olmalı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'yi kullanmamak veya bunu yapmayacak şekilde yapılandırmaktır.

Kontrol etmek için, Internet Explorer -> İnternet Seçenekleri -> Bağlantılar -> LAN ayarlarına gidin. Her şey boşsa ve "Ayarları otomatik olarak algıla" seçeneği işaretliyse, proxy kullanmazsınız.

Web'e erişmek için bir proxy’ye güveniyorsanız ve bu nedenle devre dışı bırakmak istemiyorsanız, Internet Explorer -> İnternet Seçenekleri -> Bağlantılar -> LAN ayarları -> Proxy Sunucu / Gelişmiş’e giderek istisnalar ekleyebilirsiniz. Ardından, istisnalarınızı İstisnalar metin kutusuna ekleyin. Örneğinlocalhost;127.0.0.1;*.dev

8. DNS adresi

(Bu, proxy sorunlarını da çözebilir.)

Ağ bağlantıları özelliklerine, 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’nizin IP’si olmalıdır.

Ana bilgisayar dosyasının çalışması için bu gerekli değildir , ancak bir şey garip bir şekilde yapılandırılmışsa sizin durumunuza yardımcı olabilir.

9. .local adresleri

Myhost.local biçiminde bir .local alan adı girişi kullanıyorsanız ve yok sayılırsa, lütfen aşağıdakileri deneyin

x.x.x.x myhost.local www.myhost.local

www.myhost.local olmasa bile. Windows bir şekilde çalışma grubunu veya yerel etki alanını eklemez.


3
Çok süper! Neredeyse ağlıyorum, birçoğumuz 2 satır arasındaki boş bir girişin başlangıcında bir YER için çıldırıyor. Teşekkür ederim Teşekkürler Teşekkürler Teşekkürler !!!!!

1
Başka bir sonuç ise, Windows'un 64 bit sürümlerinin System32 dizinini 32 bit uygulamalar için (örneğin Notepad ++ gibi) System32 dizinine yönlendirmesi, bu nedenle dosyayı kaydederken System32 yerine SystemWOW64 dizininde görünür. En iyi geçici çözüm, yalnızca 64 bit olan Not Defteri'nin Windows sürümünü kullanmaktır. İkincisi, 32 bitlik bir düzenleyici kullanıyorsanız dosyayı açmak için yönetimsel paylaşıma (\\ yourmachinename \ c $ \ Windows \ System32 \ drivers \ etc) bağlanmaktır.
Tim Lewis

4
İyi posta, ancak birkaç hata ile. 1) IE’deki “Ayarları otomatik olarak algıla” , eğer ağınız gerçekten proxy otomatik yapılandırma sağlıyorsa, bir proxy kullanmanıza (bilmeden bile) bir proxy kullanmanıza neden olabilir . 2) DNS sunucularınızı ağ ayarlarında hostsdeğiştirmek , dosyanın nasıl / ne zaman / eğer kullanıldığını ve bunun üzerinde bir DNS sunucusu çalıştırmadığınız sürece, 127.0.0.1 olarak değiştirmenin etkili bir hatadır. bilgisayar.
Massimo

1
# 5 (yeni bir dosya oluşturmak ve kopyalamak) benim için hile yaptı. Win7 izinleri ile eğlenceli olabilir.
chris

1
Ana bilgisayar dosyasını Cygwin altında vim kullanarak düzenledim, bunun ana bilgisayar dosyalarımın çalışmamasına neden olduğunu düşünüyorum. Yeni bir dosya oluşturmak zorunda kaldım ve önceki hosts dosyasının içeriğini kopyaladım ve onu düzelttim.
17'de

16

Önce ipadresi ve daha sonra "domain" yi girdiğinizden emin olun:

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

6
Tek bir satır kullanmayı tercih ederim:127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
Xhynk

1
Dikkatli olun, windows hosts dosyası yalnızca satır başına NINE OR LESS girişine izin verir! Bu beni ısırdı ve anlamaya biraz zaman aldı.
andrew

.devYerel olarak, hiçbir çarpışma olmayacağını düşünerek TLD'yi kullanmayın . Google’ın sahip olduğu geçerli bir genel global TLD'dir ve onu kullanırken çok sorun yaşayacaksınız. Bakınız ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hsts
Patrick Mevzek

Çaylak hatası, ama işe yaradı. Doh! geri adlarını sonra IP vardı
ransems

11

Lütfen kontrol dosyası izinlerini ekleyin. Bilgisayarda ve dolayısıyla ana bilgisayarlarda Yerel Yönetici haklarına sahip olduğum halde buldum. Yerel kullanıcıları okuma ve okuma ve çalıştırma ile ana bilgisayar dosya izinlerine ekleyene kadar ve sonra bir ipconfig / flushdns ana bilgisayarların etkin hale gelmesine kadar değildi.


3
Öyleydi! Yıllarca bu sorun karşısında şaşkınlığa uğradım . Eklediğim (machine)\USERSile okuyun ve okuyun ve yürütme izinleri ve sonra ipconfig /flushdnsişe yaradı. Çok teşekkür ederim. Sonunda ana bilgisayar dosyamı geri almaktan çok memnunum.
Clement Cherlin

7

Benim durumumda Windows 7'de oluşturulmuş dosyayı denedim: C: \ Windows \ System32 \ drivers \ etc \ hosts.ics.

hosts.ics:

# This file has been automatically generated for use by Microsoft Internet
# Connection Sharing. It contains the mappings of IP addresses to host names
# for the home network. Please do not make changes to the HOSTS.ICS file.
# Any changes may result in a loss of connectivity between machines on the
# local network.

Sonuç olarak, Windows C: \ Windows \ System32 \ drivers \ etc \ hosts dosyasındaki ayarları yoksayar ve hosts.ics dosyasından kullanır.


1
Gönderen support.microsoft.com/en-us/kb/309642/en-us eski belki artık doğru olmayabilir,: "Hosts.ics dosyası dinamik olarak yapılandırılmış müşteriler hakkında bilgi depolamak için ICS tarafından kullanılır değişiklik yapmaktan kaçının. bağlantı veya veri kaybını önlemek için bu dosyadır. Hosts dosyası (dosya adı uzantısı olmayan) statik olarak yapılandırılmış istemciler hakkında bilgi eklediğiniz dosyadır. " Bu nedenle, Windows'un mevcut olduğu için Hostsdosyayı görmezden gelmesini BEKLİYORUM Hosts.ics. Başka bir şey, Windows'un yanlış (ama gizli) bir uzantısı gibi, Hosts dosyalarınızı yoksaymasına neden olabilir.
Arjan,

1
Bu bilgiyi görüyorum. Ama bilmiyorum, neden sadece hostes'i çalıştırabiliyordum? Hosts.ics'i düzenlemeden önce, bu konudaki tüm yöntemleri denedim, ancak host çalışmıyor.
Unick

Teşekkürler! Hayatımı kurtardın. Windows 10 üzerinde çalıştı
Xatenev

3

Aynı sorunu yaşıyordum, ana bilgisayar dosya girdileri göz ardı ediliyor. Bu konudaki her şeyi ve daha birçok şeyi şanssız buldum. Buna başkasının gelmesi durumunda benim için neyin işe yaradığını gönderdiğimi düşündüm.

  1. Windows Gezgini'ni Yönetici olarak açın.
  2. Hosts dosyasını SİL
  3. Not Defteri'ni Yönetici olarak açın ve yeni bir ana bilgisayar dosyası oluşturun
  4. Sıfırdan başlayın ve girişleri ekleyin.
  5. Hosts dosyasının bir .txt uzantısına sahip olmadığından emin olun

Not: sadece hosts dosyasını açıp içeriği silmek, 0kb olduğunu doğrulamak ve yeniden eklemek işe yaramadı. Dosyadaki izinler sorunundan şüpheleniyorum.


hızlı not - sistem dosyalarını (ana bilgisayar dosyası gibi) değiştirirken, önce bir yedekleme oluşturmak akıllıca olacaktır. Veri kaybını önlemek için, bunun yerine mevcut ana hosts.bak
makine

1

Saatlerce harcadım, muhtemelen bu günlerde.

IBM Trusteer Endpoint Rapport güvenliği bu soruna neden olabilir.

Mysite.com'u güvenilir siteler listesine ekledim.

Güvenliğinin bir parçası olarak sizi kötü amaçlı yazılımların veya virüslerin sizi alternatif sitelere yönlendirmesini engelliyor.

Güvenilir siteler listesinin mysite aldı ve artık benim ev sahibi dosya yönlendirme kontrol ve "düzeltir".

Birinin problemlerini çözmesine yardımcı olacağını umuyorum.


1

Değerleri IP NAME, değil olarak girdiğinizden emin olun NAME IP.

Bu, örneğin, dosyada yalnızca bir giriş varsa ve yorum metni dikkate alınmadığında ortaya çıkabilir.


1

Yukarıdaki tartışmada kaçırılan sorunlardan biri, hosts dosyasındaki nitelenmemiş isimlerdir (nokta içermeyen isimler). Ağ ayarlarınız bu noktada devreye girebilir ve otomatik olarak kendi etki alanınızı niteliksiz bir etki alanının sonuna ekleyebilir. Sonuç olarak, isim tamamen farklı bir makineye çözülemeyebilir veya daha da kötüsü çözülemeyebilir.


0

Windows'ta HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePath, hosts dosyasının dizinine işaret ettiğinden emin olun.


0

Benim durumumda sorun, şifreli bir dizinden bir host dosyasını kopyalamak ve bununla etc / hosts dosyasını geçersiz kılmaktı. Özelliklere bakmak ve "dosyayı şifrele" onay kutusunun işaretini kaldırmak zorunda kaldım.


0

(Windows 7) dizüstü bilgisayarımda ağ bağlantısı kuruluncaya kadar ana bilgisayar dosyam yok sayılır. Bir ağa bağlandığımda her şey beklendiği gibi çalışıyor. Açıkçası, bir ağ olmadan ana bilgisayarlara ping yapamıyorum, ancak yine de Windows'un IP adreslerini ana bilgisayar dosyasından almasını bekliyordum. Öyle değil. Bağlantıyı kestikten sonra bile adresleri hala Tamam görünüyor, ancak bilgisayarı yeniden başlatmak ve bir ağa bağlanmak arasında ana bilgisayar dosyasını yok sayar.

(Bu arada, sekmeler, boşluklar ve satırbaşları yok, söyleyebileceğim kadarıyla alakasız).

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.