/ etc / hosts не работает должным образом. Что делать?

После многих попыток добавление acpi_osi= в командную строку ядра в GRUB исправило мою проблему. Для справки в будущем:

Чтобы дать это одноразовую попытку

Удерживайте SHIFT во время загрузки (это заставляет вас в меню GRUB, если оно пропущено по умолчанию). Поместите курсор на монетный двор (обычно первый) и нажмите e, чтобы отредактировать его. Добавьте acpi_osi к параметрам в строке, начинающейся с «linux» (обычно после quiet nosplash)

Если это работает, вам нужно (! d9)

Чтобы дать это одноразовую попытку

Удерживайте SHIFT во время загрузки ( это приземляет вас в меню GRUB, если его пропустили по умолчанию) Запустите grub-update как root

Надеюсь, что это поможет кому-то

9
задан 8 April 2012 в 02:46

8 ответов

Я могу подтвердить вашу проблему, что она, похоже, влияет, как между браузером Chrome, так и Firefox, только firefox. Это ответ для пользователей, затронутых одной и той же проблемой, и если они затронуты обоими / всеми браузерами. Выполните следующие действия, чтобы обеспечить правильную работу. Предполагая, что вы уже отредактировали файл /etc/hosts, на который я рекомендую следующие два способа редактирования файла:

Gedit Way - gksudo gedit /etc/hosts (Теперь у вас есть удобный способ редактирования файла). Nano Way - sudo nano /etc/hosts (Теперь у вас есть дружественный к терминалу способ редактирования файла)

И у вас есть, например:

127.0.0.1 localhost adobe.com

OR

127.0.0.1 localhost
127.0.0.1 adobe.com

(Оба - одно и то же)

Сначала вы проверите это, чтобы убедиться, что он правильно работает с терминалом. Введите ping adobe.com, и он должен ответить от назначенного ему IP. В этом случае он должен ответить 127.0.0.1. Это означает, что все в порядке.

Затем мы продолжим тесты браузера. Вы протестировали Chrome, и он сработал. Вы изменили /etc/hosts между наличием и отсутствием записи для adobe.com, и он работал каждый раз, когда вы его изменили. Но тогда вы пошли с firefox, это, возможно, сработало в первый раз, но после изменения файла hosts туда и обратно он как-то перестает работать. Это означает проблему с кешем или проблему с правильным именем.

В случае Firefox и разрешения имени Firefox добавляет префикс www на сайт adobe, поэтому он выглядит так: «www. adobe.com ", но в Chrome это выглядит как" adobe.com ". Они оба указывают на одно и то же место, и префикс www находится там, чтобы сообщить вам, что место, которое вы посещаете, - это веб-сервис. Но в случае вашей проблемы вам нужно добавить это в файл hosts, чтобы Firefox добавил префикс 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

ПРИМЕЧАНИЕ. Помните, что вы должны нажать www , чтобы обновить сайт / firefox или закрыть вкладку и снова открыть ее для тестирования.

Это должно решить проблему для некоторых пользователей, но до сих пор вы все еще не решили проблему, мы можем проверить, что это может быть.

Мы получили здесь пару уровней кэша для проверки. У вас есть ваш кэш программ, в данном случае Firefox, тогда у вас есть системный кэш, в данном случае Ubuntu, а затем у вас есть свой аппаратный кеш, в данном случае ваш маршрутизатор.

Для чего я знаю, Версия Ubuntu Desktop по умолчанию не имеет службы кэширования DNS. Наиболее известным является nscd, и если бы у вас было установлено, что будет установлен простой /etc/init.d/nscd restart. Но для большинства людей они не будут установлены. Поэтому мы можем отменить ошибку системы Ubuntu.

Это оставляет маршрутизатор и браузер. В случае с маршрутизатором вам придется настроить его, чтобы остановить кеш DNS или перенастроить его для решения этой проблемы. Это полностью зависит от модели маршрутизатора, производителя и т. Д. Не все маршрутизаторы используют DNS-кеш, но некоторые из них делают это, и вам нужно будет увидеть его в конфигурации, если у него есть этот параметр, и если этот параметр включен. Но предположим, что у вас нет маршрутизатора с включенным кэшированием DNS.

Это оставляет браузер.

Чтобы узнать, плохо ли Firefox в DNS-кэше, вы можете установить аддон для проверьте кеш DNS в Firefox.

После перезапуска Firefox вы должны увидеть шестерню внизу (похожую на Ubuntu cog в верхнем правом углу). Вы можете щелкнуть левой кнопкой мыши или щелкнуть правой кнопкой мыши по Cog, и вы увидите такие параметры, как Enable / Disable DNS и Flush it. Это поможет в случае, если проблема связана с DNS-кэшем Firefox. Играйте с ним.

Я думаю, что у меня есть все способы, которыми вы могли бы это решить. Если я пропустил что-то, дайте мне знать.

