ホストファイルは無視されます。トラブルシューティングの方法は?


148

Windowsコンピューター上のhostsファイルは、特定の名前文字列を特定のIPアドレスにバインドして、他の名前解決方法をオーバーライドするために使用されます。

多くの場合、hostsファイルを変更することを決定し、変更が有効にならないこと、またはhostsファイルの古いエントリでさえ無視されることを発見します。いくつかの「落とし穴」の間違いがこれを引き起こす可能性があり、どの間違いを見つけるのがイライラする可能性があります。

Windowsがホストファイルを無視するという問題に直面した場合、従うことができる包括的なトラブルシューティングプロトコルは何ですか?


この質問には、HOSTSファイルが無視されるなど、SOで重複している

ただし、これらは特定のケースに対処する傾向があり、OPが犯した間違いが見つかると、議論は終了します。同じエラーを起こさなかった場合、そのような議論はあまり役に立ちません。したがって、すべてのケースをカバーするすべてのホスト関連の問題を解決するための一般的なプロトコルを用意する方が便利だと思いました。


11
また、誰かが他の場所に投稿したので、「nslookup」を使用してこれをテストしないでください。そのコマンドはhostsファイルを無視するからです。むしろ「ping」を使用します。
LatinSuD 14年

回答:


220

私自身の経験とグーグルで出会ったものに基づいて、試してみるべきものをいくつか紹介します。

1.正しく動作することを確認しましたか?

ホストへの変更はすぐに有効になりますが、Windowsは名前解決データをキャッシュするため、しばらくの間は古いレコードが使用されます。コマンドラインを開き(Windows + R cmd、Enter)、入力します:

ipconfig /flushdns

古いデータを削除します。動作するかどうかを確認するには、次のコマンドを使用します(www.example.comのホストにipv4エントリがあるか、ipv6.example.comのホストにipv6エントリがあると仮定します)。

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

そして、正しいIPを使用しているかどうかを確認します。はいの場合、hostsファイルは問題なく、問題は別の場所にあります。

また、次の方法でNetBiosキャッシュをリセットできます(管理者としてコンソールを開くと、失敗します)。

nbtstat -R

DNSキャッシュ内の現在のデータは次の方法で確認できます。

ipconfig /displaydns | more

2.基本

  • ホストファイルの名前は正しいですか?などである必要がhostsありますhost
  • 拡張子は正しいですか?拡張子を持たない(hostsないhosts.txt)必要があります-既知の拡張子を非表示にするようにウィンドウを設定している場合は注意してください。プロパティを確認してください。
  • 正しい構文に従っていましたか?#コメントを示すハッシュ()を誤って行の前に付けましたか?
  • (すべてのバリアントの世話をしましたwww.example.comし、example.com-ちょうど両方を追加する最も安全)?

3.空白

各行の形式は、、IP address次に水平タブ(エスケープコード\t、ASCII HT、hex 0x09)または単一スペース(hex 0x20)、次にホスト名です。www.example.com、最後にキャリッジリターンとそれに続くラインフィード(エスケープコード\r\n、ASCII CRLF、hex 0x0d 0x0a)。

Unicode制御画像を使用して制御文字を示すサンプルエントリ。(これらをコピーしてhostsファイルに貼り付けないでください!)

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

個々のバイトは、16進エディタープラグインを使用してNotepad ++で表示できます。Notepad ++は特殊文字も表示するため(表示->記号の表示)、空白文字の数と種類を簡単に調べることができます。

ホストエントリをどこかからコピーして貼り付けると、複数のスペースができてしまう可能性があります。理論的には、ホストは2つの列を区切る複数のスペースをサポートしますが、他に何も機能しない場合は試してみるのも別です。

安全のために、hostsファイル内のすべての行が、両方ではなくタブまたはスペースを使用していることを確認してください。

最後に、ファイルを空白行で終了します。

4.レジストリキー

ホストファイルの場所を指定するレジストリキーがあります。おそらく、Windowsは実際にはホストファイルを他の場所に置くことをサポートしていませんが、確認することをお勧めします。キーは次のとおりです。

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

エントリは次のとおりです。

%SystemRoot%\System32\drivers\etc

5.パーミッション

ファイルの許可、ファイル属性、および同様のものに問題がある場合があります。デフォルトの許可でファイルを再作成するには:

  1. デスクトップに新しいテキストファイルを作成します。
  2. 現在のホストファイルの内容をコピーして、メモ帳でこのファイルに貼り付けます。
  3. 新しいテキストファイルを保存し、名前をに変更しhostsます。
  4. ファイルをディレクトリにコピー(移動しない)し%SystemRoot%\System32\drivers\etc、古いファイルを上書きします。

最後の点は重要です。コピーは動作しますが、移動は動作しません。

ローカルUsersアカウントは、hostsファイルを読み取れる必要があります。確認するには(Windows 7の場合):

  1. 移動し%SystemRoot%\System32\drivers\etc、Windowsエクスプローラで。
  2. hostsファイルが表示されない場合は、隠しファイルとシステムファイルが表示されることを確認してください
  3. hostsファイルを右クリックしてProperties、コンテキストメニューから選択します。
  4. ではhosts Properties、ウィンドウ、をクリックしてSecurityタブ。
  5. Group or user names:ボックス内の名前のリストを調べます。存在する場合%COMPUTERNAME%\Usersは、クリックして権限を表示します。
  6. Users存在しない場合、または存在するがRead許可がない場合は、をクリックしますEdit...
  7. Users存在しない場合は、をクリックしてAdd...、を入力しUsers、をクリックしてCheck Names、OKをクリックするか、Enterを押します。
  8. を選択し、列でチェックされているUsersことRead & executeを確認しAllowます。OKをクリックします。Windows Security警告ボックスが表示されたら、Yes続行することを選択します。
  9. [OK]をクリックしてhosts Propertiesウィンドウを閉じます。
  10. この回答のセクション1に進み、指示に従って現在動作しているかどうかを確認してください。

6.エンコード

hostsファイルは、BOMなしでANSIまたはUTF-8でエンコードする必要があります。これは、[ファイル]-> [名前を付けて保存]で実行できます。

7.プロキシ

プロキシを設定している場合、hostsファイルをバイパスする場合があります。解決策は、プロキシを使用しないか、これを行わないように構成することです。

確認するには、Internet Explorer->インターネットオプション->接続-> LAN設定に進みます。すべてが空白で、「設定を自動的に検出する」がチェックされている場合、プロキシを使用していません。

Webにアクセスするためにプロキシに依存しているため、それを無効にしたくない場合は、Internet Explorer->インターネットオプション->接続-> LAN設定->プロキシサーバー/詳細に移動して、例外を追加できます。次に、[例外]テキストボックスに例外を追加します。例えばlocalhost;127.0.0.1;*.dev

8. DNSアドレス

(これにより、プロキシの問題も解決される場合があります。)

ネットワーク接続のプロパティに移動し、次にTCP / IP設定に移動して、最初のDNSサーバーを127.0.0.1(localhost)に変更します。2番目は、おそらく実際のDNSのIPであるはずです。

これはhostsファイルが機能するために必要ではありませんが、何かがおかしな設定になっている場合に役立つかもしれません。

9. .localアドレス

myhost.localの形式で.localドメインエントリを使用していて、無視される場合は、次を試してください。

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

www.myhost.localが存在しない場合でも。Windowsは、何らかの方法でワークグループまたはローカルドメインを追加しません。


3
本当にありがとうございます!私は泣きそうになっているので、多くの私たちは、2行の間に空白のエントリを始めてスペースに夢中になります。ありがとうありがとうありがとうありがとうありがとう!!!!!

1
もう1つの落とし穴は、64ビットバージョンのWindowsが32ビットアプリケーション(Notepad ++など)のSystem32フォルダーをリダイレクトするため、ファイルを保存するとSystem32ではなくSystemWOW64フォルダーに表示されることです。最善の回避策は、64ビットのWindowsバージョンのメモ帳を使用することです。2番目に最適なのは、32ビットエディターを使用する場合、管理共有(\\ yourmachinename \ c $ \ Windows \ System32 \ drivers \ etc)に接続してファイルを開くことです。
ティムルイス

4
良い投稿ですが、いくつかエラーがあります。1)ネットワークで実際にプロキシの自動構成が提供されている場合、IEの「設定を自動的に検出する」ことにより、(知らないうちに)プロキシを使用することができます。2)ネットワーク設定でDNSサーバーを変更しても、hostsファイルの使用方法/時期/ 使用とは関係なく、実際にDNSサーバーを実行している場合を除き、127.0.0.1に変更すると事実上エラーになりますコンピューター。
マッシモ14

1
#5(新しいファイルを作成してコピーする)が私にとってはうまくいきました。Win7は、パーミッションがおかしい場合があります。
クリス

1
vimを使用してCygwinの下でhostsファイルを編集しました。これにより、hostsファイルの問題が機能しなくなったと思います。新しいファイルを作成し、以前のhostsファイルの内容をコピーして修正しました。
forloop

16

次のように、最初にipaddressを入力し、次に「ドメイン」を入力したことを確認してください。

127.0.0.1   bo.dev
127.0.0.1   www.bo.dev

6
私は、単一の行を使用することを好む:127.0.0.1 bo.dev www.bo.dev ftp.bo.dev
Xhynk

1
Windowsホストファイルでは、1行につき9個またはそれ未満のエントリのみが許可されています。これは私に噛みつき、理解するのにしばらくかかりました。
アンドリュー

.dev衝突しないとローカルで考えているTLDを使用しないでください。これはGoogleが所有する有効な汎用グローバルTLDであり、これを使用すると多くの問題が発生します。ma.ttias.be/chrome-force-dev-domains-https-via-preloaded-hstsを
Patrick Mevzek

ルーキーの間違いですが、うまくいきました。ドッ!それらに逆方向の名前とIPがありました
18:11の

11

チェックファイルのアクセス許可を追加してください。コンピューター、つまりホストに対するLocal Admin権限を持っているにもかかわらず、私はそれを見つけました。ホストがアクティブになったのは、読み取りと読み取りと実行、そしてipconfig / flushdnsを使用してローカルファイルをホストファイルアクセス許可に追加するまでではありませんでした。


3
それでした!私は何年もこの問題に困惑してきた。私は追加(machine)\USERS読むと、読み取りと実行の権限をし、後にipconfig /flushdnsそれが働きました。どうもありがとうございます。ようやくhostsファイルが戻ってきてとても嬉しいです。
クレメントチャーリン

7

私の場合、Windows 7で作成されたファイル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.

その結果、WindowsはC:\ Windows \ System32 \ drivers \ etc \ hostsの設定を無視し、hosts.icsの設定を使用します。


1
support.microsoft.com/en-us/kb/309642/en-usから、これは古くなっているため、もはや正確ではない可能性があります。接続性またはデータの損失を防ぐためのこのファイル。Hostsファイル(ファイル名拡張子なし)は、静的に構成されたクライアントに関する情報を追加するファイルです。そのHostsため、Windows Hosts.icsが存在するという理由だけでファイルを無視するとは思わないでしょう。間違った(しかし隠された)拡張機能のように、WindowsがHostsファイルを無視する原因になっている可能性があります。
アルジャン

1
この情報が表示されます。しかし、hosts.icsを編集しただけでホストを機能させることができた理由はわかりません。hosts.icsを編集する前に、このトピックのすべての方法を試しましたが、hostsは機能しません。
ニック

ありがとう!あなたは私の命を救いました。Windows 10で動作
Xatenev

3

同じ問題が発生しており、hostsファイルのエントリは無視されます。私はこれと他の多くのスレッドですべてを試してみましたが、運はありませんでした。他の誰かがこれに遭遇した場合に私のために働いたものを投稿すると思いました。

  1. Windowsエクスプローラーを管理者として開きます
  2. hostsファイルを削除します
  3. 管理者としてメモ帳を開き、新しいホストファイルを作成します
  4. 最初から始めて、エントリを追加します。
  5. ホストファイルに.txt拡張子が付いていないことを確認してください

注:ホストファイルを開いてコンテンツを削除し、0kbであることを確認してから再度追加しても機能しませんでした。ファイルの権限の問題が疑われます。


簡単な注意-システムファイル(hostsファイルなど)を変更するときは、最初にバックアップを作成することをお勧めします。データの損失を避けるために、代わりに同じように、既存のhostsファイルの名前を変更を検討hosts.bakし、手順3で説明するように進む
nshiff

1

これに数時間、おそらく数日を費やしました。

IBM Trusteer Endpoint Rapportセキュリティがこの問題を引き起こす可能性があります。

mysite.comを信頼済みサイトのリストに追加しました。

セキュリティの一環として、マルウェアやウイルスが別のサイトに誘導されるのを防ぎます。

信頼済みサイトのリストからmysiteを取得しましたが、ホストファイルの宛先変更をチェックおよび「修正」しなくなりました。

誰かが問題を解決するのに役立つことを願っています。


1

値をとしてIP NAMEではなくとして入力したことを確認してくださいNAME IP

これは、ファイルにエントリが1つしかない場合や、コメントアウトテキストを無視した場合に発生する可能性があります。


1

上記の説明で見落としていた問題の1つは、hostsファイル内の非修飾名(ピリオドを含まない名前)です。その時点でネットワーク設定が有効になり、非修飾ドメインの末尾に独自のドメインが自動的に追加される場合があります。その結果、名前が解決されないか、さらに悪いことに、まったく異なるマシンに解決される場合があります。


0

Windowsでは、HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Services \ Tcpip \ Parameters \ DataBasePathがhostsファイルのディレクトリを指していることを確認してください。


0

私の場合、問題は暗号化されたディレクトリからホストファイルをコピーし、それでetc / hostsを上書きすることでした。プロパティを確認し、「ファイルの暗号化」チェックボックスをオフにする必要がありました。


0

(Windows 7)ラップトップにネットワーク接続するまで、hostsファイルは無視されます。ネットワークに接続すると、すべてが期待どおりに機能します。明らかに、ネットワークなしではホストなどにpingを実行できませんが、WindowsがhostsファイルからIPアドレスを取得することを期待していました。そうではありません。切断した後でもアドレスを検索できますが、コンピューターを再起動してから最初にネットワークに接続するまでの間、hostsファイルは無視されます。

(ちなみに、タブ、スペース、キャリッジリターンなしはすべて、私が知る限り無関係です)。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.