/ etc / hostsの変更が正しく機能しません。何をすべきか?


10

これらの行をホストファイルに追加しました。

127.0.0.1 localhost adobe.com
127.0.0.1 adobe.com

それは窓で完全に働きます。しかし、Ubuntu 11.10では、Firefoxを使用してアクセスしようとすると、Webサイトが開きます。

/ etc / hosts構成をサポートするGoogle Chrome。Google Chromeが表示されています:

「動作します!これはこのサーバーのデフォルトのWebページです。Webサーバーソフトウェアは実行中ですが、まだコンテンツが追加されていません。」

回答:


10

ChromeとFirefoxの両方で、Firefoxのみに影響を与えると思われる問題を確認できました。これは、同じ問題の影響を受けるユーザー、および両方またはすべてのブラウザーの影響を受けるユーザーに対する回答です。これを正しく機能させるには、次の手順に従ってください。あなたがすでに/etc/hostsファイルを編集していると仮定して、ファイルを編集するには次の2つの方法をお勧めします。

  • Geditの- gksudo gedit /etc/hosts(あなたが今、ファイルを編集するGUIに優しい方法を持っているgksudoを提供gksuのが公式18.04以降のリポジトリに廃止されます。)。
  • nano- sudo nano /etc/hosts(これで、ファイルを編集するための端末フレンドリーな方法があります。)

そしてあなたは例えば:

127.0.0.1 localhost adobe.com

または

127.0.0.1 localhost
127.0.0.1 adobe.com

(どちらも同じものです。)

最初にこれをテストして、ターミナルから正しく機能しているかどうかを確認します。入力するping adobe.comと、IP割り当てから応答します。この場合、127.0.0.1で応答するはずです。それは大丈夫ということです。

次に、ブラウザーのテストを続行します。あなたはChromeをテストし、それはうまくいきました。/etc/hostsadobe.comのエントリの有無を切り替え、変更するたびに機能しました。しかし、Firefoxを使用した場合は、最初は正常に機能していた可能性がありhostsますが、ファイルを変更した後、どういうわけか機能しなくなります。これは、キャッシュの問題または正しい名前の解決の問題であることを意味します。

Firefoxの場合、名前を解決すると、Firefoxはプレフィックスwwwをadobe Webサイトに追加するため、この "www.adobe.com"のようになりますが、Chromeでは、この "adobe.com"のようになります。どちらも同じ場所を指しており、wwwプレフィックスは、訪問している場所がWebサービスであることを伝えるためだけにあります。しかし、問題が発生した場合は、hostsFirefoxにプレフィックスwwwを追加すると機能するように、ファイルに追加する必要があります。したがって、次のようになります。

127.0.0.1 localhost
127.0.0.1 adobe.com www.adobe.com

またはまったく同じ

127.0.0.1 localhost adobe.com www.adobe.com

注:を押しF5てサイト/ Firefoxのタブを更新するか、タブを閉じてからもう一度開いてテストする必要があります。どういうわけかEnterクレイジーなように押すことはできません。

これで一部のユーザーの問題は解決するはずですが、これまでにまだ問題を解決していない場合は、何ができるかをテストできます。

ここで、チェックするキャッシュのレベルをいくつか取得しました。あなたはあなたのプログラムキャッシュ、この場合はFirefox、あなたはあなたのシステムキャッシュ、この場合はUbuntu、そしてあなたはあなたのハードウェアキャッシュ、この場合はあなたのルーターを手に入れました。

私の知る限り、UbuntuデスクトップバージョンにはデフォルトでDNSキャッシュサービスがインストールされていません。最も一般的に知られているのはnscdで、これがインストールされていれば、シンプルで十分/etc/init.d/nscd restartです。しかし、ほとんどの人にとって、これはインストールされないので、Ubuntuシステムの障害を却下することができます。

ルーターとウェブブラウザはそのままです。ルーターの場合、DNSキャッシュを停止するように構成するか、この問題を解決するために再構成する必要があります。これは完全にルーターのモデル、製造元などに依存します。すべてのルーターがDNSキャッシュを実行するわけではありませんが、一部のルーターはDNSキャッシュを実行します。ただし、DNSキャッシュ対応ルーターがないと仮定します。

これはブラウザから離れます。

FirefoxがDNSキャッシュに問題があるかどうかを確認するには、アドオンをインストールして、FirefoxのDNSキャッシュをチェックします。私がお勧めするのはDNSキャッシュです。

ここに画像の説明を入力してください

Firefoxを再起動すると、下部に歯車が表示されます(右上隅のUbuntu歯車と同様)。Cogを左クリックまたは右クリックすると、DNSの有効化/無効化やフラッシュなどのオプションが表示されます。これは、Firefox DNSキャッシュに問題がある場合に役立ちます。それで遊びます。

私はあなたがそれを解決できるすべての方法を得たと思います。見逃した場合はお知らせください。


Firefoxがローカルマシンのhostsファイルを尊重しない場合(つまり、wwwサブドメインを持つドメインが追加された後、およびページが更新された後でも問題が引き続き発生する場合)、それをバグとして報告することをお勧めします。(私はそれはバグではどうなるかわからない中で、FirefoxがおそらくオペレーティングシステムのDNS解決機能、使用しているので、やるのか、になっていることを尊重し、。しかし、あなたはに対してそれを報告できfirefoxUbuntuのでは、その後、さらにトラブルシューティングが可能性が高い可能性そこからターゲットを変更します。)
Eliah Kagan 2013

@EliahKaganまた、ホスティング/ドメインの場所と方法にも依存します。wwwサブドメインの使用を有効にするオプションを提供するサイトと、事前に構成されていないサイトがあるため、www.eliah.comにアクセスしようとしても機能しませんが、eliah.comは機能します。
Luis Alvarado 2013年

はい、もちろん。機能するからといって機能するwww.foo.netはずだと言っているのではありませんfoo.net。場合はむしろ、foo.netwww.foo.netの両方に定義されています127.0.0.1/etc/hosts、次のように入力しfoo.net、Webブラウザのアドレスバーに入力したと押すとへの接続を開こうとするブラウザを生じるはずです127.0.0.1:80。そうでない場合は、どこかにバグがあります。
Eliah Kagan 2013

@EliahKagan-ああ!はいはいもちろん。その場合、それが機能しない場合、コンピュータは悪魔に所有されています。私達はエクソシストとたくさんの聖なる水か問題のより良い診断が必要です。
Luis Alvarado

エクソシスト+聖水より良い診断は、最も賢明なコースのようです。:)
Eliah Kagan 2013

7

このスレッドが1年前のものであることは知っていますが、まったく同じ問題の答えを探すために偶然見つけました。ようやく解決策を見つけました!ターンアウト/etc/hostsファイルが完全にDNSによってバイパスされています。これを変更するには、編集する必要/etc/nsswitch.confと含まfileshosts。以下の例:

passwd:         compat
group:          compat
shadow:         compat

hosts:          dns files myhostname <-- this line here.
networks:       files

protocols:      db files
services:       db files
ethers:         db files
rpc:            db files

netgroup:       nis

これにより、/etc/hostsファイルが名前解決チェックに含まれるようになります。最初にDNSをチェックし、次にhostsファイルをチェックします。OPがこの情報を必要としなくなったと私は確信していますが、これはこの問題の答えを探している人にとってはまだ良いことです。

これを有効にするには、再起動する必要もあります


Ubuntu 12.04に「ファイルmdns4_minimal [NOTFOUND = return] dns mdns4」がありますが、/ etc / hostsがまだ機能しません...別の問題が発生しているようです。
Shnatsel 2013年

完全なコードを貼り付けられますか?
Sam Chonburi

ここでは、完全な設定ファイルです:pastebin.com/hDBGrrwn私は、これはUbuntuの12.04でのデフォルトであると仮定
Shnatsel

すべてが正しく見えます。あなたがやろうとしていることは何ですか?
Sam Chonburi

わかりませんでした。この行に何を追加しますか?/etc/hostshosts?または何?
Hi-Angel

2

私はetc/hosts、ブラウザ自体よりもネットワーキングソフトウェアスタックの多くの愛好家レベルで使用されていると思います。つまり、そのファイルの変更はすべてのブラウザに影響します。

表示されているのは、FirefoxがDNSエントリをキャッシュした結果である可能性があります。つまり、FirefoxでWebサイトを開いた場合、Firefoxはadobe.comドメインに対応するIPアドレスを記憶し/etc/hosts、ページを変更して再ロードしました-Firefox は新しいDNSクエリを発行しません代わりにキャッシュされたデータを使用します。次にChromeを開くと、新しいDNSクエリが作成さ/etc/hostsれ、adobe.comのIPアドレスとして入力したものが使用されます

Firefoxを再起動すると問題が解決するはずです。


2

すべての答えは素晴らしいですが、それを修正する最短の方法は次のとおりです。

/ etc / hostsを変更した後(そしておそらくFirefoxを再起動した後)、問題のあるタブをでリロードしますCtrl+Shift+R。これは、Firefoxが持つ可能性があるすべてのタイプのキャッシュをバイパスします。


1

私の問題は、同じドメイン名に複数のエントリがあったことです。システムは最初の発生のみを見ました。

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK

0

あなたは試すことができます:

  1. / etc / hostsファイルを編集します。
  2. 次の行を追加

     # /etc/hosts
     127.0.0.1  localhost
     127.0.1.1  myhost01
     127.0.1.2  myhost02
    

0

Ubuntu 14.04では、/ etc / hostsファイルを変更して、1行あたり1つのホストのみが機能するようにしましたが、IPホストホストhostで作業するのに何時間も苦労しました。


0

Ubuntuのさまざまなバージョンで同じ問題が発生しました。最新のものは17.04と16.04に醜い頭を飼育した。hostsファイルを次のようにフォーマットする必要があることがわかりました。

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

つまり、wwwを含めずにURLをURLに挿入する必要があります。なぜこれが機能するのか私にはわかりません。ファイルを保存し、次のようにURLにpingするだけです。

ping www.facebook.com

そしてそれはあなたが望むループバックアドレスまたは他のアドレスに解決するはずです。

80.82.xxx.xxx www.example.com example.com

私のために働いた。

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