9
ответ дан 25 May 2018 в 12:54
  • 1
    Если Firefox не уважает файл hosts локальной машины (то есть, если проблема по-прежнему возникает даже после того, как домен с добавлением поддомена www добавлен и даже после обновления страницы), я рекомендую сообщить об этом как об ошибке , (Я не уверен, что это будет ошибкой в , поскольку Firefox предположительно использует средства разрешения DNS для операционной системы, которые делают или должны их уважать. Но вы можете сообщить об этом против firefox в Ubuntu, а затем дальнейшее устранение неполадок могло бы перенаправить его оттуда). – Eliah Kagan 9 January 2013 в 15:01
  • 2
    @EliahKagan Это также зависит от того, где и как находится хостинг / домен. Некоторые сайты предлагают возможность включить использование субдомена www, а некоторые из них не настроены заранее, поэтому, когда вы пытались перейти на сайт www.eliah.com, он не работает, но eliah.com делает это. – Luis Alvarado♦ 9 January 2013 в 19:21
  • 3
    Да, конечно. Я не говорю, что www.foo.net должен работать только потому, что работает foo.net. Скорее, если foo.net и www.foo.net определены в 127.0.0.1 в /etc/hosts, набрав foo.net в адресной строке веб-браузера и нажав enter, вы должны заставить браузер попытаться открыть соединение с . Если это не так, есть ошибка. – Eliah Kagan 9 January 2013 в 19:25
  • 4
    @EliahKagan - Ах! да, конечно. В этом случае, если он не работает, компьютер обладает демоном. Нам понадобился бы экзорцист и много святой воды или лучшая диагностика проблемы. – Luis Alvarado♦ 9 January 2013 в 19:28
  • 5
    Экзорцист + священная вода и лучшая диагностика кажется самым разумным курсом. :) – Eliah Kagan 9 January 2013 в 19:35

[ДАННЫЕ РАБОТЫ!]

Я знаю, что эта тема - год, но я наткнулся на нее, ища ответы на ту же проблему. Я наконец нашел решение! Оказывается, что файл /etc/hosts полностью отключен DNS. Чтобы изменить это, вы должны отредактировать /etc/nsswitch.conf и включить files в [F5]. Пример ниже:

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 больше не нуждается в этой информации, но это все равно хорошо для тех, кто ищет ответы на эту проблему.

6
ответ дан 25 May 2018 в 12:54
  • 1
    У меня есть "файлы mdns4_minimal [NOTFOUND = return] dns mdns4 " там, на Ubuntu 12.04, но / etc / hosts все еще не работает ... похоже, что у меня другая проблема. – Shnatsel 28 October 2013 в 21:11
  • 2
    Можете ли вы вставить полный код? – Sam Chonburi 29 October 2013 в 02:55
  • 3
    Вот полный файл конфигурации: pastebin.com/hDBGrrwn Я полагаю, что это значение по умолчанию для Ubuntu 12.04 – Shnatsel 30 October 2013 в 03:58
  • 4
    Все выглядит правильно. Что вы пытаетесь сделать? – Sam Chonburi 31 October 2013 в 04:00
  • 5
    У меня не получилось: что мне добавить в эту строку? [F1]? [F2]? Или что? – Hi-Angel 30 September 2014 в 17:42

Я полагаю, что etc/hosts используется на большом уровне любовника в стеке сетевых программ, чем сам браузер. То есть изменения в этом файле должны влиять на любой браузер.

То, что вы видите, может быть результатом кэширования DNS-записей в Firefox - то есть вы открыли веб-сайт в Firefox, Firefox запоминает IP-адрес, соответствующий домену adobe.com , вы изменили /etc/hosts и перезагрузили страницу - Firefox не выдает новый DNS-запрос и вместо этого использует кэшированные данные. Затем вы открываете Chrome, он создает новый DNS-запрос и использует все, что вы ввели в /etc/hosts, в качестве IP-адреса для adobe.com

Перезапуск Firefox должен устранить проблему.

2
ответ дан 25 May 2018 в 12:54

Все ответы велики, но самый короткий способ его исправить:

после изменения / etc / hosts (и, возможно, перезапуска Firefox) перезагрузите проблемную вкладку с помощью Ctrl+Shift+R. Он будет обходить любой тип кеша, который может иметь Firefox.

1
ответ дан 25 May 2018 в 12:54

Моя проблема была в том, что у меня было несколько записей для того же имени домена. Система увидела только первое появление.

127.0.0.1 domain1.com domain2.com domain3.com # <-- WENT UNNOTICED
# .
# .
192.168.1.21 domain1.com # <-- DOESN'T WORK
1
ответ дан 25 May 2018 в 12:54

Не могли бы вы попробовать:

Изменить файл / etc / hosts. Добавить следующие строки
 # /etc/hosts
 127.0.0.1  localhost
 127.0.1.1  myhost01
 127.0.1.2  myhost02
0
ответ дан 25 May 2018 в 12:54

в Ubuntu 14.04, изменяя файл / etc / hosts, чтобы иметь только один хост для каждой строки, работал на меня, я много часов работал с хостом хоста IP хоста, чем менялся на IP-хост на каждой строке, и он работал>. & lt;

0
ответ дан 25 May 2018 в 12:54

У меня была эта же проблема в разных версиях Ubuntu. Самый последний поднял свою уродливую голову 17.04 и 16.04. Я обнаружил, что мне пришлось отформатировать файл hosts следующим образом:

127.0.0.1 localhost

127.0.0.1 www.facebook.com facebook.com

т.е. вам нужно поместить URL-адрес как на www, так и без него. Я понятия не имею, почему это работает. Просто сохраните файл, а затем выполните ping url, как в:

ping www.facebook.com

, и он должен разрешить адрес loopback или любой другой адрес, который вы хотите.eg:

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

Работал для меня.

0
ответ дан 25 May 2018 в 12:54

Другие вопросы по тегам:

Похожие вопросы: